LINUX.ORG.RU

История изменений

Исправление shahid, (текущая версия) :

Все эти фичи вторичны. У screen основные проблемы:

  • Для синтаксиса конфига используется язык вымершей расы инопланетян. Когда начинаешь понимать синтаксис, то через месяц отрываешь свой конфиг и уже ничего не понимаешь, и надо снова читать ман. Это write-only язык для write-once конфига.
  • Часть функций реализована в виде патчей. Можно посидеть попатчить, но мне надо работать.
  • Вечные проблемы с keycodes типа съезжание F-клавишь и т.д. Можно исправить костылями в конфигах и патчами, но опять же...
  • Хронически убогий дефолтовый конфиг. tmux включил первый раз, и сразу видно, что он запущен и все панели видны и всё ок. Да, можно вслепую скопипастить готовый screenrc с локалхоста, но это лишние телодвижения.
  • screen жестко привязывается к /dev/pts/N, которая привязана к юзеру. Соответственно, если ты админишь сервак и логинишься то под root, то под юзером, то легко заметить проблему: деаттаченную screen-сессию юзера нельзя присоединить, залогинившись из под root через su - user. И наоборот. Эта архитектурная особенность противоречит здравому смыслу. Надо разлогиниться и зайти снова залогиниться напрямую (без su/sudo) под нужным юзером ИЛИ руками поменять права на терминал /dev/pts/N. Конечно, со временем начинаешь рефлекторно избегать этой ошибки, но: это затраты времени, а в tmux этой проблемы нет и не было никогда.
  • Можно ещё кучу мелочей вспомнить.


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

Исходная версия shahid, :

Все эти фичи вторичны. У screen основные проблемы:

  • Для синтаксиса конфига используется язык вымершей расы инопланетян. Когда начинаешь понимать синтаксис, то через месяц отрываешь свой конфиг и уже ничего не понимаешь, и надо снова читать ман. Это write-only язык для write-once конфига.
  • Часть функций реализована в виде патчей. Можно посидеть попатчить, но мне надо работать.
  • Вечные проблемы с keycodes типа съезжание F-клавишь и т.д. Можно исправить костылями в конфигах и патчами, но опять же...
  • Хронически убогий дефолтовый конфиг. tmux включил первый раз, и сразу видно, что он запущен и все панели видны и всё ок. Да, можно вслепую скопипастить готовый screenrc с локалхоста, но это лишние телодвижения.
  • screen жестко привязывается к /dev/pts/N, которая привязана к юзеру. Соответственно, если ты админишь сервак и логинишься то под root, то под юзером, то легко заметить проблему: деаттаченную screen-сессию юзера нельзя присоединить, залогинившись из под root через su - user. И наоборот. Эта архитектурная особенность противоречит здравому смыслу. Надо разлогиниться и зайти снова залогинится напрямую (без su/sudo) под нужным юзером ИЛИ руками поменять права на терминал /dev/pts/N. Конечно, со временем начинаешь рефлекторно избегать этой ошибки, но: это затраты времени, а в tmux этой проблемы нет и не было никогда.
  • Можно ещё кучу мелочей вспомнить.


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