Как запустить потоковое приложение из терминала
Я использую Streamus для потоковой передачи музыки с вашей трубки. Я хочу знать, можно ли запустить streamus с самого терминала. Я задал этот вопрос на основном сайте программного обеспечения, и автор рекомендовал использовать xdotool для него. Я установил xdotool (sudo apt-get install xdotool
), а также может успешно открыть приложение.
У меня в основном две проблемы
- Перезагрузка приложения
- Игра из приложения
Проблема в том, что после открытия приложения оно просто показывает пустой экран. Я должен использовать 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