Befehl zum Öffnen einer neuen Registerkarte im aktuellen Terminal und Übergeben des Befehls zur Ausführung auf der neuen Registerkarte

Befehl zum Öffnen einer neuen Registerkarte im aktuellen Terminal und Übergeben des Befehls zur Ausführung auf der neuen Registerkarte

Ich weiß, dass dadurch gnome-terminalein 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:

  1. Neues Terminal eröffnet
  2. Anschließend läuft das neue Terminalcd /

[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 Terminalbietet 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 commanddem Beenden geschlossen. Wenn Sie stattdessen verwenden , wird die Registerkarte nach Abschluss bash -c 'some command; exec bash'einen laufenden bashProzess 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 xdotoolein 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.

verwandte Informationen