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

Вопрос или проблема

У меня есть комбинация клавиш, которая связана с выполнением команды gnome-terminal (я на Fedora 27).

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

Какая команда для этого потребуется?

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

Вам понадобится способ определить работающий терминал и отправить клавиши в это окно. Их несколько.
Я бы посоветовал вам использовать 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 готова. Кроме того, вы можете привязать ее к комбинации клавиш.

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

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

Источник

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

gnome-terminal

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

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

Ответ или решение

Чтобы создать скрипт, который будет открывать новое окно терминала или новую вкладку в существующем окне терминала на Fedora 27, вам необходимо использовать несколько инструментов и простую логику управления окнами. В данной инструкции я расскажу вам, как это сделать пошагово.

Шаг 1: Установите необходимый инструмент

Для начала вам понадобится установить xdotool, который позволит вам управлять окнами и отправлять нажатия клавиш. Это можно сделать с помощью следующей команды в терминале:

sudo dnf install xdotool

Шаг 2: Создайте скрипт

Теперь вам нужно создать скрипт, который будет выполнять необходимую проверку и запускать нужные команды. Откройте текстовый редактор и создайте файл, например gterm в директории ~/bin/:

mkdir -p ~/bin
nano ~/bin/gterm

Теперь вставьте в файл следующий код:

#!/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

Шаг 3: Дайте скрипту права на выполнение

После создания скрипта не забудьте установить на него права на выполнение, выполнив команду:

chmod 0755 ~/bin/gterm

Шаг 4: Настройте сочетание клавиш

Теперь вы можете привязать выполненный вами скрипт к сочетанию клавиш. Обычно это делается в настройках системы:

  1. Перейдите в «Настройки» → «Клавиатура» → «Сочетания клавиш».
  2. Здесь добавьте новое сочетание клавиш и введите путь к вашему скрипту, то есть ~/bin/gterm.

Заключение

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

Если у вас будут дополнительные вопросы или возникнут трудности, не стесняйтесь обращаться за помощью!

Оцените материал
Добавить комментарий

Капча загружается...