Как запустить потоковое приложение из терминала
Я использую 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+rxargs -I {}Постройте и выполните команду
xdotoolxdotool windowactivate --sync {} key ctrl+rwindowactivateАктивируйте окно.
syncПосле отправки активации окна подождите, пока окно фактически не активируется.
{}xargsзаменяет{}с идентификатором окнаkey ctrl+rотправляет ярлык Ctrl+R