Когда вы часто работаете с терминалами в Linux, вы обязательно столкнетесь с трудностями, когда захотите работать в многозадачном режиме. Несколько окон или вкладок - это нормально, но когда вы вошли на удаленный сервер или другую систему, у вас не всегда есть доступ к вкладкам или нескольким окнам терминала. Вот тут и появляются стойкие члены мира системного администрирования Linux tmux
и screen
. Но, как и все в сообществе открытого исходного кода, выбор здесь не ясен. относительно того, какая из этих команд лучше подходит для вашего использования. Сегодня мы проведем вас через tmux
и screen
, чтобы решить, какой мультиплексор терминала является лучшим.
Особенности терминальных мультиплексоров
Поскольку и tmux
, и screen
являются терминальными мультиплексорами, есть несколько основных функций, о которых я хочу поговорить, потому что это делает различия между ними немного более очевидными. Обычно вы нажимаете определенную комбинацию клавиш, которая не регистрируется где-либо еще в системе, чтобы использовать различные функции вашего мультиплексора.
Отсоединение и повторное присоединение
Вы можете начать сеанс в терминальном мультиплексоре, выполнить некоторую работу и отсоединить его, чтобы убрать его с экрана. Это также сохранит этот сеанс, если вы выйдете из системы, что предотвратит потерю конфиденциальных данных. Затем вы можете снова прикрепить его, когда будете готовы, и вам нужно будет снова начать работать с ним.
Разделенный экран
Вы также можете разделить сеанс терминала на плитки, создав сразу несколько видимых сеансов терминала. Это замечательно, если вы отслеживаете несколько различных аспектов использования системных ресурсов, таких как мощность, ОЗУ, ЦП и дисковый ввод-вывод, и хотите использовать разные мониторы для отслеживания этих разных вещей. Или вы можете следить за системным монитором во время компиляции или сжатия большого проекта, что упрощает отслеживание нагрузки, если что-то пойдет не так.
Управление сессией
Терминальные мультиплексоры помогают отслеживать сеансы несколькими способами. Во-первых, когда вы отключаете несколько сеансов, вы можете сразу увидеть их все. Это хорошо, если вы начинаете несколько сеансов, а затем не уверены, к какому из них следует вернуться. Кроме того, вы также можете назвать или пометить сеансы, что упрощает отслеживание ваших рабочих пространств. Они начинают немного походить на виртуальные рабочие столы в типичной настольной операционной системе.
Особенности tmux
Одна из основных функций, которые мне очень нравятся в tmux, - это то, что вы можете управлять сеансами из обычного приглашения оболочки, не входя в созданный вами сеанс. (Вы можете узнать об использовании tmux здесь.) Отличный пример - уничтожение сеансов, которое можно сделать с помощью команды tmux kill-session
. Если вы точно знаете, что закончили конкретный сеанс tmux, вы можете просто убить его из командной строки.








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






Еще один плюс в том, что если вы используете Mac, вам не нужно возиться с homebrew, чтобы установить экран - он встроен прямо в терминал.
Экран против tmux в двух словах
Если бы мне пришлось предложить один, я бы предложил tmux. Есть несколько вещей, которые делают tmux лучше. Отличным примером является то, как вы можете переключить attach
с помощью kill-session
и завершить сеанс без необходимости возвращаться, завершите команду, затем введите exit код>. Кроме того, строка состояния легче читается, а команды немного более удобочитаемы.
Для пользователя macOS экран может быть более удобным, так как для работы homebrew не требуется.
Обязательно ознакомьтесь с некоторыми другими нашими статьями об инструментах Linux, такими как 15 ls-команды, вам которые нужно знать, наше руководство для начинающих по git и наше руководство по bash. переменные и способы их использования.
По теме: