
Ich weiß, dass dadurch gnome-terminal
ein neues Fenster geöffnet wird. Ich frage mich, ob es eine Möglichkeit gibt, eine neue Registerkarte und nicht nur ein neues Fenster zu öffnen.
Gibt es danach eine Möglichkeit, einen Befehl an das neue Fenster weiterzugeben, zum Beispiel
gnome-terminal && cd /
Das Ergebnis wird sein:
- Neues Terminal eröffnet
- Anschließend läuft das neue Terminal
cd /
[Bearbeiten] In diesen Antworten wird beschrieben, wie man cmds an ein anderes Terminal übergibt. Es wird jedoch nicht beschrieben, wie man ein neues Terminal öffnet.TAB. Das ist es, was ich will. Ich möchte nicht, dass mehr als ein Terminal geöffnet ist.
Antwort1
GNOME Terminal
bietet keine allgemeine Befehlszeilenlösung zum Öffnen einer neuen Registerkarte in einem bereits vorhandenen Fenster.
(Warum? Weil esMaimehrere Fenster geöffnet haben und nicht wissen, in welchem Fenster der neue Tab geöffnet werden soll. Man könnte sagenDunur ein Fenster haben, aber wenn eine solche Funktion implementiert würde, müsste die Software konsistent sein und etwas Vernünftiges tun, wenn sie mehrere Fenster hätte, was sie nicht wirklich tun könnte.)
Hacks, wie etwa das Simulieren eines Tastendrucks durch den Benutzer, existieren gemäß einer bereits eingereichten Antwort, funktionieren jedoch nur unter X.Org, nicht unter Wayland.
Ab der kommenden Version 3.28 gnome-terminal --tab
öffnet der Befehl eine neue Registerkarte im GNOME-Terminalfenster, von wo aus dieser Befehl ausgeführt wird.WennDieser Befehl wird vom GNOME-Terminal aus ausgeführt.
(Woher weiß es in diesem Fall, in welchem Fenster die neue Registerkarte geöffnet werden soll? Es weiß es, indem es im Voraus eine bestimmte Umgebungsvariable in jedem der geöffneten Terminals auf einen anderen Wert setzt. Mit dieser Umgebungsvariable kann es das gewünschte Fenster finden.)
In Ihrem speziellen Fall könnten Sie also Folgendes tun:
gnome-terminal --tab -- bash -c 'cd /; exec bash'
Auf diese Weise erhalten Sie eine laufende Shell in der neuen Registerkarte, sobald der cd /
abgeschlossen ist. Wenn Sie gerade getan haben gnome-terminal --tab -- some command
, wird die Registerkarte unmittelbar nach some command
dem Beenden geschlossen. Wenn Sie stattdessen verwenden , wird die Registerkarte nach Abschluss bash -c 'some command; exec bash'
einen laufenden bash
Prozess haben.some command
Antwort2
shiftSie müssen das Drücken von + ctrl+ Tim Terminal simulieren . Es gibt Programme, die das tun:
Wenn Sie es über die Befehlszeile tun möchten
Sie können beispielsweise xdotool
ein Programm verwenden, mit dem Sie Tastatureingaben simulieren können.
sudo apt-get install xdotool
dann im Terminal eingeben:
xdotool key ctrl+shift+t
Dadurch wird das Drücken der Tastenkombination simuliert.