wie kann ich eine zusätzliche Konsole öffnen und darin mit einem Befehl ein Programm ausführen?

wie kann ich eine zusätzliche Konsole öffnen und darin mit einem Befehl ein Programm ausführen?

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 -xund -esind 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 -xbedeutet--execute - der Rest der Befehlszeile im Terminal.

  • Und unser Befehl ist bash -c "<commands>". Das bedeutet, dass wir eine neue bashShell 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 bashhat eine Bedeutung - das aktuelle Fenster offen halten gnome-terminal. Es gibtweitere mögliche Ansätzeum das zu tun. Im aktuellen Fall execwird 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:

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 cmddarin ausgeführt.

Antwort4

Sie können dies einfach tun CTRLALTTund ein neues Terminal öffnen.

Versuchengnome-terminal -e "bash -c command;bash"

verwandte Informationen