Befehl zum Starten eines neuen Terminals oder einer neuen Registerkarte, falls vorhanden

Befehl zum Starten eines neuen Terminals oder einer neuen Registerkarte, falls vorhanden

Ich habe eine Tastenkombination, die der Ausführung des Befehls zugeordnet ist gnome-terminal(ich verwende Fedora 27).

Ich wünschte, diese Taste würde ein neues Terminal öffnen, wenn kein Terminal geöffnet ist, aber eine neue Registerkarte im vorhandenen Terminalfenster öffnen, wenn bereits ein Terminalfenster geöffnet ist.

Wie lautet der Befehl dazu?

Antwort1

Bei Fedora bin ich mir nicht ganz sicher, aber unter CentOS erfolgt der Befehl zum Öffnen eines neuen Terminalfensters mit Registerkarten, Ctrl+Shift+twenn das Terminalfenster ausgewählt ist! Was das Öffnen eines neuen Fensters betrifft, müssen Sie das binden, wie Sie es getan haben!

Antwort2

Sie benötigen eine Möglichkeit, ein laufendes Terminal zu erkennen und Tasten an dieses Fenster zu senden. Davon gibt es mehrere. Ich würde Ihnen xdotool ( sudo dnf install xdotoolfür Fedora) empfehlen.

#!/bin/sh
EW=$(xdotool search --onlyvisible --classname Gnome-terminal|head -1)

if [[ -z  $EW ]]
then
 gnome-terminal &
else
 xdotool windowactivate --sync  $EW
 xdotool key --clearmodifiers ctrl+shift+t
fi

Fügen Sie den obigen Code beispielsweise in die Datei ~/bin/gterm ein und führen Sie dannchmod 0755 ~/bin/gterm

Anschließend ist der gterm-Befehl bereit. Außerdem können Sie ihn an eine Verknüpfung binden.

Antwort3

osascript -e 'tell app "Terminal"
    do script "echo hello"
end tell'

Dadurch wird ein neues Terminal geöffnet und darin der Befehl „echo hello“ ausgeführt.

Quelle

Antwort4

Ich dachte, wie Sie sagten inder Kommentar

gnome-terminal

Bildbeschreibung hier eingeben

Wenn Sie den Code ausführen, wird ein anderer Code terminalaus einem bestehenden geöffnet.terminal

verwandte Informationen