如何从终端运行streamus应用程序

我使用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没有工作,它没有重新加载应用程序? 你也可以帮我播放应用程序中的歌曲。

TL; DR脚本无法工作,因为该快捷方式将被发送到活动窗口,而不是使用Streamus chromium-browser


这是你的reload 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用窗口id替换{}

      • key ctrl+r

        发送快捷键Ctrl + R.