Как запустить потоковое приложение из терминала

Я использую Streamus для потоковой передачи музыки с вашей трубки. Я хочу знать, можно ли запустить streamus с самого терминала. Я задал этот вопрос на основном сайте программного обеспечения, и автор рекомендовал использовать xdotool для него. Я установил xdotool (sudo apt-get install xdotool), а также может успешно открыть приложение.

У меня в основном две проблемы

  1. Перезагрузка приложения
  2. Игра из приложения

Проблема в том, что после открытия приложения оно просто показывает пустой экран. Я должен использовать ctrl+r Чтобы перезагрузить приложение, чтобы автоматизировать его, я использовал xdotool. Это мой сценарий.

 /usr/bin/chromium-browser --disable-gpu --enable-offline-auto-reload --enable-offline-auto-reload-visible-only --app=chrome-extension://jbnkffmindojffecdhbbmekbmkkfpmjd/foreground.html & xdotool key ctrl+r

Но кажется, что xdotools не работает и не перезагружает приложение? А также вы можете помочь мне с воспроизведением песен из приложения.

1 ответ

Решение

TL;DR Сценарий не может работать, потому что этот ярлык будет отправлен в активное окно, а это не так chromium-browser с Streamus,


Это ваша перезагрузка xdotool команда:

xdotool search --limit 1 --name "^Streamus$" | xargs -I {} xdotool windowactivate --sync {} key ctrl+r

Полная команда в вашем случае:

/usr/bin/chromium-browser --disable-gpu --enable-offline-auto-reload --enable-offline-auto-reload-visible-only --app=chrome-extension://jbnkffmindojffecdhbbmekbmkkfpmjd/foreground.html & xdotool search --limit 1 --name "^Streamus$" | xargs -I {} xdotool windowactivate --sync {} key ctrl+r

Выполнение ярлыка может быть несколько отложено с sleep 1:

/usr/bin/chromium-browser --disable-gpu --enable-offline-auto-reload --enable-offline-auto-reload-visible-only --app=chrome-extension://jbnkffmindojffecdhbbmekbmkkfpmjd/foreground.html & sleep 1; xdotool search --limit 1 --name "^Streamus$"| xargs -I {} xdotool windowactivate --sync {} key ctrl+r

Это ваша игра / пауза xdotool команда:

xdotool search --limit 1 --name "^Streamus$" | xargs -I {} xdotool windowactivate --sync {} key alt+z

Пример сценария:

Чтобы запустить Streamus, перезагрузите компьютер и нажмите "play"

#!/bin/bash

# Start Streamus
/usr/bin/chromium-browser --disable-gpu --enable-offline-auto-reload --enable-offline-auto-reload-visible-only --app=chrome-extension://jbnkffmindojffecdhbbmekbmkkfpmjd/foreground.html &

# Wait three seconds to finish the previous command
sleep 3

WID=$(xdotool search --limit 1 --name "^Streamus$")

# Refresh the page
xdotool windowactivate --sync "$WID" key ctrl+r

# Wait three seconds to update the page (Ctrl+R).
sleep 3

# "Press" Play
xdotool windowactivate --sync "$WID" key alt+z

Объяснение:

  • xdotool search --limit 1 --name "^Streamus$"

    • search

      Ищите окна с заголовками, именами или классами с шаблоном регулярного выражения.

    • limit N

      Остановите поиск после нахождения N соответствующих окон. Указание лимита поможет ускорить поиск, если вы хотите получить только несколько результатов.

    • --name

      Сопоставьте с именем окна. Это та же самая строка, которая отображается в заголовке окна.

  • xargs -I {} xdotool windowactivate --sync {} key ctrl+r

    • xargs -I {}

      Постройте и выполните команду xdotool

    • xdotool windowactivate --sync {} key ctrl+r

      • windowactivate

        Активируйте окно.

      • sync

        После отправки активации окна подождите, пока окно фактически не активируется.

      • {}

        xargs заменяет {} с идентификатором окна

      • key ctrl+r

        отправляет ярлык Ctrl+R

Другие вопросы по тегам