Основные команды и комбинации клавиш менеджера окон screen в Linux

Для того, чтобы не открывать несколько ssh сессий, но иметь возможность разделять задачи, используя возможности терминала на полную существует менеджер окон терминала — утилита screen. Своего рода это более продвинутое решение предустановленных команд jobs, fg, bg, когда добавив после команды & мы отправляем команду в фоновые задачи. Однако, это не всегда удобно, в тех случаях, когда команды выбрасывают что-либо в stdout и нам нужно видеть этот вывод в терминале, причем по отдельности, а не так, что венегрет из выводов разных команд просто засрет одно и то же окно терминала.

Для начала устанавливаем утилитку, поскольку она не предустановлена:

apt install screen

Теперь основные команды screen

  • screen  — создаёт новую сессию
  • screen -S sessname — создаёт новую сессию с нашим названием
  • screen -ls — просмотр списка сессий
  • screen -r 44444 — вернуться в сессию по её id
  • screen -r sessname — вернуться в сессию по её названию

Работа в сессии осуществляется при помощи клавиш управления:

  • Ctrl + a  и c — создаёт новое окно
  • Ctrl + a  и w — просмотр списка окон
  • Ctrl + a  и номер окна — переход в окно с соответствующим номером
  • Ctrl + a  и « — просмотр окон и перемещение по ним с помощью стрелок вверх — вниз
  • Ctrl + a  и n — переход в следующее окно
  • Ctrl + a  и p — переход в предыдущее окно
  • Ctrl + a  и S — разделение окна по горизонтали
  • Ctrl + a  и | — разделение окна по вертикали
  • Ctrl + a  и Tab — перемещение по разделённым окнам
  • Ctrl + a  и X — скрыть текущее окно
  • Ctrl + a  и Q — скрыть все кроме текущего
  • Ctrl + a  и A  — переименовать окно
  • Ctrl + a  и \  — закрыть все окна и прекратить сессию
  • Ctrl + a  и k  — закрыть текущее окно
  • Ctrl + a  и d  — покинуть сессию(с возможностью возврата командой screen -r …)
  • Ctrl + a  и ?  — посмотреть весь список горячих клавиш

Весь синтаксис, опции и аргументы:

Использование: screen [-opts] [cmd [args]]
 или: screen -r [host.tty]

Параметры:
-4 Разрешить имена хостов только для адресов IPv4.
-6 Разрешить имена хостов только для адресов IPv6.
-a Заставить все возможности в termcap каждого окна.
-A - [r | R] Адаптировать все окна к новой ширине и высоте дисплея.
-c файл Чтение файла конфигурации вместо .screenrc.
-d (-r) Отключить запущенный экран в другом месте (и установить его здесь).
-dmS name Start as daemon: сеанс экрана в отдельном режиме.
-D (-r) Отключить и выйти из системы удаленно (и подключить здесь).
-D -RR Делать все, что нужно, чтобы получить сеанс экрана.
-e xy Изменить символы команды.
-f Управление потоком включено, -fn = выключено, -fa = авто.
-h линии Устанавливает размер буфера истории прокрутки.
-i Прерывать вывод раньше, когда управление потоком включено.
-l Режим входа включен (обновление /var/run/utmp), -ln = выключен.
-ls [матч] или
-list Ничего не делать, просто перечислите наш SockDir [на возможные совпадения].
-L [файл] Включить ведение журнала вывода. Установите имя файла журнала.
-m игнорировать переменную $ STY, создать новый сеанс экрана.
-O Выберите оптимальный выход, а не точную эмуляцию vt100.
-p window Предварительно выбрать названное окно, если оно существует.
-q Тихий запуск. Выход с ненулевым кодом возврата в случае неудачи.
-Q Команды отправят ответ на стандартный вывод процесса запроса.
-r [сеанс] Повторно подключиться к отдельному процессу экрана.
-R Повторно подключите, если возможно, иначе начните новый сеанс.
-s Оболочка для выполнения вместо $ SHELL.
-S sockname Назовите этот сеанс <pid> .sockname вместо <pid>. <Tty>. <Host>.
-t заголовок Установить заголовок. (имя окна).
-T термин Использовать термин как $ TERM для окон, а не как «экран».
-U Скажите экран для использования кодировки UTF-8.
-v Распечатать "Версия экрана 4.05.00 (GNU) 10-Dec-16".
-wipe [match] Ничего не делать, просто очистить SockDir [на возможные совпадения].
-x Прикрепить к неотсоединенному экрану. (Режим мультидисплея).
-X Выполнить <cmd> как экранную команду в указанном сеансе.

 

Оставить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *