Команди Linux і навички оболонки
tmux і екран: порівняння менеджерів сеансів
tmux і screen вирішують ту саму давню проблему: ваша робота не повинна вмирати разом із вашою мережею. Сеанси живуть на сервері, переживають відключення та можуть бути розділені на панелі; screen — це стабільний предок, який поставляється скрізь, tmux — наступник із розумнішими параметрами за замовчуванням, панелями зі сценаріями та екосистемою, яка змінилася. Функціонально вони перекриваються десять до одного, і чесним вибором є інструмент, який уже є у ваших серверів, а також конфігураційні звички, які ваша команда фактично збереже.
Головне
- Гігієна сеансу є основною цінністю: tmux new -s deploy / screen -S deploy для запуску, tmux ls / screen -ls для перегляду ферми та прикріплення за точним ім’ям, тому повторне приєднання нічного завдання колеги є пошуком, а не здогадкою.
- Витончено відокремити (префікс-d), вийти навмисне: закриття всього сеансу з виходом усередині панелей — це те, як втрачаються напівзавершені довгі завдання; «від’єднатися, якщо ти справді цього не мав на увазі» — це звичка, а не перевага.
- Розділення поводяться краще в tmux: % і " розділяють панелі, плюс зміна розміру стрілки під префіксом і додатковий режим миші; екран підраховує | і S до тих самих кінців із більш вибагливою зміною розміру.
- Прокрутка назад є вирішальною: режим копіювання tmux шукає в історії ([ потім /), навігація ^a [ на екрані працездатна, але груба, а пошук у хвостах журналу на кілька ГБ перевищує прокручування.
- Можливість сценарію нахиляється до tmux: ключі надсилання та панель захоплення дозволяють автоматизації керувати сеансами читання, тому CI та tooling glue віддають перевагу цьому; екран також може перейти туди, але зі старішими ідіомами.
- Спільні сеанси працюють в обох: два підключення до одного сеансу відображають усе живе, тобто пара налагодження або перевірка приятелем ризикованої команди в режимі реального часу; продовжуйте набирати текст, або дзеркало також покаже ваші помилки.
- Культура конфігурації відрізняється: tmux створив розділену екосистему конфігурації (теми, плагіни, розумні параметри за замовчуванням для кожної команди), екран працює на одному ~/.screenrc; на практиці tmux масштабується для команди, а екран залишається персональним.
- Перезавантаження закінчують усе: сеанси живуть у пам’яті сервера, тому для довгих завдань потрібні реальні завдання (журнали, контрольні точки, сценарії, які можна перезапускати), а також менеджер сеансів поверх; tmux — це страхування, а не довговічність.
Польова нотатка
Втрачений сеанс був шестигодинним перенесенням даних, припиненим через збій VPN, і ніщо на диску не знало, на якому етапі ми знаходимося. Усе, що довший за перерву на каву, тепер отримує назву в tmux і продовжує наступного ранку tmux ls замість знизування плечима.
Часті запитання
Якщо я вивчу лише одну, яку?
tmux, якщо ваш парк вже не працює скрізь; його параметри за замовчуванням, сценарії та імпульс спільноти – це те, до чого пішло останнє десятиліття, а звички передаються достатньо добре, щоб покрити екранну надзвичайну ситуацію.
Чи безпечно двом людям проводити один сеанс?
Так, і це стандартний крок для налагодження пари; обидва бачать ідентичні натискання клавіш, тому домовтеся про те, кому належить клавіатура, і сприймайте будь-яку деструктивну команду як запит на зміну з другою парою очей.
Чому в моєму сеансі кольори виглядають неправильно?
Невідповідності TERM: внутрішній термінал має оголосити tmux-256color або screen-256color, віддалений хост має мати запис (infocmp повідомляє вам), і розбірливість перш за все, гордість теми потім.
Чи зберігаються сеанси після перезавантаження сервера?
Ні: сеанси зберігаються в пам’яті, і перезавантаження очищає їх, поки живуть диски; перезавантажувані сценарії та журнали на диску є рівнем довговічності, tmux є рівнем переривання, а плутати ці два є класичним збоєм.
Допомога Kinetikatech: команди linux і навички оболонки
Ми бралися за це сотні разів: Команди та сценарії, які вирішують, чи керує адміністратор сервером, чи бореться з ним: шукайте, трансформуйте, пересилайте та контролюйте текст і процеси за допомогою інструментів, які присутні в кожній базовій установці. Служба Безпека серверів Linux та Адміністрування серверів дає замкнений цикл: ми оцінюємо, впроваджуємо, цілодобово стежимо й підхоплюємо за 30 хвилин, коли це критично.