Выполнить команду в другом (новом) окне терминала

Как запустить любую команду в другом окне терминала?

Пример: Я открыл одно окно терминала, и если я выполню команду, подобную apropos editor, затем он запускается и выходит из этого окна. Но я хочу запустить ту же команду в другом окне терминала (новое окно) вместо этого в текущем окне из первый терминал.

Дополнительные разъяснения:
Мне нужно suggest-command <command> это откроет новое окно терминала и запустит упомянутый <command> в этом (недавно открытом) окне. (где suggest-command это пример предложения команды.)

Как это сделать?

Это может быть то, что вы ищете:

gnome-terminal -e "bash -c \"!!; exec bash\""

или (вкратце):

gnome-terminal -x sh -c "!!; bash"

Он открывает gnome-терминал с вашей последней командой (!!) выполнен , и это остается открывайте с помощью команды, выводимой в командной оболочке, даже с помощью интерактивной команды, такой как top или less...

В вашем случае его:

gnome-terminal -e "bash -c \"apropos editor; exec bash\""

или

gnome-terminal -x sh -c "apropos editor; bash"

Запустите другой экземпляр любого терминала, который вы хотите запустить:

xterm -hold -e 'apropos editor' & 

Обратите внимание на -hold. Большинство терминалов завершат работу после выполнения команды, которую вы им передаете. На сайте уже есть около дюжины вопросов по этому поводу:

Альтернативой этому является использование приложения, из которого необходимо выйти. nano будет оставаться открытым сам по себе. Если вы просто выводите данные на экран, вы могли бы передать их в less:

xterm -e 'apropos editor | less' & 

Тем не менее, в вашем случае (как сказали двое других) кажется проще, если вы просто откроете другой терминал и запустите свою команду.

Каждый терминал - это даже программа, которую вы можете запустить как любую другую программу, с & чтобы поместить в фоновый режим, предоставив список аргументов и так далее.

Какой терминал использовать, зависит сначала от доступности используемой вами системы (установлены они или нет), затем от их особенностей, а затем от вашего личного вкуса.

  konsole   --hold -e "ls" &    xterm      -hold -e "ls" &    gnome-terminal   -e "ls" & ...  

Обратите внимание на различия между -hold от xterm и --hold от konsole.

Каждая реализация имеет различные варианты это вы должны проверить с помощью справки.Даже помощь может быть вызвана по-другому. Вы можете найти это man konsole не работает, и поэтому вы должны обратиться непосредственно к исполняемому файлу с --help.

Это список терминалов, которые вы можете искать в своей системе

aterm          - AfterStep terminal with transparency supportgnome-terminal - default terminal for GNOMEguake          - A dropdown terminal for GNOMEkonsole        - default terminal for KDEKuake          - a dropdown terminal for KDEmrxvt          - Multi-tabbed rxvt clonerxvt           - for the X Window System (and, in the form of a Cygwin port,                  for Windows) rxvt-unicode   - rxvt clone with unicode supportxfce4-terminal - default terminal for Xfce desktop                  environment with dropdown supportTerminator     - is a GPL terminal emulator. It is available on                 Microsoft Windows, Mac OS X, Linux and other Unix X11 systems.Terminology    - enhanced terminal supportive of multimedia                  and text manipulation for X11 and Linux framebuffertilda          - A drop down terminalwterm          - It is a fork of rxvt, designed to be lightweight, but still                 full of featuresxterm          - default terminal for the X Window SystemYakuake        - (Yet Another Kuake), a dropdown terminal for KDE
  1. Откройте два терминала.
  2. Идентификация каждого терминала с помощью tty команда.
  3. Предположим, они отождествляли себя с /dev/pts/0 и /dev/pts/1.
  4. В терминале pts/0 перенаправляет stdout на pts/1 с помощью exec команда: exec 1>/dev/pts/1
  5. Теперь каждая команда stdout, выводимая с терминала pts/0, отображается в pts/1.
  6. Перенаправление обратно stdout с помощью команды: exec 1>/dev/pts/0
  7. Теперь stdout pts/0 работает, как и раньше.

Вы могли бы использовать -e опция для gnome-терминала следующим образом:

gnome-terminal -e 'sh -c propose editor'

Здесь sh это оболочка, которую открывает gnome-terminal. Обратите внимание, что это приведет к выходу из терминала, как только команда завершится. Ссылаться на страница руководства для gnome-терминала для большего.

После Ubuntu 18.04 LTS вы можете переключиться с -e к --, то есть gnome-terminal -e к gnome-terminal -- потому что -e и -x оба они устарели.

Вот мои 50 центов с Терминатором:

terminator -x "script.sh; bash"

Это тоже работает, но я не могу сказать вам, в чем разница:

terminator -e "script.sh; bash"

Обратите внимание, что сценарий также может быть командой.

Протестировано на Ubuntu 18.04 LTS.

Так что я знаю, что это опоздало примерно на 7 лет, но для тех, кто еще видит это, это все равно должно быть полезно. У меня тоже была такая же проблема, но я нашел решение, которое, на мой взгляд, лучше, чем то, что предлагал кто-либо другой.

По man gnome-terminal вы можете просто выполнить gnome-terminal -- sh -c '<your command>'

То -- sh позволяет ему запускать реальные скрипты вместо приложений, так что это было бы все равно, что вводить его в обычное окно. Единственное, что следует отметить в этом решении, - это то, что терминал завершит работу после завершения выполнения команды.

Надеюсь, это поможет!

Щелкните правой кнопкой мыши на значке терминала и нажмите “Открыть новый терминал”.

Извините, если я звучу как ламен, но это то, что я понял из вашего вопроса.

потому что это может быть сделано с помощью задания cron или другой программы-робота.

gnome-терминал правильно?

Хотя открытие нового терминала может решить вашу проблему, вы также можете просто использовать nohup, перенаправить вывод и перевести редактор в фоновый режим. nohup по поводу редактора &> /dev/null &

Я тоже не понимаю: почему бы не открыть новый терминал?