
ich benutzeStreamusum Musik von YouTube zu streamen. Ich möchte wissen, ob Streamus direkt vom Terminal aus gestartet werden kann. Ich habe diese Frage auf der Hauptsoftwareseite gestellt und der Autor hat empfohlen, dafür xdotool zu verwenden. Ich habe xdotool ( sudo apt-get install xdotool
) installiert und konnte die App auch erfolgreich öffnen.
Ich habe hauptsächlich zwei Probleme
- Neuladen der App
- Spielen über die App
Das Problem ist, dass nach dem Öffnen der App nur ein leerer Bildschirm angezeigt wird. Ich muss ctrl+r
die App neu laden. Um das zu automatisieren, habe ich xdotool verwendet. Dies ist mein Skript.
/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
Aber es scheint, dass xdotools nicht funktioniert und die App nicht neu lädt? Und können Sie mir auch beim Abspielen von Songs aus der App helfen?
Antwort1
Kurz zusammengefasstDas Skript kann nicht funktionieren, da die Verknüpfung an das aktive Fenster gesendet wird und das nicht chromium-browser
mit möglich ist Streamus
.
Dies ist deinneu laden xdotool
Befehl:
xdotool search --limit 1 --name "^Streamus$" | xargs -I {} xdotool windowactivate --sync {} key ctrl+r
Der vollständige Befehl lautet in Ihrem Fall:
/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
Die Ausführung der Verknüpfung kann mit etwas verzögert werden 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
Dies ist deinSpielpause xdotool
Befehl:
xdotool search --limit 1 --name "^Streamus$" | xargs -I {} xdotool windowactivate --sync {} key alt+z
Ein Beispielskript:
Um Streamus zu starten, laden Sie neu und drücken Sie „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
Erläuterung:
xdotool search --limit 1 --name "^Streamus$"
search
Suchen Sie mit einem regulären Ausdrucksmuster nach Fenstern mit Titeln, Namen oder Klassen.
limit N
Beenden Sie die Suche, nachdem Sie N passende Fenster gefunden haben. Wenn Sie nur wenige Ergebnisse wünschen, können Sie die Suche beschleunigen, indem Sie ein Limit angeben.
--name
Übereinstimmung mit dem Fensternamen. Dies ist dieselbe Zeichenfolge, die in der Titelleiste des Fensters angezeigt wird.
xargs -I {} xdotool windowactivate --sync {} key ctrl+r
xargs -I {}
Erstellen und Ausführen des Befehls
xdotool
xdotool windowactivate --sync {} key ctrl+r
windowactivate
Aktivieren Sie das Fenster.
sync
Warten Sie nach dem Senden der Fensteraktivierung, bis das Fenster tatsächlich aktiviert wird.
{}
xargs
ersetzt{}
durch die Fenster-IDkey ctrl+r
sendet die Verknüpfung Ctrl+R