Я удивлен, что существуют различия между запуском $COMMAND в xterm и запуском xterm -e $COMMAND .

Как пример: если я запускаю tmux как программу в xterm , я получаю другое поведение, чем когда я запускаю tmux в работающем экземпляре xterm . В частности, vim получает разные цвета (вызов в xterm запущенного tmux ведет себя в соответствии с моей конфигурацией vim+tmux+xterm, тогда как запуск в xterm -e tmux дает ненастроенные цвета).

Я не пытаюсь исправить ситуацию с tmux - я здесь не для этого. Я хочу точно знать, когда у меня возникнут проблемы между выполнением команды в xterm и выполнением команды с помощью xterm -e $COMMAND чтобы я мог оценить, хочу ли я использовать xterm в качестве графического интерфейса для ярлыков для терминальные приложения вообще.

В чем разница между xterm -e $COMMAND и xterm -> $COMMAND?

1 ответ1

0

Когда вы запускаете xterm -e $COMMAND, он не запускает вашу оболочку (которая выполняет инициализацию). Он просто запускает $COMMAND (без запуска оболочки).

Страница руководства говорит

   -e program [ arguments ... ]
           This option specifies the program (and its command line
           arguments) to be run in the xterm window.

и позже

   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".

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .