Многооконный терминал для linux

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Читайте также:  Native linux on windows

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

Функция разделения экрана в 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 — это программа эмуляции терминала, поставляемая в комплекте с рабочим столом KDE Plasma. Как и сам KDE, Konsole славится тем, что обладает широкими возможностями настройки.

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

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

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

Emacs

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

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

Читайте также:  Scripts with bash linux

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

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

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

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

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

Об авторе

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

Источник

10 лучших эмуляторов терминала для Linux

Перевод статьи «10 Best Terminal emulators for Linux that are worth giving a try».

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

Как и многие другие вещи в Linux-системах, эмулятор терминала можно установить по своему вкусу. Давайте рассмотрим топ-10 альтернатив для вашего дефолтного эмулятора терминала и причины, по которым вы можете захотеть их установить.

Терминал GNOME

В большинстве сред GNOME этот терминал установлен по умолчанию. Также при желании его можно установить в любом другом дистрибутиве Linux.

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

Фон в терминале GNOME можно делать прозрачным: это очень полезно в тех случаях, когда вы следуете инструкциям, открытым на экране, поверх которых располагается ваш терминал. Также в нем очень легко открывать ссылки. Наконец, этот эмулятор терминала поддерживает темы, так вы сможете настроить его внешний вид полностью по своему вкусу.

Терминал Hyper

Если вы ищете эмулятор терминала со множеством настроек, прежде всего стоит обратить внимание на терминал Hyper. Сам этот эмулятор создан при помощи HTML, CSS и JavaScript. Имеет поддержку плагинов, что повышает продуктивность программы. Плагины можно найти в Hyper Repository.

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

Терминал Guake

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

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

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

Konsole

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

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

Читайте также:  Сколько должна занимать папка windows

Qterminal — легковесный эмулятор терминала на базе Qt

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

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

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

Terminator

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

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

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

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

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

Terminology

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

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

Lilyterm

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

Он (наравне с другими) поддерживает множественные вкладки, а это полезно, если вы хотите разбить какую-то задачу на несколько отдельных. Также в Lilyterm есть поддержка гиперссылок — кликнув по ссылке в терминале, вы можете открыть ее в вашем браузере.

Tilix

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

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

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

Aminal

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

В Aminal есть много опций кастомизации. Есть поддержка кликабельности ссылок, retina display, подсказок для более быстрого выполнения команд. Кроме того, этот эмулятор терминала является кроссплатформенным.

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

Источник

Оцените статью