2017-05-21

waqur: (Default)
Весь мой UNIX experience делится на две части: до того, как я впервые установил терминальный мультиплексор tmux, и после этого.

Первоначальная мотивация к инсталляции программы заключается в том, чтобы обрыв ssh-подключений к серверу не приводил к закрытию подключённых к виртуальному терминалу процессов в результате доставки им сигнала SIGHUP. Затем к хорошим вещам привыкаешь быстро: можно оставить на ночь на сервере любую долго выполняющуюся задачу (инсталляцию, компиляцию, обновление, ...); можно экономить мобильный трафик и время, не передавая ssh-клиенту весь тот мусор, который выдаётся на экран во время выполнения таких задач; можно держать постоянно открытые окна для мониторинга состояния сервера (top, iftop); можно легко и удобно менять клиентские устройства, не прерывая серверный контекст; можно даже видеть один и тот же экран и суммировать клавиатурный ввод при подключении с нескольких устройств.

Обычно советы для новичков сводятся к чтению объёмной manual page и запоминанию многочисленных клавиатурных комбинаций, но как по мне — это лишнее. Начать следует с самого простого:

~/.tmux.conf:
set -g status-fg white
set -g status-bg red
set -g prefix C-a
unbind C-b
bind C-a send-prefix
set -g base-index 1


~/.bash_profile:
if [ $TERM = "xterm" ]; then
 ( (tmux has-session -t remote && tmux attach-session -t remote) || \
   (tmux new-session -s remote) ) && exit 0
 echo "tmux failed to start"
fi
if [ $TERM = "screen" ]; then
 clear
 cat /etc/motd
fi


А далее запомнить только три комбинации:
"Ctrl+A цифра" переключает окна
"Ctrl+A C" создаёт новое окно
"Ctrl+A D" отсоединяет от сервера (без потери контекста на сервере)

Большего мне не понадобилось и через пять лет после начала использования программы. Может, я использую 1% возможностей tmux, но этого вполне достаточно, чтобы повысить удобство удалённого администрирования в разы.

July 2017

S M T W T F S
      1
2345 678
9101112131415
16171819202122
23242526272829
3031     

На этой странице

Автор стиля

Развернуть

No cut tags
Page generated 2017-07-22 12:40 pm
Powered by Dreamwidth Studios