Инструменты пользователя

Инструменты сайта


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

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki