Принудительно открывать каждый новый терминал в новой вкладке

8

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

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

РЕДАКТИРОВАТЬ Ладно, так что прошло много времени, и мой Linux linux значительно улучшился. Таким образом, текущее решение этой ситуации для меня использовалось tmux. Он немного более продвинутый, чем обычные терминалы и вкладки, но как только я освоился (около часа попыток), я очень доволен тем, как все происходит.

Прежде всего, я позаботился о том, чтобы при открытии терминала с помощью ctrl-alt-ttmux он открывался по умолчанию. Это может быть достигнуто путем добавления следующей строки в ваш .bashrcфайл после всех псевдонимов:

[[ $TERM != "screen" ]] && exec 'tmux

Теперь каждый раз, когда вы порождаете терминал, использующий ctrl-alt-tвас, вам будет представлен символ tmux.

Чтобы убедиться, что у вас открыт только один терминал, я сделал следующее:

Прежде всего, вы можете заново подключить сеанс tmux, запустив его tmux attach -d. Это отключит всех других клиентов, подключенных к этому сеансу. Это прекрасно работает, если вы являетесь единственным человеком, использующим сеансы.

Но если у вас не запущен сеанс, он скажет, что не нашел ни одного сеанса. Поэтому вам нужно что-то вроде if (nosession) {tmux} else {tmux attach -d}. Для этого создайте и добавьте в ваш ~/.tmux.confфайл следующую строку:

#if run as "tmux attach", create a session if one does not already exist
new-session -n $HOST

(Благодаря этому посту )

В моем .bashrcфайле я изменил ранее добавленную строку на следующую:

[[ $TERM != "screen" ]] && exec 'tmux attach -d'

Это отсоединяет всех других клиентов от tmuxсеанса. Когда вы это сделаете, все остальные терминалы закроются. Они закрываются, потому что эта строка также гарантирует, что когда вы открываете терминал (ctrl-alt-t), он немедленно запускает сеанс tmux.

Ergo, attach -dубивает другие сессии. Так что это самое близкое исправление, которое я мог получить, и я довольно доволен этим! :)

Единственное, что мне все-таки хотелось бы, - это то, что при нажатии ctrl-alt-tон открывает мой текущий сеанс, а также создает новое окно. Я еще не понял, так что не стесняйтесь помогать!

Кристоф Де Тройер
источник
Нажмите Ctrl + Shift + T, чтобы открыть вкладку в терминале.
Анкур Хандельвал
Да, я знаю об этом. Однако, как я уже сказал, я часто открываю вкладки из каталога, используя плагин «Открыть терминал здесь» (это по умолчанию в Xubuntu, например). Они открывают новое окно. Я хотел бы, чтобы они открывались как новая вкладка в уже существующем окне терминала.
Кристоф Де Тройер

Ответы:

3

К сожалению, открытие новых вкладок в существующем сеансе gnome-терминала уже несколько лет востребовано - см. Здесь .

Хотя можно было бы что-то взломать. Например, этот ответ дает возможность открыть новую вкладку в текущем окне gnome-терминала.

Джейми
источник
Отлично. +1 за ссылку на отчет об ошибке. Я могу только рекомендовать всем нажать на ссылку «это касается и меня» сверху, чтобы привлечь к этому внимание. Также +1 за хак. Отличный ответ!
Кристоф Де Тройер