Screen – кілька екранів в одній SSH сесії
Screen — дуже зручна програма, якщо ви часто працюєте в консолі, підключившись до сервера SSH. У такому разіscreen дозволяє тримати в одній консолі кілька різних екранів, зручно перемикаючись між ними.
Установка screen
Для встановлення на Ubuntu потрібно виконати команду
Після цього потрібно запустити screen:
Після запуску ви побачите або запрошення командного рядка, або «екран привітання», натиснувши SPACE або ENTER в якому ви так само потрапите в shell. При цьому всі команди будуть запущені вже усередині screen'у.
Якщо потрібно слухати log-файл постійно та виводити їх на екран. Створимо нову консоль screen так:
Для того, щоб вийти зі screen'а (вийти, а не від'єднатися) достатньо вийти зі всіх відкритих в ньому оболонок, або ж, натиснути комбінацію клавішCtrl+A, і відповісти «y» на запитання «дійсно ви хочете вийти».
Від'єднатися від поточного скрин, не закриваючи і не завершуючи сесії, можна комбінацієюCtrl+A потім d.
Підключення до screen
Якщо на машині вже є запущена screen-сесія, і ви хочете приєднатися до неї, то
- якщо сесія одна, досить просто команди:Ctrl+A потім x
- якщо сесій кілька, то: переглянути список запущених screen'ів можна командою screen -ls:
Вибираємо потрібний нам screen і приєднуємося до нього:
Назви сесій за умовчанням малоінформативні — просто номери процесів, якщо є бажання запустити і використовувати кілька screen-сесій для різних завдань, можна придумати назви. Вигадуємо назву, потім запускаємо новий screen ось таким чином:
де job1 - це назва нашої «іменованої» сесії. Тепер в -ls ми побачимо набагато зрозуміліше:
і зможемоприєднатися до сесії job1, просто вказавши її ім'я:
Перемикання між вікнами screen
Як ви вже зрозуміли, сесії зберігаються навіть у той час, коли ви відключені від сервера, і все, що в них запущено, продовжує виконуватися. Втім, на цьому можливості screen'у не вичерпуються. Іноді, під час роботи з ssh, дуже хочеться, щоб було відкрито відразу кілька терміналів. У цьому теж може допомогти screen.
Ctrl+A потім ? — вивести всі доступні команди та параметри, для виходу пробіл або EnterCtrl+A потім c — create створити вікно screenCtrl +A потім p — strongvios перейти до попереднього вікна screenCtrl+A потім n — next переключитися до наступного вікна screenCtrl+A потім d — deatached відключитися від screen залишивши сеанс працюючимCtrl+A потім K - kill убити сеанс screenCtrl+A потім x - блокування екрану, для розблокування необхідно ввести пароль Linux .Ctrl+A потім w — список запущених у скринях віконCtrl+A потім A — підписати назву різним вікнам у скриніCtrl+A потім — розділити вікна по вертикалі, після Ctrl+A вертикальна межа (не L маленька) або введіть split -vCtrl+A потім S — розділити вікна по горизонталіCtrl+A потім Tab — перехід між половинамиCtrl+A Q — приховати всі вікна та залишити тільки поточнеCtrl+D — вийти із сеансу screen
Копіювання тексту між вікнами та прокручування екрану
Ctrl+A потім [ — перемикає screen у Copy mode, при цьому можна переміщатися по вікну курсорними клавішами, для визначення початку текстового фрагмента тиснемо пробіл. Рухаючи стрілочками курсор, відзначаємо кінець виділення і знову тиснемо пробіл. Все фрагмент скопійований. Вставляється він у це чи інше вікнонатисканням[Ctrl+a] ].
Щоб вийти з цього режиму, просто натиснітьEsc.
Моніторинг виконання команди
Якщо відкрито кілька вікон, корисною може бути можливість стежити за активністю в одному з них. Наприклад, якщо ви запустили команду та цікаво дізнатися, коли вона завершиться. Переходимо у вікно з цією командою, тиснемо
Ctrl+A потім m - і включаємо моніторинг активності вікна. Тепер якщо текст вікна зміниться, то screen подасть звуковий сигнал, у списку вікон біля його імені буде відображено символ @, а внизу вікна на кілька секунд з'явиться напис Активність у вікні № ...!
Ведення лога та принт-скрин
Також можна вести трасування всього тексту, що видається у вікно у особливий файл screenlog. де N – номер вікна.
Ctrl+A потім H
Тепер усі результати вашої роботи логуватимуться і можна переглянути історію не лише введення, а й висновку.
Також команда для зняття поточного вікна
Ctrl+A потім h
Конфігурація screen
Конфігурується screen за допомогою файлу
/.screenrc, у вашому домашньому каталозі. Наприклад, можна написати туди:
Це дасть вам весь час видимий список відкритих вікон та іншу корисну інформацію внизу екрана.
Також при запуску Screen за замовчуванням виконуються команди із файлу /etc/screenrc та файлу .screenrc з домашнього каталогу користувача. Багато команд, які можна використовувати у файлах конфігурації, були розглянуті в таблицях вище в полі «Текстова команда». Нижче наведено приклад конфігурації Screen із файлу .screenrc:
Цей досить простий конфігураційний файл відкриває три вікна з іменами Work, Configuration, Logs, відповідно в особистому каталозі користувача, в каталозі /etc і каталозі /var/log . Після запускуна екрані буде перше вікно з ім'ям Work. На малюнку 1 представлений приклад роботи Screen із цим файлом конфігурації.
Завершення Screen
Якщо з якоїсь причини сесія screen перестає відповідати, її можна завершити. Для цього потрібно підключитись до потрібної сесії, потім натиснутиCtrl + A і ввести команду «:quit».