Представьте, что вы над чем-то работаете, и вам понадобилось параллельно сделать
что-то ещё. Вы можете просто прервать свою основную работу и переключиться на другую
задачу, но ведь это многопользовательская система, не правда ли? Вы ведь можете войти в
систему несколько раз, верно? Так почему вы должны выполнять только одну задачу?
А вы и не должны. Мы не можем иметь на своей машине несколько клавиатур, мышек и
мониторов. Большинству из нас они не понадобятся. Очевидно, что использование
дополнительного аппаратного обеспечения не решит проблему. Решение предоставляется
программному обеспечению, и Linux смело берёт это на себя, предоставляя
“виртуальные терминалы” или “ВТ”.
Нажимая Alt одновременно с функциональными клавишами, вы
можете переключаться между виртуальными терминалами; каждая функциональная клавиша
соответствует одному терминалу. По умолчанию Slackware имеет приглашения для входа в
систему (login'ы) на 6-ти ВТ. Комбинация Alt+F2 переключит вас во второй терминал, Alt+F3 - в третий и т.д.
Остальные функциональные клавиши зарезервированы для X-сеансов. Каждый X-сеанс
использует свой собственный ВТ, начиная с седьмого (Alt+F7) и до двенадцатого. При работе в X'ах комбинация Alt+Функц. клавиша заменяется на Ctrl+Alt+Функц. клавиша.
Поэтому если вы находитесь в X'ах и хотите перейти в консольный интерфейс (не завершая
X-сеанса), комбинация Ctrl+Alt+F3 переключит вас в третий терминал. (Alt+F7 вернёт вас назад в X'ы при условии, что вы работали в первом
X-сеансе.)
Однако как насчёт ситуаций, когда виртуальных терминалов просто нет? Что тогда? К
счастью в Slackware есть прекрасная утилита для управления “экранами” с
одноимённым названием - screen. screen
- это эмулятор терминала, который имеет виртуальные терминалы с похожими возможностями.
При запуске screen появится небольшая вводная информация о
программе, а затем вы будете возвращены в терминал. В отличие от стандартных виртуальных
терминалов screen имеет свои собственные команды. Все команды
screen начинаются с комбинации Crtl+A. Например, Ctrl+A+C создаст новый терминальный сеанс. Ctrl+A+N переключит вас в следующий терминал. Ctrl+A+P переключит вас в
предыдущий терминал.
screen также поддерживает отключение и повторное подключение
к сеансам screen, что довольно удобно при удалённой работе по
ssh и telnet (подробнее мы рассмотрим
их позже). Ctrl+A+D
отключит вас от текущего сеанса. Запуск screen -r выведет на
экран список всех запущенных на данный момент сеансов screen, к которым вы можете
подключиться.
% screen -r
There are several suitable screens on:
1212.pts-1.redtail (Detached)
1195.pts-1.redtail (Detached)
1225.pts-1.redtail (Detached)
17146.pts-1.sanctuary (Dead ???)
Remove dead screens with 'screen -wipe'.
Type "screen [-d] -r [pid.]tty.host" to resume one of them.
|
Запуск screen -r 1212 подключит вас к первому в списке
сеансу. Я упоминал ранее о том, насколько это удобно при удалённой работе. Если я
авторизовался на удалённом сервере Slackware по ssh, и моё
подключение было разорвано по каким-либо причинам (например, перебои с питанием на
локальной машине), тогда вся моя работа катилась коту под хвост, что могло иметь ужасные
последствия для настраиваемого мною сервера. С использованием screen такого не происходит. При разрыве соединения вы просто
отключаетесь от сеанса. После восстановления соединения вы можете вновь подключиться к
своему сеансу screen и спокойно продолжить работать.