Tmux в Linux – консольный менеджер окон для сисадмина

Привет! Писал как-то давно темку про screen – мега-удобная штука для администрирования серверов. Так вот, tmux на screen очень похож, прям очень-преочень.

Давайте покажу основные фишки и мы попробуем поработать.

Установка

Я не зря выделил под установку tmux целый раздел, ведь делается это всё …. за пару секунд одной командой:

# yum install tmux -y

Готово. Даже проще, чем в Windows (с его банальными Далее-Далее-Готово).

Возможности

Возможности богатые. Сразу после установки он готов к работе. Нужно только создать новую сессию [с именем] командой:

# tmux new [-s name]

или подключиться к уже имеющейся [по имени]:

# tmux attach [-t name]

Можно традиционно ознакомиться с мануалом (man tmux), но мы будем подходить к нему интуитивно. И скажу сразу, интуитивно разобраться что да как тут проблематично.

Итак, команды управления здесь выглядят весьма специфично:

  1. Ctrl+b c – создать новое окно. Сразу поясню, нажимаем <Ctrl+b>, отжимаем и сразу нажимаем вторую кнопку – <c>. Придётся потренироваться и регулярно практиковаться, чтобы достичь высот.
  2. Ctrl+b 0-9 – перейти в окно по номеру от 0 до 9. В нижней части экрана есть ряд пронумерованных вкладок – это наши окна.
  3. Ctrl+b w – отобразить список окон, можно выбрать любое и перейти в него, нажав Enter.
  4. Ctrl+b , – переименовать текущее окно (чтобы удобно было искать его в толще других).
  5. Ctrl+b “ – разделить окно по горизонтали.
  6. Ctrl+b % – разделить окно по вертикали.
  7. Ctrl+b вниз/вверх/влево/вправо – переместить курсов в соответствующее окно.
  8. Ctrl+b x – закрыть текущее окно.

Всяких фишек безумно много и я не вижу смысла перепечатывать целый мануал. Просто почитайте, если интересно. Мне этих хватает с головой. :)

Ещё одна особенность tmux – если подключились к серверу по ssh и подключились к сессии tmux, то в случае разрыва связи можно подключиться к сессии вновь на то же самое место, да и процессы в случае разрыва никуда не денутся, продолжат выполнение в фоне.

И ещё одна фишка, второй (третий, пятый) пользователь может войти на сервер по ssh и подключиться к той же самой сессии tmux и… можно организовать совместную работу в консоли или по крайней мере видеть то, что делает другой админ… Странно всё это, но вдруг кому-нибудь не хватает… А то потом появляются запросы типа “смотреть как админят Linux без регистрации и смс“.

Типовой сценарий

Ну чтож, обещал показать, как настраивать tmux… немножко. Покажу.

  1. Итак, запускаем новую сессию tmux;
    # tmux new -s test
  2. Запускаем в 0-ом окне top
    # top
    Переименуем в TOP
    Ctrl+b ,
    TOP
    <ENTER>
  3. Создаём новое окно
    Ctrl+b c
  4. Делим окно по горизонтали, тут будут выводы логов
    Ctrl+b ”
    В верхней запускаем постоянный вывод последних записей лог-файла:
    # tail -f /var/log/nginx/site.log
    Ctrl+b вниз
    Переход вниз. В нижней части запускаем постоянный вывод последних записей лог-файла fail2ban:
    # tail -f /var/log/fail2ban.log
    Переименуем в LOG
  5. Создаём новое окно
    Ctrl+b c
    Его оставим для консоли
  6. Создаём ещё окно и там запустим Midnight Commander, к примеру.

Пока хватит… Вот что у меня получилось:

При желании можно открыть ещё много окон, разделений экрана и т.д. Кстати, я подключился с другого терминала к этой же сессии tmux и вижу всё то же самое. Если один пользователь переключает окна – то они переключаются и на втором.

Интересно? Поделись с другом
Litl-Admin.ru

Comments:

Leave a Reply