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

Таким образом, я знаю, ввожу ли я терминал гнома или xterm, новое окно будет высунуто. Затем я проверил страницу справочника на эти два, ничто соответствующее не нашло.

Затем я заметил под Mac, можно сделать это с открытой программой. Но это кажется в соответствии с Linux дело не в этом тривиальный.

У кого-либо есть опыт?

10
задан 9 November 2017 в 19:17

4 ответа

Я бы предпочел использовать параметр -x , который обеспечивает более надежную работу, чем -e :

gnome-terminal -x bash -c "<my command or script>; exec bash"
  • Параметр -x означает - выполнить - оставшуюся часть командной строки внутри терминала.

  • И наша команда bash -c "<команды > ". Это означает, что мы выполняем новую оболочку bash , которая должна запускать некоторые -c "" .

  • У нас есть два разделенных (точкой с запятой ; == new строка ) <команды> .

  • Первая команда <моя команда или сценарий> выполнит то, что мы хотим.

  • Вторая команда exec bash имеет значение - оставаться открытым в текущем окне gnome-terminal . Есть другие возможные подходы для этого. В текущем случае команда exec заменит текущий образ процесса новым образом процесса - другими словами, он «убьет» текущий процесс и выполнит новый ( bash ) с текущим PID.


Обновление: Синтаксис -x / -e теперь устарел - Ubuntu 18.04. Новый рекомендуемый способ:

gnome-terminal -- bash -c "<my command or script>; exec bash"
  • Если вы хотите получить доступ к домашнему каталогу пользователей с помощью приведенной выше команды, используйте переменную среды $ HOME : bash -c "cd $ HOME /; ... "

Дополнительные примеры использования этого формата:

17
ответ дан 2 December 2019 в 01:54

gnome-terminal -e cmd откроет окно терминала и запустит в нем cmd .

0
ответ дан 2 December 2019 в 01:54

Вы можете просто ввести CTRL ALT T , и вы откроете новый терминал.

Попробуйте gnome-terminal -e " bash -c command; bash "

1
ответ дан 2 December 2019 в 01:54

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

xterm -hold -e cmd

Параметр удержания сохраняет окно открытым.

0
ответ дан 2 December 2019 в 01:54

Другие вопросы по тегам:

Похожие вопросы: