====== 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 затем ]