Представьте, что вы над чем-то работаете, и вам понадобилось параллельно сделать что-то ещё. Вы можете просто прервать свою основную работу и переключиться на другую задачу, но ведь это многопользовательская система, не правда ли? Вы ведь можете войти в систему несколько раз, верно? Так почему вы должны выполнять только одну задачу?
А вы и не должны. Мы не можем иметь на своей машине несколько клавиатур, мышек и мониторов. Большинству из нас они не понадобятся. Очевидно, что использование дополнительного аппаратного обеспечения не решит проблему. Решение предоставляется программному обеспечению, и 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-сеансе.)
8.4.1. Утилита screen
Однако как насчёт ситуаций, когда виртуальных терминалов просто нет? Что тогда? К счастью в 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 и спокойно продолжить работать.