
Ich weiß also, dass ein neues Fenster geöffnet wird, wenn ich „gnome-terminal“ oder „xterm“ eingebe. Dann habe ich die Manpage für diese beiden überprüft und nichts Relevantes gefunden.
Dann habe ich festgestellt, dass es unter Mac möglich ist, das Programm zu öffnen. Aber unter Linux scheint es nicht ganz so einfach zu sein.
Hat jemand Erfahrung?
Antwort1
Aktualisieren:Die neue empfohlene Syntax lautet:
gnome-terminal -- bash -c "<mein Befehl oder Skript>; exec bash"
- Wenn Sie mit dem obigen Befehl das Home-Verzeichnis des Benutzers erreichen möchten, verwenden Sie die Umgebungsvariable
$HOME
:bash -c "cd $HOME/; ..."
Wenn Sie sich ansehenman gnome-terminal
(und gnome-terminal --help
) die Optionen -x
und -e
sind verfügbar (und es steht nicht explizit, dass sie veraltet sind), aber alle Beispiele dort werden durch die oben angegebene Syntax gegeben.
Ich würde lieber die Option verwenden -x
, die zuverlässiger funktioniert als -e
:
gnome-terminal -x bash -c "<my command or script>; exec bash"
Die Option
-x
bedeutet--execute
- der Rest der Befehlszeile im Terminal.Und unser Befehl ist
bash -c "<commands>"
. Das bedeutet, dass wir eine neuebash
Shell ausführen, die einige ausführen sollte-c "<commands>"
.Wir haben zwei, getrennt (durch Semikolon
; == new line
)<commands>
.Der erste
<my command or script>
gewünschte Befehl wird ausgeführt.Der zweite Befehl
exec bash
hat eine Bedeutung - das aktuelle Fenster offen haltengnome-terminal
. Es gibtweitere mögliche Ansätzeum das zu tun. Im aktuellen Fallexec
wird der Befehldas aktuelle Prozessabbild durch ein neues Prozessabbild ersetzenbash
- mit anderen Worten, es wird den aktuellen Prozess „beenden“ und einen neuen ( ) unter der aktuellen PID ausführen .
Weitere Beispiele für die Verwendung dieses Formats:
- Öffnen Sie ein neues Terminal und Quellskripte
- Starten Sie Gnome-Terminal von einer SSH-Sitzung zur Desktop-Sitzung
- Beim Systemstart ein bestimmtes Terminal starten
- Crontab- und C-Programm, das in einem Terminalfenster ausgeführt werden soll
- Xdotool minimiert das Terminalfenster nicht, wenn es beim PC-Booten in der Startanwendung verwendet wird?
Antwort2
Ein anderer Ansatz, bei dem das Fenster geöffnet bleibt, ist die Verwendung von xterm:
xterm -hold -e cmd
Die Hold-Option hält das Fenster geöffnet.
Antwort3
gnome-terminal -e cmd
öffnet ein Terminalfenster und wird cmd
darin ausgeführt.
Antwort4
Sie können dies einfach tun CTRLALTTund ein neues Terminal öffnen.
Versuchengnome-terminal -e "bash -c command;bash"