我用斯特里马斯从 YouTube 流式传输音乐。我想知道是否可以从终端本身启动 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
总结该脚本无法运行,因为该快捷方式将被发送到活动窗口,而这不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
{}
用窗口 ID替换key ctrl+r
发送快捷方式Ctrl+R