Как разделить консоль на две части линукс
Перейти к содержимому

Как разделить консоль на две части линукс

  • автор:

Окно терминала пополам

Всем привет. Видел как админ разделил терминальное окно на 2 части по горизонтали. Какой комбинацией это можно сделать. И как между ними переключаться. Гуглил, не помогло так что прошу понять и простить.

ibahob
23.03.17 15:28:51 MSK

man screen man tmux

либо можно использовать тайловый WM и переключаться на уровне окон, а не внутри терминала.

Psych218 ★★★★★
( 23.03.17 15:30:17 MSK )
Ответ на: комментарий от Psych218 23.03.17 15:30:17 MSK

нет там именно кобинация клавиш была.

ibahob
( 23.03.17 15:45:53 MSK ) автор топика
Ответ на: комментарий от ibahob 23.03.17 15:45:53 MSK

C-a S (split) Разделить текущий регион на два новых.

Ien_Shepard ★★★
( 23.03.17 15:52:42 MSK )
Последнее исправление: Ien_Shepard 23.03.17 15:52:59 MSK (всего исправлений: 1)

Что-то в последнее время эпидемия вопросов аля ответы@mail.ru

anonymous
( 23.03.17 16:05:37 MSK )
Ответ на: комментарий от anonymous 23.03.17 16:05:37 MSK

А тебе не похеру? Ты тут даже не зарегистрирован.

anonymous
( 23.03.17 16:08:55 MSK )
Ответ на: комментарий от ibahob 23.03.17 15:45:53 MSK

нет там именно кобинация клавиш была.

Ты маны уже прочитал? Там эти комбинации есть. Например в screen это ^a | или ^a S для разделения по горизонтали и вертикали соответственно.

Psych218 ★★★★★
( 23.03.17 16:09:21 MSK )
Последнее исправление: Psych218 23.03.17 16:10:56 MSK (всего исправлений: 1)

Ответ на: комментарий от anonymous 23.03.17 16:08:55 MSK
anonymous
( 23.03.17 16:11:27 MSK )

А нужно именно как у дяди админа ? Ну Terminator так умеет, а вообще да, там скорее всего screen (и)или tmux был

Dred ★★★★★
( 23.03.17 16:34:41 MSK )
Ответ на: комментарий от anonymous 23.03.17 16:08:55 MSK
anonymous
( 23.03.17 16:37:51 MSK )

Может ещё это был тайловый менеджер окон и два терминала, как вариант.

anonymous
( 23.03.17 16:40:24 MSK )

kravzo ★★
( 23.03.17 16:40:29 MSK )

В Tilix (бывший terminix) окно разделяется сочетанием ctrl+alt+R.

xcariba ★★
( 23.03.17 16:47:47 MSK )

Или поставь terminator — эмулятор терминала со штатной возможностью разделения окна и вкладками.

5 способов разделить окно терминала в Linux

Оригинал: 5 ways to split your Linux terminal
Автор: Seth Kenlon (Red Hat)
Дата публикации: 8 мая 2020 г.
Перевод: В.Костромин
Дата перевода: 15 мая 2020 г.

4 different color terminal windows with code

Linux предлагает множество способов разделить ваш терминал, чтобы вы могли работать в многозадачном режиме.

Есть ли что-нибудь более привлекательное, чем тепло мерцающий терминал Linux?

Конечно есть: два тепло мерцающих терминала Linux. И даже так: чем больше терминалов, тем лучше.

Много лет назад терминалы были физическими устройствами, но в наше время они просто эмулируются какими-то приложениями на вашем компьютере. Если вы предпочитаете терминал в качестве интерфейса для работы с компьютером, вы, вероятно, знаете, что одного терминала обычно недостаточно. Вам неизбежно приходится открывать новый терминал или новую вкладку, чтобы вы могли работать в нем, пока ваш первый занят компиляцией, или конвертацией, или другой обработкой данных.

Если вы системный администратор, то вам понадобится как минимум четыре открытых окна, когда вы работаете в нескольких системах одновременно.

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

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

Оболочки, терминалы, консоли

Прежде чем вы начнете делить экран на кусочки, вы должны понять разницу между терминалом, оболочкой и «консолью». Чтобы представить себе полную картину, прочитайте предыдущую заметку в моем блоге (или ее перевод).

  • Оболочка — это самый низкий уровень взаимодействия пользователя с компьютером. Оболочка предоставляет пользователю строку ввода-вывода с приглашением ввести команду. Оболочка всегда работает где-то под вашим рабочим столом POSIX, даже если вы ее не видите (потому что именно этот экземпляр оболочки запускает вашу пользовательскую сессию).
  • Терминал — это приложение с загруженной в него оболочкой, работающее на графическом сервере (например, X11 или Wayland). Терминал работает только тогда, когда у вас запущено окно терминала. Терминал — это «дверь» для доступа к вашей оболочке.
  • Термин «консоль» или «виртуальная консоль» обычно используется для оболочки, запущенной вне вашего графического окружения. Вы можете перейти к виртуальной консоли, нажав комбинацию клавиш Alt-Ctrl-F2 (обычно доступны комбинации с клавишами от F1 до F7, где F1 или F7 представляют ваш рабочий стол, в зависимости от вашего дистрибутива).

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

tmux

tmux terminal

tmux — это, пожалуй, самый гибкий и удобный для разделения экрана терминальный мультиплексор, ориентированный на клавиатуру. С его помощью вы можете разместить одну консоль над другой, а затем переключаться между ними. Вы также можете разделить каждый экземпляр консоли по горизонтали пополам (или на три, четыре части и т.д.),

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

Если вы используете tmux в первую очередь для разделения экрана, то единственные команды, которые вам действительно нужны, это:

  • Ctrl-B % для разделения экрана по вертикали (одна оболочка слева, одна — справа)
  • Ctrl-B» для разбиения по горизонтали (одна оболочка вверху, другая — ниже)
  • Ctrl-B O для активации другой оболочки
  • Ctrl-B ? для получения помощи
  • Ctrl-B d для отключения от Tmux, оставив его работать в фоновом режиме (используйте команду tmux attach для повторного входа)

У tmux много преимуществ, в том числе возможность запуска сеанса tmux на одном компьютере, а затем удаленное присоединение к тому же сеансу с другого компьютера.

Например, если tmux запущен на Pi, я могу постоянно оставаться залогиненным в IRC — я запускаю tmux на Pi, а затем захожу с любого компьютера, на котором я оказался. Когда я выхожу из системы, tmux продолжает работать, терпеливо ожидая, когда я подключусь к сеансу с другого компьютера.

GNU Screen

GNU Screen terminal

Так же, как tmux, GNU Screen является мультиплексором оболочки. Вы можете отсоединиться и снова подключиться к запущенному сеансу, а также разделить экран по горизонтали и вертикали.

Screen немного более неуклюж, по сравнению с tmux. По умолчанию для клавиатурных команд в нем используется комбинация клавиш Ctrl-A с еще какой-то клавишей, но Ctrl-A уже используется в оболочке Bash для того, чтобы перейти в начало строки. Поэтому, если у вас запущен Screen, вы вынуждены нажимать Ctrl-A дважды, чтобы перейти в начало строки. Лично я переопределил эту комбинацию на Ctrl-J с помощью следующей строки в файле $HOME/.screenrc:

escape ^jJ

Функция разделения экрана в Screen работает хорошо, но в ней отсутствуют некоторые приятные мелочи, которые есть в tmux. Например, когда вы разделяете свою окно оболочки, новая оболочка не запускается на вновь созданной панели. Вы должны перейти в новое пространство с помощью Ctrl-A Tab (или Ctrl-J, если вы переопределите комбинацию клавиш, как я) и вызвать новый экземпляр оболочки вручную с помощью Ctrl-A C.

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

Тем не менее, Screen — это надежное и гибкое приложение, которое вы можете использовать, если обнаружите, что tmux почему-либо недоступен для вас.

Вот основные команды разделения панели, использующие сочетания клавиш по умолчанию:

  • Ctrl-A | для разделения по вертикали (одна оболочка слева, одна оболочка справа)
  • Ctrl-A S для разделения по горизонтали (одна оболочка вверху, вторая ниже)
  • Ctrl-A Tab активация оболочки в другой панели
  • Ctrl-A ? вызов подсказки
  • Ctrl-A d выход из Screen, оставив его работать в фоновом режиме (для повторного входа используйте команду screen -r)

Konsole

Konsole screen

Konsole — это программа эмуляции терминала, поставляемая в комплекте с рабочим столом KDE Plasma. Как и сам KDE, Konsole славится тем, что обладает широкими возможностями настройки.

Среди его многочисленных функций — возможности разделения окон, аналогичные имеющимся как в tmux, так и в GNU Screen. Поскольку Konsole — это графический терминал, вы можете управлять его функцией разделения экрана с помощью мыши, а не клавиатуры.

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

В отличие от tmux и GNU Screen, вы не можете выйти из Konsole, оставив его работать в фоновом режиме, чтобы потом подключиться к нему снова. Как и большинство графических приложений, вы можете использовать Konsole только находясь перед ним физически, и теряете доступ к нему, когда находитесь где-то далеко (если вы не используете программное обеспечение удаленного рабочего стола).

Emacs

Emacs rpg

Emacs, конечно, не является терминальным мультиплексором, но его интерфейс поддерживает разделение и изменение размера окон, и он имеет встроенный терминал.

Если вы так или иначе работаете в Emacs ежедневно, то возможность разделить окно между разными по существу приложениями означает, что вам никогда не придется отказываться от своих привычек и конфорта работы в вашем любимом текстовом редакторе. Более того, поскольку модуль eshell в Emacs реализован на eLISP, вы можете взаимодействовать с ним, используя те же команды, которые вы используете в самом Emacs, что упрощает копирование и вставку длинных путей к файлам или вывод команд.

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

Но все же приведем некоторые важные клавиатурные команды:

  • Ctrl-X 3 для разделения панели по вертикали (одна оболочка слева, вторая справа)
  • Ctrl-X 2 для разделения по горизонтали (одна оболочка вверху, вторая ниже)
  • Ctrl-X O активация оболочки в другой панели (вы можете сделать это и с помощью мыши)
  • Ctrl-X 0 (это ноль) закрыть текущую панель

Как и в случае с tmux и GNU Screen, вы можете отключаться от Emacs и снова входить в него до тех пор, пока запущен emacs-client.

Window manager

Ratpoison split screen

Если вас удивляет то, что текстовый редактор Emacs может разделить экран и загрузить терминал, представьте, что ваш рабочий стол может делать то же самое. Некоторые рабочие столы, например, Ratpoison, Herbsluftwm, i3, Awesome даже KDE Plasma, если задействовать специальные настройки, могут запускать каждое приложение в отдельном окне, размещая эти окна одно рядом с другим на вашем экране.

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

И ничто не мешает вам загрузить Emacs с разделенными буферами внутрь одного из окон. Никто не знает, что произойдет, если вы продолжите в том же духе, и большинство пользователей Linux соглашаются, что лучше не узнавать.

В отличие от tmux и GNU Screen, вы не можете отключать и повторно подключать свой рабочий стол, если не используете программное обеспечение удаленного рабочего стола.

Другие варианты

Хотите верьте, хотите нет, но здесь перечислены не все варианты разделения экрана в Linux. Существуют и другие эмуляторы терминала, в первую очередь среди них можно назвать Tilix и Terminator, которые тоже позволяют разбить экран на части, и приложения со встроенными терминальными компонентами. Вы можете поделиться своим мнением о наиболее удобных способах разделения вашего рабочего пространства в комментариях к этой статье (имеется в виду, конечно, оригинальная статья).

Об авторе

Seth Kenlon независимый мультимедиа-дизайнер, сторонник свободной культуры и специалист по UNIX. Он работал в кино и компьютерной индустрии, часто одновременно. Он является одним из разработчиков проекта по созданию мультимедиа на базе Slackware http://slackermedia.info

Запускаем несколько терминалов Linux в одном окне

Linux предлагает множество способов разбить окно терминала на несколько мини-экранов, что позволяет обеспечить в определенном смысле «многозадачный» режим работы. Это можно сделать как минимум пятью разными способами.

Казалось бы, что может быть лучше тёплого мерцания терминала Linux? -)
Оказывается, вот что: тёплое мерцание двух терминалов! На самом деле, чем больше, тем лучше.

Когда-то терминалы были физическими устройствами, но сегодня это просто приложения на вашем компьютере. Если вы активно пользуетесь терминалом, вы, вероятно, много раз сталкивались с тем, что одного терминала часто бывает недостаточно. И тогда вам нужно открыть новый терминал (новое окно), чтобы вы могли работать в нём, пока первый терминал занят компиляцией, конвертацией или другой обработкой данных.

Если вы системный администратор, то скорее всего вам понадобится несколько открытых терминалов: один — для управления веб-сервером, другой — для управления базой данных, третий — для копирования файлов и так далее. Когда открытых вкладок очень много, отслеживать одновременно все процессы становится трудно, что существенно усложняет работу.

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

Поэтому следующий шаг — это разбиение на экраны: два или более мини-терминала могут быть открыты одновременно в одном и том же окне. В большинстве сборок Linux есть много инструментов, которые помогут организовать такое разбиение.

Оболочки, терминалы и текстовые консоли Linux

Прежде чем мы начнём рубить окна вдоль и поперёк, напомню разницу между оболочкой, терминалом и консолью:

  • По сути своей оболочка — это интерпретатор командной строки, который работает где-то «под» вашим рабочим столом. Оболочка может работать незримо, но её команды по-прежнему будут выполняться (например, оболочка запускает ваш пользовательский сеанс).
  • Терминал — это приложение, которое в Linux работает на графическом сервере (например, X11 или Wayland) с загруженной в него оболочкой. Терминал работает только тогда, когда у вас запущено окно терминала. Грубо говоря, это интерфейс для оболочки.
  • «Текстовая консоль» или «виртуальная консоль» — это термин, обычно используемый для обозначения оболочки, работающей вне вашего рабочего стола. Вы можете перейти к виртуальным консолям, нажав Alt-Ctrl-F1 (Alt-Ctrl-F2 и так далее). Комбинация клавиш может отличаться в зависимости от вашего дистрибутива.

tmux

Пожалуй, это самый гибкий инструмент. tmux — терминальный мультиплексор, работа с которым полностью основана на горячих клавишах. Вам никогда не придется отрывать руку от клавиш в поисках мыши, но придётся изучить, что делают те или иные комбинации клавиш.

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

Если вы используете tmux в первую очередь для разбиения на экраны, то вам будет достаточно выучить несколько комбинаций:

  • Ctrl-B % разбить по вертикали (один экран — слева, другой — справа)
  • Ctrl-B» разбить по горизонтали (один экран — сверху, другой — снизу)
  • Ctrl-B O переключиться между панелями
  • Ctrl-B ? открыть справку
  • Ctrl-B d покинуть tmux и оставить его работать в фоновом режиме

GNU Screen

По аналогии с tmux в GNU Screen вы можете подключаться и отключаться от уже запущенной сессии и разбивать окно на экраны по горизонтали и вертикали.

Однако этот инструмент не такой гибкий, как tmux. Вводная комбинация GNU Screen Ctrl-A также является командой для перехода к началу строки в Bash. Поэтому при запущенном мультиплексоре, чтобы перейти к началу строки, вы должны нажать Ctrl-A два раза, а не один. Так что, лично я обычно меняю эту комбинацию на Ctrl-J в ​​$ HOME / .screenrc:

escape ^jJ

Функция разбиения на экраны у Screen работает хорошо, но в ней есть некоторые недочёты, которых нет в tmux. Например, когда вы разбиваете окно терминала, новая копия терминала не запускается на появившейся после разбиения панели. Вы должны нажать Ctrl-A Tab (или Ctrl-J Tab, если вы переопределите комбинацию клавиш, как я) и создать новую оболочку вручную с помощью Ctrl-A C.

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

Тем не менее, GNU Screen — это надёжное и мощное приложение, которое вы можете запустить, если обнаружите, что tmux по каким-то причинам недоступен для вас.

Вот основные команды GNU Screen:

  • Ctrl-A | разбить по вертикали (один экран — слева, другой — справа)
  • Ctrl-A S разбить по горизонтали (один экран — сверху, другой — снизу)
  • Ctrl-A Tab переключиться между панелями
  • Ctrl-A ? открыть справку
  • Ctrl-A d покинуть Screen и оставить его работать в фоновом режиме (чтобы вернуться обратно, используйте screen -r)

Konsole

Konsole — это стандартный терминал рабочего стола KDE Plasma. Как и сам KDE, Konsole обладает широкими возможностями для настройки.

Среди его многочисленных функций — возможность разбивать окно на экраны. Поскольку Konsole — это графический терминал, вы можете управлять им с помощью мыши, а не клавиатуры.

Для этого нужно перейти в меню View. Вы можете разбить окно по горизонтали или вертикали. Чтобы переключить активную панель, просто выберите нужную вам панель с помощью мыши. Каждая панель представляет собой уникальный терминал, поэтому она может иметь собственную тему и вкладки.

В отличие от tmux и GNU Screen, вы не можете отсоединиться и снова подключиться к сессии Konsole. Как и большинство графических приложений, вы используете Konsole, находясь перед ним физически. Поэтому для удалённого доступа придётся использовать специальное программное обеспечение.

Emacs

Emacs не является терминальным мультиплексором, но его интерфейс поддерживает разбиение окна и изменение размеров. У него также есть встроенный терминал.

В любом случае, если вы ежедневно работаете с Emacs, это означает, что вы по достоинству оценили возможность удобно организовать ваше рабочее пространство. Более того, поскольку модуль Emacs eshell реализован на eLISP, вы можете взаимодействовать с ним, используя те же команды, которые вы используете в самом Emacs, что упрощает копирование и извлечение длинных путей к файлам или вывод команд.

Если вы используете Emacs в графическом окне, вы можете выполнить некоторые действия с помощью мыши. Например, вы можете выбрать активную панель, щёлкнув по ней, или изменить размеры экранов после разбиения окна.

Хотя иногда быстрее использовать сочетания клавиш:

  • Ctrl-X 3 разбить по вертикали (один экран — слева, другой — справа)
  • Ctrl-X 2 разбить по горизонтали (один экран — сверху, другой — снизу)
  • Ctrl-X O переключиться между панелями (это можно сделать и мышью)
  • Ctrl-X 0 (0 — это нуль) закрыть текущую панель

Window manager

Если вы думаете, что текстовый редактор, который может разбить окно на экраны и в каждом из них запустить терминал — это загадка природы, то каково будет ваше удивление, когда выяснится, что ваш рабочий стол может выполнять те же задачи. Рабочие столы Linux, такие как Ratpoison, Herbsluftwm, i3, Awesome и даже рабочий стол KDE Plasma можно настроить так, чтобы каждое окно приложения отображалось в виде фиксированной плитки в сетке рабочего стола.

Вместо окон, плавающих «над» вашим рабочим столом, они остаются в специально отведённом месте, поэтому вы сможете переключаться с одного на другое. Вы можете открыть любое количество терминалов в вашей сети, эмулируя терминальный мультиплексор. Фактически, вы даже можете открыть терминальный мультиплексор в мультиплексоре рабочего стола.

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

В отличие от tmux и GNU Screen, вы не можете отсоединяться и повторно подключаться к «сессии» своего рабочего стола без использования специального программного обеспечения.

Ещё варианты?

Хотите верьте, хотите нет, но есть ещё много вариантов. Существуют и эмуляторы терминалов, такие как Tilix и Terminator, приложения со встроенными терминальными компонентами и многое другое.

А как вы разбиваете на экраны ваш терминал?

На правах рекламы

VDSina предлагает виртуальные и физические серверы под любые задачи, огромный выбор операционных систем для автоматической установки, есть возможность установить любую ОС с собственного ISO, удобная панель управления собственной разработки и посуточная оплата. А еще у нас есть вечные серверы 😉

Обзор терминальных мультиплексоров: tmux и dvtm

Архитектор Матрицы

Терминал принадлежит к числу наиболее часто используемых инструментов администратора. Нередко во время работы приходится одновременно держать открытыми несколько вкладок терминала: одну — для управления веб-сервером, другую — для управления базой данных, третью — для копирования файлов и т.п. Когда открытых вкладок очень много, отслеживать одновременно все процессы становится трудно, и это существенно усложняет работу. Существуют специальные программы, c помощью которых можно решить проблему множественных терминалов. Они называются терминальными мультиплексорами.

Терминальные мультиплексоры позволяют одновременно работать с несколькими терминальными сессиями в одном окне. Принцип их работы заключается в следующем: терминал с множественными вкладками создается на удаленной машине; на локальной машине окно терминала делится на несколько частей, и в каждой из них могут быть запущены любые приложения и процессы. От удаленной машины можно отключиться (текущая сессия будет сохранена), а затем снова подключиться к ней и продолжать работу.

Самым известным и распространенным терминальным мультиплексором является, конечно же, GNU Screen. При всех своих преимуществах он отличается некоторым неудобством в работе. Неудачно реализована, например, операция разделения экрана на части: при отключении от текущей сессии и последующем ее возобновлении порядок расположения частей не сохраняется.

В последнее время широкое распространение получили и другие терминальные мультиплексоры, более наглядные и удобные в работе — например, tmux и dvtm, которым и посвящена эта статья.

Tmux

Tmux работает под Linux и под MacOS; он включен в официальные репозитории большинства современных Linux-систем и может быть установлен при помощи стандартного менеджера пакетов.

Запустим tmux при помощи следующей команды:

$ tmux

В нижней части экрана появится строка состояния:

tmux

Управление всеми терминальными мультиплексорами осуществляется так: сначала нажимается так называемая префиксная комбинация клавиш, а после нее — клавиша, управляющая той или иной функцией. В tmux по умолчанию в качестве префиксной установлена комбинация Ctrl+B. Чтобы разделить экран терминала на две половины вертикальной чертой, нужно сначала нажать Ctrl+B, а затем — % (т.е. Shift+5):

tmux 1

Каждую из получившихся вкладок можно также разделить на две части горизонтальной чертой при помощи комбинации клавиш Ctrl+B+” (сначала нажимаем Ctrl+B, а затем — “).

Разделить окно на две части можно также при помощи команд:

$ tmux split-window -h

(разделить на две части горизонтально)

$ tmux split-window -v

(разделить на две части вертикально)

Чтобы перейти из одной части окна в другую, нажимаем сначала Ctrl+B, а затем — клавиши ←, ↑, → и ↓.

Чтобы создать новое окно, нажмем комбинацию клавиш Ctrl+B+C. В рамках одной сессии может быть задействовано неограниченное количество окон; каждое из них может быть в свою очередь разделено на части. Переключение между окнами осуществляется при помощи следующих комбинаций:

  • Ctrl+B 0. 9 — перейти в указанное окно;
  • Ctrl+B P — перейти в предыдущее окно;
  • Ctrl+B N — перейти в следующее окно;
  • Ctrl+B L — перейти в предыдущее активное окно (т.е. в то, из которого ранее был осуществлен переход в текущее окно);
  • Ctrl+B X — закрыть окно (это можно также сделать при помощи команды exit).

Текущую сессию tmux можно прервать, нажав комбинацию клавиш Ctrl+B+D. Чтобы возобновить прерванную сессию, нужно ввести команду:

$ tmux attach

Прерванная сессия будет восстановлена; при этом все данные и процессы будут сохранены.
Эту команду можно ввести и в сокращенном виде:

$ tmux -a

Чтобы вывести на экран список сессий, нужно выполнить следующую команду:

$ tmux ls

Завершение открытой сессии осуществляется при помощи команды:

$ tmux kill-session -t [имя сессии]

Чтобы завершить все открытые сессии одновременно, нужно ввести команду:

$ tmux kill-server

Рекомендации по настройке

Отображение строки состояния в нижней части экрана можно отключить. Для этого введем следующую команду:

$ tmux set -g status off

А чтобы отключенная строка состояния отображалась снова — команду:

$ tmux set -g status on

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

$ set -g status-position top

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

tmux set -g status-bg blue

Dvtm

Dvtm (dynamic virtual terminal manager) представляет собой терминальный мультиплексор, по функциональности во многом близкий к tmux.
Он также включен в официальные репозитории большинства современных Linux-систем и устанавливается при помощи стандартного менеджера пакетов.
После запуска dvtm в верхней части экрана будет отображена строка состояния:

dvtm

Управление dvtm организовано по тому же принципу, что и управление tmux. В качестве префиксной используется комбинация клавиш Ctrl+G. Понятие окна в dvtm интерпретируется совершенно иначе по сравнению с tmux. Для создания нового окна используется комбинация клавиш Ctrl+G+C. При нажатии этой комбинации экран будет разделен на две части; при этом каждая из них является отдельным окном:

dvtm

При помощи той же самой комбинации клавиш можно создавать дополнительные окна:

dvtm

  • вертикальное (Ctrl+G T) — текущее окно расположено в левой половине экрана; все остальные окна расположены в правой половине;
  • горизонтальное (Ctrl+G B) — основное рабочее окно занимает верхнюю половину экрана, все остальные окна располагаются внизу;
  • режим сетки (Ctrl+G G) — экран делится на части одинакового размера по количество созданных окон;
  • полноэкранный режим (Ctrl+G M) — текущее окно занимает весь экран.

Переходить от одного режима расположения окон к другому можно, нажимая омбинацию Ctrl+G+пробел.

  • Ctrl+G X — закрыть текущее окно;
  • Ctrl+G J — перейти в следующее окно;
  • Ctrl+G K — перейти в предыдущее окно;
  • Ctrl+G 0…9 — перейти в указанное окно (цифры обозначают номер окна);
  • Ctrl+G L — увеличить ширину текущего окна;
  • Ctrl+G H — уменьшить ширину текущего окна;
  • Ctrl+G Q — закрыть все окна и выйти из dvtm.

В dvtm имеется одна интересная функция, которой больше нет ни в одном из известных нам терминальных мультиплексоров: нажатияклавиш в текущем окне могут автоматически воспроизводиться во всех остальных открытых окнах. Нажмем комбинацию клавиш Ctrl+G+A. Если после этого нажать на какую-нибудь клавишу, нажатие сработает во всех окнах сразу. (UPD. Наши читатели сообщили, что аналогичная возможность имеется и в tmux: tmux set synchronize-panes on).

Если ввести в текущем окне какую-либо команду, она также будет одновременно выполнена во всех открытых окнах. С помощью этой функции можно, например, осуществлять одновременную настройку нескольких удаленных серверов по одинаковой схеме.

В отличие от tmux, dvtm не поддерживает сохранения и возобновления сессий. Для этого используется dtach — вспомогательная утилита, которая обеспечивает возможность отключения от текущей сессии и последующего подключения к ней для любых консольных приложений. Устанавливается при помощи стандартного менеджера пакетов.

Чтобы получить возможность отключать сессии и снова подключаться к ним, нужно запустить dvtm под dtach:

$ dtach -c /tmp/dvtm-session -r winch dvtm

При работе с dtach нужно явно указывать сокет, с помощью которого идентифицируется сессия. Доступ к сессии целиком и полностью определяется доступом к сокету.

Чтобы покинуть dtach, нужно нажать комбинацию Ctrl+\. Подключение к существующей сессии осуществляется при помощи команды:

$ dtach -a /tmp/dvtm-session -r winch

Более подробная информация о dtach представлена на официальной man-странице.

В заключение приведем небольшую шпаргалку — таблицу основных команд и клавиатурных комбинаций, используемых в screen, tmux и dvtm.

Сравнительная таблица команд и клавиатурных комбинаций

Управление сессиями
Операция screen tmux dvtm
Запустить новую сессию screen tmux
tmux new-session
tmux new-session -s [имя сессии]
Возможность сохранения и возобновления сессий не поддерживается — для этого нужно устанавливать утилиту dtach, реализующую такую возможность для всех консольных приложений. Запуск dvtm под dtach осуществляется при помощи команды:
dtach -c /tmp/dvtm-session -r winch dvtm
Подключиться к уже созданной сессии screen -r tmux attach
tmux attach-session -s [имя сессии]
tmux -a
dtach -a /tmp/dvtm-session -r winch
Отсоединиться от текущей сессии Ctrl+A D tmux detach ИЛИ Ctrl+B D Ctrl+\
Просмотреть список активных сессий screen -ls tmux ls ps aux | grep dtach
Удалить сессию screen -r [имя сессии] -X quit tmux kill-session -t [имя сессии]
Удалить все сессии Ctrl+A \ tmux kill-server
Управление окнами
Операция screen tmux dvtm
Cоздать новое окно Ctrl+A C Ctrl+B C Ctrl+G C
Перейти в указанное окно Ctrl+A 0. 9 Ctrl+B 0. 9 Ctrl+G 0. 9
Перейти в предыдущее окно Ctrl+A P Ctrl+B P Ctrl+G J
Перейти в следующее окно Ctrl+A N Ctrl+B N Ctrl+G K
Перейти в последнее активное окно Ctrl+A L Ctrl+B L
Показать список всех открытых окон Ctrl+A « Ctrl+B W
Увеличить ширину окна Ctrl+B Ctrl+N→ или Ctrl+B Alt+→ (увеличивает с большим шагом) Ctrl+G L
Уменьшить ширину окна Ctrl+B Ctrl+← Ctrl+G H
Воспроизводить нажатия клавиш во всех открытых окнах tmux set synchronize-panes on Ctrl+G A
Закрыть текущее окно Ctrl+A X Ctrl+B X Ctrl+G X

Читателей, не имеющих возможности комментировать посты на Хабре, приглашаем к нам в блог.

  • терминальные мультиплексоры
  • tmux
  • dvtm

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *