tmux по сравнению с экраном

Я собираюсь возвратиться в использование Экрана GNU, но я слышал, что люди иногда упоминают tmux как лучшую альтернативу. Это действительно предлагает альтернативу всем предложениям функций Screen, таким как действие, контролирующее в различных окнах, и т.д.? Каковы за и против каждого?

271
задан 17.01.2016, 20:16

2 ответа

Некоторые (главные) причины я предпочитаю tmux screen:

  • Строку состояния намного легче использовать. Можно легко настроить другой текст/стили для текущего окна, окон с действием, и т.д. и можно поместить вещи слева и право на строку состояния, включая команды оболочки, которые могут быть выполнены в указанном интервале (15 по умолчанию).
  • Почти любая команда можно работать внутри tmux может быть выполнен от оболочки с tmux command [args]. Это делает это очень легко scriptable, а также помогающий сделать сложные команды.
  • Намного более точное автоматическое переименование окна. В то время как screen устанавливает заголовок на основе первой команды и требует, чтобы конфигурация оболочки сделала даже это в окне оболочки, tmux отслеживает то, что процессы на самом деле выполняют в каждом окне, и обновляет заголовок соответственно. Таким образом, Вы получаете динамическое переименование с любой оболочкой и обнуляете конфигурацию. Например: Скажем, Вы выполняете Shell Z; имя окна было бы "zsh". Теперь скажем, Вы хотите отредактировать некоторый конфигурационный файл, таким образом, Вы вводите sudo emacs /etc/somefile. В то время как sudo просит Ваш пароль, имя окна будет "sudo", но после того как Вы сделали это и sudo запуски emacs, заголовок будет "emacs". Когда Вы все сделаны, и Вы выходите emacs, заголовок возвратится к "zsh". Это довольно полезно для отслеживания окна, и может также быть особенно полезно в определенных ситуациях, как то, если у Вас есть некоторый продолжительный процесс в другом окне, которое иногда предлагает Вам входное использование dialog; имя окна изменилось бы на "диалоговое окно", когда это произошло, таким образом, Вы будете знать, что необходимо было переключиться на то окно и сделать что-то.
  • Более Хорошая сессия, обрабатывающая (по моему скромному мнению). Можно сделать намного больше с сессиями в tmux самостоятельно. Можно легко переключиться, переименовать, и т.д. и можно переместить и совместно использовать окна между сессиями. Это также имеет другую модель, где у каждого пользователя есть сервер, который управляет его сессиями и с которым соединяется клиент. Оборотная сторона этого - то, что, если сервер отказывает, Вы теряете все; у меня никогда не было катастрофического отказа сервера на мне, все же.
  • tmux кажется, более активно разрабатывается. Довольно часто существуют обновления, и можно зарегистрировать отчет об ошибках или запрос новых функций согласно этому FAQ и получить ответ в течение нескольких дней.

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

171
ответ дан 07.12.2019, 07:39

Вещи я выхожу из tmux, который я не получаю легко на экране:

  1. сделайте вертикальные разделения области
  2. мультиплексирование, которое мы используем для удаленного и локального соединения.
8
ответ дан 07.12.2019, 07:39

(Сессии являются наборами окон, которые могут быть отсоединены и повторно прикреплены позже. Windows может содержать одну или несколько областей. Например, конфигурации, проверьте здесь и здесь.)

tmux

  • Профессионалы
    • Может отправить ключи к другим областям, отчасти как IDE
    • Легкие привязки клавиш - с правильной конфигурацией, Вы будете чувствовать себя как дома от Vim или Экрана
    • Выход Vim и встроенная привязка Emacs-выхода
    • Управление наглядностью, много как менеджер окон мозаичного размещения
    • Unicode, кажется, Просто Работает с современными терминалами
    • Некоторые терминальные проблемы, устраненные с TERM=tmux
  • Недостатки
    • Медленный - не уверенный, почему, но нажатия клавиш кажутся отстающими больше никаких проблем с замедлением
    • Мультиплексирование вызывает общую ширину сессии и высоту к самому маленькому приложенному терминалу
    • Отказал многократно на Mac OS X, проиграв всю сессию
    • Перестал работать на Linux после обновления, где я не мог соединиться снова со своей старой сессией
    • Иногда пропускает нажатия клавиш команды - ^A ^ [берет несколько попыток режима копии
    • Не может переместить область от одного окна до другого Фиксированного с join-pane команда
    • Никакое разворачивание строки (или "обратное течение" или "повторно переносятся") после терминального изменения ширины (изменение размеров окна)

Экран GNU

  • Профессионалы
    • Чрезвычайно стабильный (v1.0 был в 1987),
    • Некоторые терминальные проблемы, устраненные с TERM=screen
    • Привязка Emacs-выхода встроена
    • Легкий переместиться и управлять горизонтальными областями
    • При мультиплексировании любой приложенный терминал может изменить размер области
  • Недостатки
    • Никакие вертикальные разделения без патча (за исключением Ubuntu)
    • Разделения области потеряны при отсоединении
    • Получение Unicode работать берет немного изящества и определения
    • Сумасшедшая конфигурация строки состояния
97
ответ дан 07.12.2019, 07:39

Теги

Похожие вопросы