Работа в screen FreeBSD

Автор: Dark

Кто-то ругает screen за то, что им неудобно пользоваться. С моей точки зрения, screen великолепен!

У скрина есть конечно и недостатки:

1. далеко неочевидные хот-кеи

2. размер man-а (думаю, получивших пожизненное заключение людей можно выпускать на свободу, если они смогут выучить man screen наизусть :)

$ man screen | wc -l

3423

$

Да, всего лишь три с половиной тысячи строк.

Поэтому, эта статейка, конечно, man не заменит, но поможет новичкам освоить основы работы со screen, а это очень и очень полезная утилитка. Основное её предназначение - создание виртуального терминала в шелле. Преимущества:

1. Можно создать до 40 независимых друг от друга терминалов

2. Сохранение сеанса внутри машины - обеспечивает продолжение сеанса в случае разрыва ssh-сессии (Очень полезно при сборке чего-нибудь большого на удаленной машине)

3. Возможность запуска программ в фоновом режиме.

4. Возможность подключиться к имеющемуся скрину вне зависимости от географического местоположения, качества канала связи и любых других факторов. То есть на работе запустили, например, сборку kde4, пришли домой, поужинали, подключились к скрину и посмотрели чем все это закончилось.

Имеем сплошные удобства. Я лично использую скрин для подключения к серверам. На одной из машин с очень большим аптаймом висит скрин с подключениями к различным серверам. Достаточно попасть на эту машину и я имею ко всем к ним доступ. Безусловно удобно, однако вопрос безопасности здесь крайне важен. Такая машина должна быть хорошо зафаерволена и иметь сложный пароль.

От лирики к физике. Ставим:

# cd /usr/ports/sysutils/screen/

# make install clean

Самое главное, это не забыть запустить скрин. Запускается он командой screen. Очень неординарно. Основным хот-кеем является комбинация CTRL+A, после этого скрин ждет другой хот-кей и выполняет его:

### Создание, наименование и удаление окон

ctrl-a c - открыть новый терминал, новое окно

ctrl-a ctrl-c - открыть новый терминал, новое окно

ctrl-a SHIFT-A - переименовать текущее окно

ctrl-a k - удаляет текущее окно

ctrl-a ctrl-k - удаляет текущее окно

### Переключение между окнами

ctrl-a ПРОБЕЛ - следующее по номеру окно

ctrl-a space - следующее по номеру окно

ctrl-a n - следующее по номеру окно

ctrl-a ctrl-n - следующее по номеру окно

ctrl-a backspace - предыдущее по номеру окно

ctrl-a h - предыдущее по номеру окно

ctrl-a p - предыдущее по номеру окно

ctrl-a ctrl-p - предыдущее по номеру окно

ctrl-a ctrl-a - переключение между текущим и предыдущим окнами

ctrl-a shift-" - список окон с названиями, можно выбрать нужное стрелочками и энтером

ctrl-a 1 - переключает в окно под номером 1

- - - - -

ctrl-a 9 - переключает в окно под номером 9

ctrl-a ctrl-' - переход в нужное окно по номеру (актуально, когда окон больше 10)

### Отключение от screen

ctrl-a d - Отсоединяет скрин

ctrl-a ctrl-d - Отсоединяет скрин

В отсоединенный скрин можно попасть, если ввести под тем же юзером screen -r.

В случае, если вы забыли отсоединить скрин с другой машины, можно принудительно прехватить скрин:

$ screen -rd

Где:

-r - восстановить (restore) screen

-d - отсоединить (detach) screen, если он к присоединен на другой машине.

Этих знаний уже достаточно, чтобы более-менее комфортно чувствовать себя в screen. Ну а когда захочется чего-нибудь особенного, а скрин может ой как много, милости просим man screen.

Последнее изменение: пятница, 6 марта 2009 г. 02:28:32

http://www.ounix.ru/index.php?page=article&id=31

Обновлено: 12.03.2015