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