Команда для запуска нового терминала или новой вкладки, если она существует

Команда для запуска нового терминала или новой вкладки, если она существует

У меня есть сочетание клавиш, назначенное для запуска этой команды gnome-terminal(я использую Fedora 27).

Хотелось бы, чтобы эта клавиша открывала новый терминал, если ни один терминал не открыт, но открывала новую вкладку в существующем окне терминала, если окно терминала уже открыто.

Какой приказ нужно дать, чтобы это сделать?

решение1

Я не совсем уверен насчет Fedora, но в CentOS команда открытия нового окна терминала с вкладками выполняется, Ctrl+Shift+tкогда выбрано окно терминала! Что касается открытия нового окна, вам придется привязать это, как вы сделали!

решение2

Вам понадобится способ обнаружить работающий терминал и отправить ключи в это окно. Их несколько. Я бы посоветовал вам xdotool ( sudo dnf install xdotoolдля Fedora)

#!/bin/sh
EW=$(xdotool search --onlyvisible --classname Gnome-terminal|head -1)

if [[ -z  $EW ]]
then
 gnome-terminal &
else
 xdotool windowactivate --sync  $EW
 xdotool key --clearmodifiers ctrl+shift+t
fi

Поместите этот код выше, скажем, в файл ~/bin/gterm, а затем сделайте так:chmod 0755 ~/bin/gterm

После этого команда gterm готова. Более того, вы можете привязать ее к ярлыку.

решение3

osascript -e 'tell app "Terminal"
    do script "echo hello"
end tell'

Это открывает новый терминал и выполняет в нем команду «echo hello».

Источник

решение4

Я думал, как вы сказали вкомментарий

gnome-terminal

введите описание изображения здесь

Если вы запустите код, он откроет другой terminalиз существующегоterminal

Связанный контент