GUI-Programme lesen nicht von ihrer Standardeingabe, sondern erhalten ihre Eingabe vom X-Server . Es gibt Werkzeuge, um einen Tastendruck in ein Fenster einzufügen. xdotool ist ziemlich verbreitet und praktisch.
Sie müssen die Fenster-ID finden, an die Sie den Tastenanschlag senden möchten. Das können Sie mit xdotool machen. xdotool search --class Chrome
Gibt die Liste der Fenster-IDs aller Chrome-Fenster zurück. Wenn dies mehr als eins ergibt, müssen Sie das gewünschte auswählen. Sie können xdotool search --name
anstelle der Klasse eine Übereinstimmung für den Titel verwenden. Sie können auch die Ausgabe von wmctrl analysieren und die gewünschte Fenster-ID extrahieren.
Sobald Sie die richtige Fenster-ID gefunden haben, können Sie xdotool
einen Tastendruck eingeben. Leider lehnen viele Anwendungen synthetische Ereignisse ab, dh Tastenanschläge und Mausereignisse, die von einer anderen Anwendung gesendet wurden. Dies ist bei aktuellen Chrome-Versionen der Fall. Es ist möglich, einen Tastenanschlag aus einer anderen Anwendung über einen anderen Mechanismus einzugeben, aber dazu muss das Fenster fokussiert sein. All das können Sie mit xdotool tun, aber dadurch flackert der Fokus schnell im Chrome-Fenster und zurück. Das folgende Snippet sendet F5an das erste Chrome-Fenster (in einer etwas willkürlichen Reihenfolge).
xdotool search --class Chrome windowactivate --sync %1 key F5 windowactivate $(xdotool getactivewindow)
Oder mit älteren Versionen von xdotool:
xdotool windowactivate $(xdotool search --class Chrome) &&
xdotool key F5 &&
xdotool windowactivate $(xdotool getactivewindow)
Denken Sie daran, dass dies F5an dieses Fenster gesendet wird und das Programm entscheiden muss, was damit geschehen soll. In Chrome wird der aktuelle Tab neu geladen.