Ich bin überrascht, dass es Unterschiede gibt zwischen der Führung eines$COMMAND
In xterm
und läuft xterm -e $COMMAND
.
Als Beispiel: Wenn ich tmux
als Programm innerhalb ausführe xterm
, erhalte ich ein anderes Verhalten, als wenn ich es tmux
in einer laufenden xterm
Instanz aufrufe. Insbesondere vim
erhält es andere Farben (der Aufruf innerhalb eines laufenden xterm
verhält tmux
sich entsprechend meiner vim+tmux+xterm-Konfiguration, während die Ausführung in einem xterm -e tmux
nicht konfigurierte Farben ergibt).
Ich versuche nicht, das tmux
Problem speziell zu beheben – das ist nicht der Grund, warum ich hier bin. Ich möchte genau wissen, wann ich zwischen der Ausführung eines Befehls in xterm
und der Ausführung eines Befehls über Probleme haben werde, damit ich selbst beurteilen kann, ob ich es überhaupt als grafische Benutzeroberfläche für Verknüpfungen zu Terminalanwendungen xterm -e $COMMAND
verwenden möchte .xterm
Was ist der Unterschied zwischen xterm -e $COMMAND
und xterm
--> $COMMAND
?
Antwort1
Wenn du rennstxterm -e $COMMAND
, es läuft nicht IhreHülse(das die Initialisierung durchführt). Es läuft einfach$COMMAND
(ohne denHülse).
DerHandbuchseitesagt
-e program [ arguments ... ]
This option specifies the program (and its command line
arguments) to be run in the xterm window.
Undspäter
XTERM_SHELL
is set to the pathname of the program which is invoked. Usually
that is a shell program, e.g., /bin/sh. Since it is not
necessarily a shell program however, it is distinct from "SHELL".