November 18

Терминальный мультиплексор

Терминальный мультиплексор

Исходный сайт представленного материала: r4ven.me

Приветствую!

Сегодня в словарике линуксоида🐧 терминальный мультиплексор – инструмент, который очень часто используется в процессе администрирования 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

Источник: Habr
  • Написан на: С;
  • Лицензия: GPL 3.0;
  • Плюсы:
    • лёгкость установки (доступен практически во всех репозиториях);
    • простота конфигурации и работы;
    • проверенная временем стабильность.
  • Минусы:
    • ограниченный функционал по сравнению с современными аналогами;
    • несколько устаревший интерфейс, неудобство настройки горячих клавиш;
    • низкая активность разработки в последние годы.

Tmux

Источник: Habr
А вот, как выглядит моя конфигурация Tmux, про которую я расскажу в будущей статье:
  • Написан на: С;
  • Лицензия: ISC (BSD);
  • Плюсы:
    • гибкость настройки, возможность создавать сложные конфигурации;
    • активное сообщество и регулярные обновления;
    • поддержка плагинов для расширения функциональности🤯;
    • улучшенное управление окнами и панелями.
  • Минусы:
    • кривая обучения для новичков (особенно настройка конфигурационного файла);
    • некоторые функции требуют установки сторонних плагинов.

Zellij

Источник: zellij.dev
  • Написан на: Rust;
  • Лицензия: MIT;
  • Плюсы:
    • интуитивный интерфейс и продуманная система горячих клавиш;
    • расширенные возможности для работы с несколькими пользователями;
    • современный дизайн и активно развивающийся проект.
  • Минусы:
    • молодой инструмент, не такой стабильный, как tmux или screen;
    • меньшее количество плагинов и документации.

Wezterm

Источник: GitHub
  • Написан на: Rust;
  • Лицензия: MIT;
  • Плюсы:
    • интеграция с современными терминалами и поддержка GPU-рендеринга;
    • расширенные возможности кастомизации интерфейса посредством Lua;
    • по сути является полноценным терминалом.
  • Минусы:
    • сложность настройки для начинающих;
    • менее популярный в сообществе инструмент, поэтому сложнее найти помощь.

Заключение

Выбор терминального мультиплексора зависит, конечно же, от ваших требований и вкусов🤷‍♂️.

Я предпочитаю работать в Tmux, т.к. это был первый мультиплексор, с которым я познакомился😌. Еще конечно немаловажный фактор – это время и ресурсы, которые я потратил на настройку Tmux🤯, чтобы превратить его в идеальный для меня инструмент работы с консолью.

Если вы часто находитесь в окне терминала, но еще не работали с терминальными мультиплексорами, рекомендую обратить на них внимание👍.

Подписывайтесь на Вороний блог в телеграм: @r4ven_me📱, чтобы не пропустить новые посты. Если возникли вопросы или желание пообщаться по теме – заглядывайте в наш чат там же: @r4ven_me_chat💬. У нас вежливое микросообщество🤓.

Полезные источники