Терминальный мультиплексор
Приветствую!
Сегодня в словарике линуксоида🐧 терминальный мультиплексор – инструмент, который очень часто используется в процессе администрирования Linux систем 🧑💻. Как обычно дадим определение термину, поговорим про популярные реализации терминальных мультиплексоров и конечно про их преимущества и недостатки🧐.
Присоединяйтесь к нашему каналу в телеграм: t.me/r4ven_me, уведомления о новых постах приходят туда в день публикации. А если у вас есть вопросы или просто желание пообщаться по тематике – заглядывайте в чат: t.me/r4ven_me_chat.
Также обратите внимание, что этот теоретический пост📗 предшествует будущей статье по установке и настройке популярного мультиплексора Tmux🪟.
Что такое терминальный мультиплексор?
Терминальный мультиплексор (terminal multiplexer) — это инструмент, позволяющий пользователю управлять несколькими сессиями терминала в одном окне. Он выполняет роль “менеджера окон” для консоли, позволяя запускать и переключаться между множеством процессов и оболочек, разделять экран на панели и (самое важное для меня) восстанавливать работу после разрыва соединения, например SSH. Управление происходит с помощью горячих клавиш🎹 и иногда мыши🐭.
В общем, незаменимый инструмент для продвинутых пользователей Linux😎.
Краткая история
Идея управления несколькими терминальными сессиями возникла вместе с развитием многозадачности в Unix-подобных системах. Первым популярным инструментом для этих целей стал screen
от проекта GNU, выпущенный в 1987 году. Он был прост в использовании и позволял восстановить сессии после разрыва связи🧐.
Со временем появились новые инструменты, которые предложили более современный функционал. Так в верните мой 2007 году был выпущен tmux🔥, который пришел из мира BSD и стал популярной альтернативой screen
, благодаря удобной настройке, расширяемости и поддержке сценариев.
В последние годы появились более современные реализации👀, такие, как Zellij и Wezterm, нацеленные на улучшение пользовательского опыта.
Популярные реализации, их плюсы и минусы
GNU Screen
- Написан на: С;
- Лицензия: GPL 3.0;
- Плюсы:
- лёгкость установки (доступен практически во всех репозиториях);
- простота конфигурации и работы;
- проверенная временем стабильность.
- Минусы:
- ограниченный функционал по сравнению с современными аналогами;
- несколько устаревший интерфейс, неудобство настройки горячих клавиш;
- низкая активность разработки в последние годы.
Tmux
А вот, как выглядит моя конфигурация Tmux, про которую я расскажу в будущей статье:
- Написан на: С;
- Лицензия: ISC (BSD);
- Плюсы:
- гибкость настройки, возможность создавать сложные конфигурации;
- активное сообщество и регулярные обновления;
- поддержка плагинов для расширения функциональности🤯;
- улучшенное управление окнами и панелями.
- Минусы:
- кривая обучения для новичков (особенно настройка конфигурационного файла);
- некоторые функции требуют установки сторонних плагинов.
Zellij
- Написан на: Rust;
- Лицензия: MIT;
- Плюсы:
- интуитивный интерфейс и продуманная система горячих клавиш;
- расширенные возможности для работы с несколькими пользователями;
- современный дизайн и активно развивающийся проект.
- Минусы:
- молодой инструмент, не такой стабильный, как
tmux
илиscreen
; - меньшее количество плагинов и документации.
- молодой инструмент, не такой стабильный, как
Wezterm
- Написан на: Rust;
- Лицензия: MIT;
- Плюсы:
- интеграция с современными терминалами и поддержка GPU-рендеринга;
- расширенные возможности кастомизации интерфейса посредством Lua;
- по сути является полноценным терминалом.
- Минусы:
- сложность настройки для начинающих;
- менее популярный в сообществе инструмент, поэтому сложнее найти помощь.
Заключение
Выбор терминального мультиплексора зависит, конечно же, от ваших требований и вкусов🤷♂️.
Я предпочитаю работать в Tmux, т.к. это был первый мультиплексор, с которым я познакомился😌. Еще конечно немаловажный фактор – это время и ресурсы, которые я потратил на настройку Tmux🤯, чтобы превратить его в идеальный для меня инструмент работы с консолью.
Если вы часто находитесь в окне терминала, но еще не работали с терминальными мультиплексорами, рекомендую обратить на них внимание👍.
Подписывайтесь на Вороний блог в телеграм: @r4ven_me📱, чтобы не пропустить новые посты. Если возникли вопросы или желание пообщаться по теме – заглядывайте в наш чат там же: @r4ven_me_chat💬. У нас вежливое микросообщество🤓.