
Я знаю, что это gnome-terminal
откроет новое окно, но мне интересно, есть ли способ открыть новую вкладку, а не просто новое окно?
После этого есть ли способ передать команду новому окну, например
gnome-terminal && cd /
Что приведет к
- Открытие нового терминала
- Затем запускается новый терминал
cd /
[Изменить] Эти ответы скажут, как передать cmds на другой терминал, но не ответят, как открыть новыйВКЛАДКА. Это то, что мне нужно, я не хочу, чтобы было открыто больше одного терминала.
решение1
GNOME Terminal
не предлагает универсального решения командной строки для открытия новой вкладки в уже существующем окне.
(Почему? Потому что этоможетиметь несколько открытых окон, и он не будет знать, в каком из них открыть новую вкладку. Вы можете сказатьты(только одно окно, но если бы такая функция была реализована, программное обеспечение должно было бы быть последовательным и делать что-то разумное при наличии нескольких окон, чего оно на самом деле сделать не могло.)
Хаки, такие как имитация нажатия пользователем клавиши, существуют, как уже было сказано в ответе, но работают только под X.Org, а не под Wayland.
Начиная с будущей версии 3.28, команда gnome-terminal --tab
откроет новую вкладку в окне терминала GNOME, откуда она выполняется,еслиэта команда выполняется из Терминала GNOME.
(Как он узнает, в каком окне открывать новую вкладку в этом случае? Он узнает это, заранее установив определенную переменную среды на разное значение в каждом из открываемых им терминалов. Эта переменная среды позволяет ему найти нужное окно.)
Итак, в вашем конкретном случае вы могли бы сделать следующее:
gnome-terminal --tab -- bash -c 'cd /; exec bash'
Таким образом, вы получите запущенную оболочку в новой вкладке после cd /
завершения. Если вы только что сделали gnome-terminal --tab -- some command
, то вкладка закроется сразу после some command
выхода. При использовании bash -c 'some command; exec bash'
вместо этого вкладка будет иметь запущенный bash
процесс после some command
завершения.
решение2
Вы должны имитировать нажатие shift+ ctrl+ Tв терминале. Существуют программы, которые это делают:
Если вы хотите сделать это из командной строки
Например, вы можете использовать xdotool
программу, которая позволяет имитировать ввод с клавиатуры.
sudo apt-get install xdotool
затем введите в терминале:
xdotool key ctrl+shift+t
Это будет имитировать нажатие комбинации клавиш.