Горячие клавиши
Префикс — Ctrl+a, затем клавиша:
Держит сессию терминала на сервере после разрыва SSH; сессии живут в памяти и не переживают перезагрузку сервера.
screen -S name
новая именованная сессия
screen -ls
список сессий
screen -r name
подключиться к сессии
screen -d -r name
отцепить с другого терминала и подключить к себе
Ctrl+a d
отключиться — сессия продолжает работать
screen -dmS job cmd
запустить detached сразу, для скриптов
-S даёт сессии имя вместо номера pid — без него screen -ls показывает
малопонятные идентификаторы. -d -r решает частую проблему «сессия занята
другим терминалом»: сначала отцепляет её оттуда, потом подключает к
текущему.
| Ключ | Что делает | Пример |
|---|---|---|
-S name |
Дать сессии имя вместо номера pid — проще найти в списке. | screen -S work |
-ls |
Показать список запущенных сессий и их состояние (Attached/Detached). | screen -ls |
-r name |
Подключиться к отцепленной сессии по имени. | screen -r work |
-d |
Отцепить сессию от текущего терминала (используется вместе с -r для перехвата). | screen -d -r work |
-dmS name |
Запустить команду сразу в отцепленной сессии — удобно для скриптов и cron. | screen -dmS job long-running-command |
-X command |
Отправить управляющую команду в сессию по имени, не подключаясь к ней. | screen -X -S job quit |
Ничего не найдено. Попробуй запрос короче.
Префикс — Ctrl+a, затем клавиша:
~/.screenrc (частое):
Сессии нет (закрылась/ребут). screen -ls покажет, что есть. Сессии в памяти —
перезагрузка их убивает (для устойчивых служб — systemd).
Сессия «прилипла» к другому терминалу: screen -d -r work (отцепить и подключить).
Ctrl+a затем C (очистить) или переподключись. Проверь $TERM (xterm-256color).
screen по умолчанию прокручивается через copy-mode (Ctrl+a [). Увеличь буфер
defscrollback в ~/.screenrc. Для мыши/панелей удобнее tmux.
Есть неточность? Сообщить об ошибке в статье