Программа screen позволяет создавать несколько консольных сессий в одной «виртуальной» сессии, удобно отключаться и подключаться к виртуальной сессии без потери результата работы.
1. Итак, подключились по SSH к удаленной машине. Сразу запускаем сессию screen:
# screen
Нажимаем <пробел> или <Enter> и входим в сессию screen. Запустим для примера в данной сессии чтение журнала messages:
# tail -F /var/log/messages
2. Создадим новую сессию screen, для этого нажмем сочетание клавиш <Ctrl>+<a> а затем <c>. Откроется новая виртуальная сессия screen. Запустим в ней, скажем, чтение почтового лога:
# tail -F /var/log/exim/mainlog
3. Посмотрим список окон в нашей виртуальной сессии: <Ctrl>+<a> а затем <">:
Num Name 0 csh 1 csh
Видим списком перечисление сессий, к каждой можно подключиться.
4. Переименуем окна сессий в удобные для нас имена: <Ctrl>+<a> а затем <Shift>+<a>. Т.е. переключившись в нужную сессию, нажимаем указанное сочетание клавиш и вводим название. Т.о. у меня получился такой список:
Num Name 0 messages 1 mail
5. Пусть в этот момент времени произошел дисконнект, и вы заново подключились к серверу. Набираем в командной строке screen -ls и получаем примерный вывод:
# screen -ls There is a screen on: 24122.ttyp0.itcall (Detached) 1 Socket in /tmp/screens/S-root.
Значение «Detached» говорит нам о том, что мы отключены от сессии screen. Подключаемся!
screen -r 24122.ttyp0.itcal
И опять можем подключиться к нужной сессии. Т.е. результат работы в следствии внезапного пропадания связи не потерялся.
6. Идем дальше
Подключим к нашей запущенной сессии другого пользователя, чтобы он мог видеть, что происходит в данный момент на экране. Для этого он должен подключиться по SSH, используя то же имя пользователя, к серверу и ввести в командной строке:
# screen -x <имя_сессии>
Имя сессии можно посмотреть по screen -ls, а если на сервере только одна сессия screen, то этот параметр можно вовсе не указывать.
7. Полезные команды screen
Сочетание | Описание |
---|---|
Ctrl+a, ? | Помощь |
Ctrl+a, c | Создать новое окно в текущей сессии screen |
Ctrl+a, d | Отключиться от текущей сессии screen. Все сессии в screen остаются в рабочем состоянии. |
Ctrl+a, " | Показать список окон в текущей сессии screen |
Ctrl+a, ' | Переключиться на окно по номеру |
Ctrl+a, n | Переключиться на следующее окно |
Ctrl+a, p | Переключиться на предыдущее окно |
Ctrl+a, Shift+a | Переименовать текущее окно |
Ctrl+a, k | Закрыть текущее окно screen |
Ctrl+a, w | Перечислить списком все окна |
TAG: