flip:linux:screen
SCREEN
Screen — это терминальный мультиплексор, позволяющий создавать несколько виртуальных терминалов в одном окне, отключаться от них и подключаться заново.
Установка
# Для Debian/Ubuntu: sudo apt install screen # Для CentOS/RHEL: sudo yum install screen
Основные способы запуска
# Простой запуск screen # Запуск с именем сессии screen -S session_name # Подключение к существующей сессии screen -r session_name # Список активных сессий screen -ls
Основные горячие клавиши
Все комбинации начинаются с Ctrl+A, затем отпускаем и нажимаем следующую клавишу:
- Ctrl+A c - создать новое окно
- Ctrl+A n - следующее окно
- Ctrl+A p - предыдущее окно
- Ctrl+A 0-9 - переключение на окно по номеру
- Ctrl+A d - отключиться от сессии (остаётся работать в фоне)
- Ctrl+A k - убить текущее окно
- Ctrl+A A - переименовать текущее окно
- Ctrl+A « - список всех окон
- Ctrl+A \\ - завершить все окна и выйти из screen
- Ctrl+A ? - помощь (список всех команд)
Примеры использования
1. Создание именованной сессии:
screen -S my_session
2. Запуск команды в screen и отключение:
screen -dmS long_task bash -c "sleep 3600; echo Done"
3. Подключение к сессии:
screen -r my_session
4. Разделение экрана по вертикали:
- Ctrl+A затем |
- Переключение между областями: Ctrl+A затем Tab
5. Работа с несколькими окнами:
# Внутри screen: Ctrl+A c # создать новое окно Ctrl+A n # переключиться на следующее окно Ctrl+A 1 # перейти к окну 1
6. Отправка команды в запущенный screen
screen -S my_session -X stuff "ваша_команда\n"
screen -S my_session -X stuff "ls\n"
Убедитесь, что \n
добавлен, чтобы эмулировать нажатие [Enter].
Полезные советы
- Можно использовать
~/.screenrc
для настройки screen - Для выхода из всех окон используйте
exit
в каждом окне - Сессии screen сохраняются после разрыва SSH-соединения
- Для копирования текста в screen: Ctrl+A затем [ (потом пробел чтобы начать выделение, Enter чтобы скопировать)
- Для вставки: Ctrl+A затем ]
flip/linux/screen.txt · Последнее изменение: 2025/06/21 08:57 — flip