Как отобразить более 1 терминала одновременно

46

Иногда, когда я работаю, я использую более одного терминала, и мне неудобно переключаться между ними, когда все они вызываются с помощью Ctrl+ Alt+ T. Есть ли какая-либо программа или терминал, который после запуска предоставил бы мне 4 независимых терминала, каждый из которых занимал бы ¼ экрана, позволяя легко переключаться между ними, например, с помощью Tabклавиши?

Аль Банди
источник
2
Просто измените размеры окон терминала, чтобы они все подходили к углу экрана. Терминал также может иметь вкладки, которые могут помочь. Щелкните правой кнопкой мыши по окну и выберите New Tab.
TheWanderer
2
[TAB]Клавиша уже используется для автоматического сдачи в терминале. Если бы вы могли выбирать экземпляры, например [ALT]+[TAB], было бы проще использовать позиционированные окна вместо этого, как предлагает @ Zacharee1.
Петр Нерлих,
2
Если вы очень серьезно относитесь к этому, проверьте некоторые оконные менеджеры, такие как Xmonad или Awesome .
leftaround около
1
Что плохого в том, чтобы просто открыть новый терминал и alt-tab?
psusi
Мне придется открывать несколько терминалов и изменять их размер каждый раз, когда я начинаю работать. Это убило бы одно из лучших преимуществ Linux: настраиваемость.
Аль Банди

Ответы:

85

Вам нужен терминатор :

sudo apt-get install terminator

Терминатор 4 окна

Для четырех терминалов при запуске выполните следующее:

  • Стартовый терминатор
  • Сплит терминал Ctrl+ Shift+O
  • Разделить верхний терминал Ctrl+ Shift+O
  • Разделить нижний терминал Ctrl+ Shift+O
  • Откройте Настройки и выберите Макеты
  • Нажмите Addи введите полезное имя макета иEnter
  • Закрыть настройки и терминатор
  • Откройте Терминатор с помощью этой команды:

    terminator --maximise --layout=<your_layout_name>
    

    или с помощью этой команды:

    terminator --maximise --borderless --layout=<your_layout_name>
    

Прыгайте между окнами терминала с помощью Ctrl+ Tab.

Вы можете назначить свою персональную команду терминатора на Ctrl+ Alt+ Tв Настройки клавиатуры> Ярлыки. (Thx @Wilf )

Конечно, вы также можете создать terminator.desktopфайл. Скопируйте исходный файл рабочего стола и внесите изменения:

cp /usr/share/applications/terminator.desktop ~/.local/share/applications/
nano ~/.local/share/applications/terminator.desktop
AB
источник
1
Обратите внимание, что вы также можете назначить terminator ...команду для Ctrl + Alt + T в Настройки клавиатуры> Ярлыки
Уилф
Есть ли способ установить, какое окно терминала является активным после запуска ?? Когда я запускаю его, активное окно находится внизу, и я хотел бы, чтобы окно активного терминала было вверху, но я не могу справиться с этим.
Аль Банди
2
К сожалению, я не могу рекомендовать Терминатор в эти дни. Каким бы классным он ни был, проект теперь практически не поддерживается и использует древнюю (~ 4 года) версию VTE (это виджет, выполняющий фактическую эмуляцию терминала). То есть, хотя здорово иметь много окон рядом друг с другом, то, что происходит внутри каждого окна, будет страдать от многих проблем. См. Также bugs.launchpad.net/terminator/+bug/1030562
egmont
2
@AB Да, я знаю, эта ветвь содержит мою работу :) Хотя он использует самый последний и гораздо лучший VTE, пользовательский интерфейс вокруг него (сам Terminator) в значительной степени находится в процессе разработки с довольно многими ошибками, которых нет в версия по умолчанию Gtk + -2. Ваш ответ с apt-get install terminatorкомандой явно относится к версии Gtk + -2, которая использует древний VTE. Для справки действительно полезно упомянуть версию Gtk + -3, которая еще не стабильна и еще не поставляется Ubuntu, но кто-то может попробовать.
egmont
4
Вам нужен Терминатор . Эпическая.
maryisdead
13

Вы можете запустить 4 терминала с помощью Ctrl+ Alt+ Tи установить их по краям экрана с помощью Ctrl+ Alt+ Numpad[1,3,7,9]или влево / вправо с помощью Ctrl+ Alt+ Numpad[4/6]или сверху / снизу Ctrl+ Alt+ Numpad[8/2]и переключиться с Alt+ Tabна ОДИН терминал и с помощью Alt+ key above Tabмежду терминалами, если один активен ,

Или

Вы можете использовать вкладки с Ctrl+ Shift+ Tи переключаться между терминалами с помощью Alt+ Page-Up/ Page-Down.

DEN
источник
3
В какой среде рабочего стола работает Ctrl + Shift + Numpad?
Уилф
У меня стандартная установка Ubuntu с Unity
DEN
Это Ctrl + Alt + Numpad
Адам Солтыс
9

В качестве другой альтернативы я бы предложил использовать byobu.

Byobu - текстовый оконный менеджер и терминальный мультиплексор с открытым исходным кодом GPLv3. Первоначально он был разработан для предоставления элегантных улучшений в функциональном, простом, практичном GNU Screen для дистрибутива сервера Ubuntu. Byobu теперь включает расширенные профили, удобные сочетания клавиш, утилиты конфигурирования и уведомления о состоянии системы с возможностью переключения как для оконного менеджера GNU Screen, так и для более современного терминального мультиплексора Tmux, и работает на большинстве дистрибутивов Linux, BSD и Mac.

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

У вас даже есть нижняя строка состояния с большим количеством полезной информации, такой как дата / время, средняя загрузка и т. Д.

Ярлыки, которые вы должны знать, если вы используете Byobu:

  • F2 создает новую вкладку.
  • Shift+ F2создает новую разделенную вкладку (это разделяет вашу текущую вкладку по горизонтали).
  • F3и F4переключаться между вкладками.
  • F9 настроить бёбу.

sudo apt-get install byobu установит Byobu.

В качестве бонуса, будучи терминальным мультиплексором, это означает, что вы не потеряете сеанс и свои вкладки, если вы по ошибке закрыли терминал. И вы можете запустить byobuв другом терминале и получить синхронизированные выходы.

Существуют даже сценарии для сохранения макетов, если вы хотите сохранить сеанс при перезагрузке.

Лео Лам
источник
1
URL-адрес домена byobu изменен на byobu.org
Виджей
7

Лично я использую emacsс M-x ansi-termили в M-x shellзависимости от того, что я делаю.

Но если вы ищете только терминальный мультиплексор, то всегда есть тихо почитаемый tmux:

https://github.com/tmux/tmux

Изменить: JoKeR указал, что вы можете установить tmuxс apt-get:

$ sudo apt-get install tmux
Грант Хулегард
источник
1
Вы можете установить tmux с помощью: sudo apt-get install tmuxвы должны упомянуть, что я думаю.
JoKeR
Никогда не использовал tmuxсебя, просто знаю об этом. Спасибо за разъяснение, хотя я поставлю это сверху.
Грант Хулегард
5

Просто измените размеры окон терминала, чтобы они все подходили к углу экрана. Терминал также может иметь вкладки, которые могут помочь. Щелкните правой кнопкой мыши по окну и выберите New Tab.

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

  1. Беги sudo apt-get install compizconfig-settings-manager.
  2. Запустите sudo ccsmили выполните поиск ccsmв Unity Dash.
  3. Прокрутите вниз, пока не найдете Grid, под Window Management. Убедитесь, что он включен.
  4. Перейдите на Corners / Edgesвкладку и измените Cornerпараметры в соответствующих углах.
Странник
источник
1
Тогда я не могу одновременно просматривать все вкладки, и мне приходится изменять размер при каждом открытии терминала.
Аль Банди
@ Банди, есть способ сделать так, чтобы размер окна уменьшался до четверти экрана при перетаскивании в угол. Позвольте мне найти это, и я добавлю это к своему ответу.
Странник
3

Вы можете использовать tmux , терминальный мультиплексор.

sudo apt-get install tmux

Для четырех панелей вы можете использовать этот скрипт 4pSession, создайте скрипт с

mkdir -p ~/bin
touch ~/bin/4pSession
chmod +x ~/bin/4pSession
nano ~/bin/4pSession

и добавьте код ниже

#!/usr/bin/env bash

# if the session is already running, just attach to it.
tmux has-session -t 4panel
if [ $? -eq 0 ]; then
  sleep 1
  tmux attach -t 4panel
else 
  tmux new-session -d -s 4panel
  tmux split-window -v
  tmux split-window -h
  tmux select-pane -t 0
  tmux split-window -h
  tmux select-pane -t 0
  tmux -2 attach-session -d
fi

Чем вы можете создать файл рабочего стола:

nano ~/.local/share/applications/tmux.desktop

с этим содержанием:

[Desktop Entry]
Name=tmux
Comment=a terminal multiplexer
Exec=/<path_to_script>/4pSession
Icon=terminal
Terminal=true
Type=Application
Categories=Terminal;

Перемещайтесь между панелями с помощью Ctrl+ Bи, или, или, или

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

AB
источник
1

Мой грубый вклад в этот вопрос: установите wmctrlи настройте скрипт, который открывается и размещает четыре окна терминала на вашем экране. Сначала выясните размер экрана с помощью, xwininfo -rootа затем настройте -eпараметры (они в следующем порядке: 0, x-position, y-position, width, height). Числа, которые я использую ниже, являются просто примером

#!/bin/bash
# Author: Serg Kolo
# Date: 2/18/2015
# Description: Open 4 terminals and position them






gnome-terminal -t WINDOW-ONE &
gnome-terminal -t WINDOW-TWO &
gnome-terminal -t WINDOW-THREE &
gnome-terminal -t WINDOW-FOUR &

sleep 0.5
wmctrl -r WINDOW-ONE -e 0,0,0,500,250 &
sleep 0.5
wmctrl -r WINDOW-TWO -e 0,0,384,500,250 &
sleep 0.5
wmctrl -r WINDOW-THREE -e 0,500,0,500,250 &
sleep 0.5
wmctrl -r WINDOW-FOUR -e 0,500,384,500,250 &

Вы можете привязать это как ярлык, например, к Ctrl + I или как угодно. Еще одна идея, без установки wmctrl, это открыть 4 --geometry=варианта

Сергей Колодяжный
источник
0

Я настоятельно рекомендую tmux. Он предлагает множество настроек и полную независимость от мыши (если это проблема). Вы можете разделять экраны по горизонтали, вертикали, переключаться между ними несколькими нажатиями клавиш, оставлять сеансы открытыми, а затем повторно подключаться к ним и т. Д.

Прыгающий кролик
источник
Пожалуйста, объясните, как это сделать (см. Как мне написать хороший ответ? ).
Дэвид Фёрстер
1. Если вы используете centos, вы можете перейти по ссылке, чтобы получить последнюю версию и установить ее. Если вы получаете ошибки в отношении зависимостей, я наткнулся на отличное руководство: ссылка 2. Если вы работаете в Ubuntu, это просто: sudo apt-get install tmux 3. Если вам удобно компилировать пакеты, то исходный код находится на sourceforge: ссылка
Прыгающий кролик
1
Пожалуйста, измените свой ответ, если вы хотите добавить информацию.
Дэвид Фёрстер
0

Когда открыто 4 окна терминала, и во время работы в одном из них я могу просто переключаться между ними с помощью Alt + `(левая галочка), если хотите использовать клавиатуру, или просто нажимать на значок запуска терминала, чтобы вызвать все его окна и нажмите на выбранный.

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

Моя установка - Ubuntu 14.04, с рабочим столом по умолчанию (Unity 3D) и обновленным до настоящего времени.

Я не понимаю, почему люди все усложняют и устанавливают сторонние продукты, когда стандартная установка Ubuntu уже предоставляет эту возможность.

Шри
источник
0

Вы также можете использовать Gnu Screen для этого, и использовать вертикальное и горизонтальное разделение.

Вы можете поместить их в свой ~/.screenrcконфигурационный файл. Я был в состоянии разделить, используя большинство экранов GNU, с правильными настройками файла .screenrc.

Некоторая комбинация ниже должна сделать вас в вашем .screenrc.

screen -t tl 1 bash
split 
focus down
screen -t bl 3 bash
split -v
focus down
screen -t br 4 bash
select 1
split -v
focus down
screen -t tr 2 bash

У меня он был установлен на 6 экрана один раз. вот мой остаточный конфиг от этого

 30 ## 1 a local bash
 31 # screen -t host03 1 bash
 32 #sessinoname blamb1
 33
 34 ## 2 ssh to host04
 35 # split -v
 36 # focus
 37 # select 2
 38 # resize -6
 39 # screen -t host04 2 ssh host04
 40 # caption string "%{kk}XXXXXXX"
 41
 42 ## 3 bashed
 43 # focus
 44 # select 1
 45 # split
 46 # focus
 47 # select 3
 48 # screen -t bashed 3  bash
 49 #exec ssh host04
 50 # caption string "%{kk}XXXXXXX"
 51
 52 ## 4 bashedup
 53 # split
 54 # focus down
 55 # screen -t bashedup 4 bash
 56 # caption string "%{kk}XXXXXXX"
 57
 58 ## 5 compass
 59 # split
 60 # focus down
 61 # resize -14
 62 # screen -t compass 5 bash
 63 # leave caption commented till resize works
 64 #caption string "%{kk}XXXXXXX"
 65
 66 #focus up
 67
 68
 69 ## 5mysql
 70 # exec mysql -p
 71 # screen -t mysql 5 mysql
 72
 73 ## 6php
 74 # screen -t php.ini 6 vim /etc/php/php.ini
 75 # select php.ini
 76 # chdir /etc/php
 77 # exec vim php.ini
Брайан Томас
источник
0

Вы можете использовать приложение «Экран»

Установите экран, выполнив следующую команду:

apt-get install screen

Чтобы убедиться, что экран установлен, запустите

screen -v

в течение сеанса экрана вы можете создать новое окно, нажав CTRL + A, а затем C. Ваше старое окно останется активным, и вы сможете выполнять другие задачи. Для переключения между окнами нажмите CTRL + A, затем N (для следующего окна) или CTRL + A, затем P

Прадьюмна Сагар
источник
0

Для этого есть встроенные ярлыки и удобная навигация.

Ctrl + Alt + T - нажмите один раз, чтобы запустить 1-й терминал
Ctrl + Shift + T - нажмите 3 раза, чтобы получить еще 3 терминала в качестве вкладок, в одном и том же окне 1-го терминала
Alt + 1или Alt + 2или Alt + 3или Alt + 4- каждый из них переключится на соответствующую вкладку / терминал.

Надеюсь, это поможет.

Манохар Редди Поредди
источник