screen

Александр Попов

Александр Попов

Часто работаешь удаленно? собираешь кеды из портов через ssh))? Тогда screen для тебя. Даже если терминал отпал, мы сможем подключится и продолжить работу! а теперь более детально.

SCREEN – полноэкранный и достаточно мощный консольный оконный менеджер с поддержкой скроллинга и поиска в окне и функцией копирования-вставки между ними. Наиболее интересная функция данного менеджера заключается в том что Вы можете в любой момент отсоединиться от своего screen`a и закрыть сеанс работы в шеле. После этого Вы можете присоединившись к screen`у вновь продолжить свою работу с того места где Вы остановились.

Пункт 0. Установить(да, у меня csh)
cd /usr/ports/sysutils/screen
make install clean && rehash

Пункт 1. Янихачуничивонастраивать
Что же нет ничего сложного, подключаемся по ssh, запускаем screen. жмакаем Enter. вилкамен терминал онлайн

HOTKEYS:
Ctrl+a c (create) – создания нового окна
Ctrl+a a – Для переключения между активным окнами.
Ctrl+a НОМЕР – выбор окна по номеру.
Ctrl+a (p|n) – циклическое перемещение между окнами. p – prev, n – next.
Ctrl+a “ – список окон для переключения.
Ctrl+a A – изменить заголовок окна. Аналогично вводу команды title при нажатии Ctrl+a :
Ctrl+a C – очистить окно.
Ctrl-a d – Отключиться от сеанса screen. (Присоединиться можно командой screen -r)
Ctrl+a F – подогнать размер окна под текущий размер терминала.
Ctrl+a H – протоколирование окна в файл screenlog.<НОМЕР ОКНА>
Ctrl-a k – Закрыть текущее окно с подтверждением.
Ctrl+a K – уничтожить окно.
Ctrl+a M – режим слежения за активностью в окне. Если в момент этого вы находитесь в другом окне – в подсказке будет выведено:activity in window <НОМЕР ОКНА>
Ctrl+a r – переключение режима переноса по словам. (wrap)
Ctrl+a S – очень интересный режим работы. Сплит. Текущее окно разделяется на две части и в них можно открыть по новому окну. Переключение между окнами Ctrl+a; TAB, выход из режима сплит – Ctrl+a Q.
Ctrl+a ? – помощь
Ctrl+a Esc – режим скроллинга. Он же режим копирования. Для копирования подведите курсор к нужному месту и нажмите пробел.
Ctrl+a ] – Вставка выделенной области.
Ctrl+a x – Запереть менеджер. При вкомпиленной поддержке PAM – для разблокировки нужно ввести пароль пользователя от которого запущен менеджер. В обратном случае пароль для разблокировки будет запрошен при блокировании.

Опции запуска screen:
-ls (-list) Не запуская screen выдает список отсоединенных screen’ов.
-r [pid.tty.host] Подключиться к screen или же к определенной сессии.
-x Присоединиться к неотсоединенному screen – позволяет одновременно
работать с разных мест разным людям. Удобно для удаленного
обучения (хотя в FreeBSD есть watch).
-R Пытается присоединиться к первому найденному отсоединенному
screen. Если не находит – создает новый screen.

Файл настройки находиться в файле /usr/local/etc/screenrc
Я лично ничего менять не захотел, ну разве что всякие украшательства

vbell on # визуальный биппер.
vbell_msg "Uh! - Uh! - bzzz "  #то, что он бипер пишет в строке статуса
startup_message off  #выключает сообщение об авторских правах при запуске screen`а. 
defscrollback 10000 #количество строк по умолчанию для буфера прокрутки. 
# Строка состояния в screen (hardstatus)
hardstatus alwayslastline "%{=b}%{g}Window: %{b}%w %=%{kG}%с %D %Y-%m-%d"
# Расшифровка:
# %{=b} - черный цвет фона строки. 
# %{g} Window: - слово 'Window: ' зеленоe
# '%{b}%w' - список запущенных окон (звездочкой будет указан активное окно)
# '%=' - все, что идет после этого выравнивается по правому краю
# '%{kG}%с' - показывает время, я люблю формат 24-часа, без pm|am (%C%A - 12часовой с PM|AM)
# '%D, %Y-%m-%d' - показывает дату

Если есть желание поковырять настройки из самой программы, то в запущенном screen пишем
Ctrl-a :

Литература:
1. http://nexus.org.ua/weblog/message/351/
2. http://club.shelek.ru/viewart.php?id=308
3. http://xgu.ru/wiki/man:screen

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *