Wie wechsle ich über das Terminal zu einem bereits laufenden Programm?
Zum Beispiel:
firefox
öffnet ein neues Firefox-Fenster.
Gibt es einen Befehl, der das bereits geöffnete Firefox-Fenster fokussiert?
command-line
Kunok
quelle
quelle
Antworten:
Als Einzeiler
Angenommen, Sie haben wmctrl installiert (ausführen,
sudo apt-get install wmctrl
wenn nicht):Der Befehl:
Würde das zuletzt geöffnete
gedit
Fenster öffnen . Ersetzen Sie es durch eine andere Anwendung.Erläuterung
bekommt die pid von gedit
listet alle Fenster und die PID auf, zu der sie gehören
spaltet die Fenster-ID ab (die erste Zeichenfolge in der Zeile)
findet daher die Fenster-ID des zuletzt erstellten Fensters von
gedit
(die Ausgabe vonwmctrl -lp
listet die Fenster in einer chronologischen Reihenfolge der Erstellung auf, wenn die Anwendung mehrere Fenster hat,tail -1
gibt sie das letzte zurück).anschließend hebt das Fenster durch seine
window-id
In einem kleinen Skript
... mit der Anwendung als Argument ausgeführt werden:
switchto.sh
Führen Sie es aus als (z.
Alternativen?
Theoretisch der Befehl:
sollte das Gleiche tun; In diesem Fall sollte das erste gefundene Fenster von geöffnet
gedit
werden.Es scheint jedoch weniger robust. Auf meinem System (Unity) hat es überhaupt nichts getan.
quelle
Wenn Sie Firefox mit ausgeführt haben
firefox &
, könnenjobs
Sie dessen Nummer anzeigen . Um es in den Vordergrund zu bringen, schreiben Sie,%n firefox
wasn
für seine Nummer steht. Beispiel:Sie können das Programm auch "töten":
quelle