Tmux против экрана: какой терминальный мультиплексор лучший?

Tmux против функции экрана

Когда вы часто работаете с терминалами в Linux, вы обязательно столкнетесь с трудностями, когда захотите работать в многозадачном режиме. Несколько окон или вкладок - это нормально, но когда вы вошли на удаленный сервер или другую систему, у вас не всегда есть доступ к вкладкам или нескольким окнам терминала. Вот тут и появляются стойкие члены мира системного администрирования Linux tmux и screen. Но, как и все в сообществе открытого исходного кода, выбор здесь не ясен. относительно того, какая из этих команд лучше подходит для вашего использования. Сегодня мы проведем вас через tmux и screen, чтобы решить, какой мультиплексор терминала является лучшим.

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

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

Отсоединение и повторное присоединение

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

Разделенный экран

Вы также можете разделить сеанс терминала на плитки, создав сразу несколько видимых сеансов терминала. Это замечательно, если вы отслеживаете несколько различных аспектов использования системных ресурсов, таких как мощность, ОЗУ, ЦП и дисковый ввод-вывод, и хотите использовать разные мониторы для отслеживания этих разных вещей. Или вы можете следить за системным монитором во время компиляции или сжатия большого проекта, что упрощает отслеживание нагрузки, если что-то пойдет не так.

Управление сессией

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

Особенности tmux

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

Tmux против экрана Первоначальный вид Tmux 1
Tmux против экрана Tmux Detach 1
Tmux против экрана Tmux Ls 1
Tmux против экрана Tmux Attach 1
Tmux против экрана Tmux Split Vertical 1
Tmux против экрана Tmux Split Vertical Resize Left 1
Tmux против экрана Tmux Split Vertical Resize Right 1
Tmux против экрана Tmux Split Horizontal 1

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

Особенности экрана

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

Tmux против экрана экрана 1
Tmux против отсоединения экрана экрана 1
Tmux против экрана экрана Ls 1
Tmux против экрана повторного подключения экрана 1
Tmux против экрана Screen Named Session 1
Tmux против экрана Splitscreen 1

Еще один плюс в том, что если вы используете Mac, вам не нужно возиться с homebrew, чтобы установить экран - он встроен прямо в терминал.

Экран против tmux в двух словах

Если бы мне пришлось предложить один, я бы предложил tmux. Есть несколько вещей, которые делают tmux лучше. Отличным примером является то, как вы можете переключить attach с помощью kill-session и завершить сеанс без необходимости возвращаться, завершите команду, затем введите exit код>. Кроме того, строка состояния легче читается, а команды немного более удобочитаемы.

Для пользователя macOS экран может быть более удобным, так как для работы homebrew не требуется.

Обязательно ознакомьтесь с некоторыми другими нашими статьями об инструментах Linux, такими как 15 ls-команды, вам которые нужно знать, наше руководство для начинающих по git и наше руководство по bash. переменные и способы их использования.

По теме: