Подключение к экрану и уничтожение
Для возврата в экран нужно выполнить команду:
Screen -R pid.yourtitle
Screen -r pid
Screen -r yourtitle
Чтобы отключиться от экрана и уничтожить его, вводим при открытом экране ++, .
Чтобы уничтожить закрытый экран, посылаем в него команду kill, вводим.
Screen — это полно-экранная программа, которая может быть использована для мультиплексов физической консоли между несколькими процессами (обычно интерактивными оболочками). Она предлагает пользователю открывать несколько отдельных терминалов в одном оконном менеджере терминала.
На моей Ubuntu 10.04 Server Edition, Screen был установлен по умолчанию. Но, в Linux Mint нет Screen по умолчанию, мне нужно сначала установить его, при помощи команды apt-get. Пожалуйста, следите за процессом установки screen вашего дистрибутива.
# apt-get install screen (On Debian based Systems)
# yum install screen (On RedHat based Systems)
На самом деле, Screen — очень хорошая команда в Linux, которая скрыта внутри сотни Linux команд. Давайте стартанем, чтобы увидеть функции Screen.
Добавить пароль для блокировки screen
В целях безопасности, вы можете поставить пароль на вашу screen сессию. Ввести пароль будет предложено, когда вы хотите повторно приатачить screen. Этот пароль отличается от механизма блокировки экрана выше.
Чтобы защитить ваш экран паролем, вы можете редактировать файл “$HOME/.screenrc
”. Если файла не существует, его можно создать вручную. Синтаксис будет таким.
Password crypt_password
Чтобы создать «crypt_password
«, вы можете использовать команду «mkpasswd
» на Linux. Вот команда с паролем «pungki123
«.
mkpasswd
будет генерировать пароль, как показано выше. Как только вы получите пароль, вы можете скопировать его в файл «.screenrc
» и сохранить. Теперь файл «.screenrc
» будет выглядеть так.
Password l2BIBzvIeQNOs
При следующем запуске экрана отключите его, и пароль будет запрашиваться при попытке повторно включить экран, как показано ниже:
Введите пароль «pungki123
» и экран подключится снова.
Как только вы запустите запрос пароля экрана и нажмете «Ctrl-А
» и «х
«, то на выходе будет это.
Screen used by Pungki Arianto on mint.
Password:
Screen password:
Вам нужно будет ввести пароль два раза
. Первый раз — ваш пароль Linux
, второй — пароль, который вы положили в файл .screenrc
.
Отключить screen
Одним из преимуществ screen есть то, что его можно отключить. Затем вы можете восстановить его, не теряя информации, которую выполняли перед тем. Вот пример скрипта:
Вы находитесь в середине SSH-on
на вашем сервере. Давайте предположим, что вы скачиваете 400MB патча для вашей системы с помощью команды wget
.
Процесс загрузки займет около двух часов. Если отключить SSH
сессию или оборвать связь из-за аварии, то процесс загрузки остановится. Вам придется начать все с начала. Чтобы избежать этого, мы можем использовать screen и отключить его.
Взгляните на эту команду. Во-первых, вы должны войти в screen.
Затем вы можете создать процесс загрузки. Для примера, на моем Linux Mint я апгрейднул мой dpkg
пакет с помощью команды apt-get
.
Пример выходных данных
Reading package lists… Done
Building dependency tree
Reading state information… Done
The following packages will be upgraded:
dpkg
1 upgraded, 0 newly installed, 0 to remove and 1146 not upgraded.
Need to get 2,583 kB of archives.
After this operation, 127 kB of additional disk space will be used.
Get:1 http://debian.linuxmint.com/latest/ testing/main dpkg i386 1.16.10
47% 14,7 kB/s
d
После того как вы отключили screen, например, будем считать, что вы оборвали SSH
сессию и пошли домой. Дома вы запускаете SSH
снова на вашем сервере, и вы хотите увидеть как проходит процесс загрузки. Чтобы сделать это, вам нужно восстановить screen. Вы можете выполнить следующую команду:
И вы увидите, что процесс возобновился с того места, где вы его оборвали.
Если у вас есть более чем 1 screen
сессии, вам нужно ввести ID screen сессии. Используйте screen -ls, чтобы увидеть, сколько screen имеются.
Пример выходных данных
Если вы хотите, то восстановите screen 7849.pts-0
.mint, затем введите эту команду.
Показать параметры screen
Войдя в screen, можно выполнять различные действия, как и в нормальной окружающей среде CLI. Но так как screen — это приложение, поэтому оно имеет команды или параметры.
Наберите Ctrl-A
и ?
. Теперь вы увидите все команды или параметры на экране.
Screen key bindings, page 1 of 1.
Command key: ^A Literal ^A: a
break ^B b flow ^F f lockscreen ^X x pow_break B screen ^C c width W
clear C focus ^I log H pow_detach D select » windows ^W w
colon: hardcopy h login L prev ^H ^P p ^? silence _ wrap ^R r
copy ^[ [ help ? meta a quit split S writebuf >
detach ^D d history { } monitor M readbuf
Чтобы выйти из этого экрана, нужно нажать на кнопку «пробела
» или «Enter
«
(Обратите внимание, что все шоткаты, которые используют «Ctrl-A
«, используются без кавычек)
Залогинивание, которое вы делаете
Иногда важно, чтобы записать то, что вы сделали в то время, когда находились в консоли. Предположим, вы — администратор Linux, которые управляет множеством Linux серверов
С залогиниванием экрана вам не нужно записывать каждую команду, которую вы сделали. Для активации Функция регистрации экрана просто нажмите «strong>Ctrl-А» и «H
«. (Пожалуйста, будьте осторожны, мы используем большую букву H
. Использование маленькой буквы h
только создаст скриншот экрана в отдельном файле).
В нижней левой части экрана появится уведомление, которое сообщает: Creating logfile “screenlog.0
“. Вы найдете screenlog.0
файл в вашем домашнем каталоге.
Эта функция будет добавлять все, что вы делаете, когда находитесь в окне экрана. Закройте экран, чтобы залогиниться, нажмите «Ctrl-А
» и «Н
» еще раз.
Еще один способ, чтобы активировать функцию ведения журнала — вы можете добавить параметр «-L
«, когда screen запускается первый раз. Команда будет выглядеть следующим образом.