![Как запустить приложение streamus из терминала](https://rvso.com/image/1126815/%D0%9A%D0%B0%D0%BA%20%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D1%82%D0%B8%D1%82%D1%8C%20%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5%20streamus%20%D0%B8%D0%B7%20%D1%82%D0%B5%D1%80%D0%BC%D0%B8%D0%BD%D0%B0%D0%BB%D0%B0.png)
я используюСтримусдля потоковой передачи музыки с you tube. Я хочу узнать, можно ли запустить 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, перезагрузите и нажмите «Воспроизвести».
#!/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