Одновременный доступ к системе
То, что Linux — многопользовательская и многозадачная система, проявляется не только в разграничении прав доступа, но и в организации рабочего места. Каждый компьютер, на котором работает Linux, предоставляет возможность зарегистрироваться и получить доступ к системе одновременно нескольким пользователям. Даже если в распоряжении всех пользователей есть только один монитор и одна системная клавиатура, эта возможность небесполезна: одновременная регистрация в системе нескольких пользователей позволяет работать по очереди без необходимости каждый раз завершать все начатые задачи (закрывать все окна, прерывать исполнение всех программ) и затем возобновлять их. Более того, ничто не препятствует зарегистрироваться в системе несколько раз под одним и тем же входным именем. Таким образом, можно получить доступ к одним и тем же ресурсам (своим файлам) и организовать параллельную работу над несколькими задачами.
Виртуальные консоли
Характерный для Linux способ организации параллельной работы пользователей — виртуальные консоли.
Допустим, что Мефодий хочет зарегистрироваться в системе ещё раз, чтобы иметь возможность следить за выполнением двух программ одновременно. Он может сделать это, не покидая текстового режима: достаточно нажать комбинацию клавиш Alt+F2, и на экране появится новое приглашение к регистрации в системе.
Welcome to Some Linux / tty2 localhost login: methody Password: [methody@localhost methody]$
Пример 7. Вторая виртуальная консоль
Мефодий ввёл свой новый пароль и получил приглашение командной строки, аналогичное тому, которое мы уже видели в предыдущих примерах. Нажав комбинацию клавиш Alt+F1, Мефодий вернётся к только что покинутой им командной строке, в которой он выполнял команду passwd для смены пароля. Приглашение в обоих случаях выглядит одинаково, и это не случайно — обе командные строки предоставляют совершенно эквивалентный доступ к системе, в любой из них можно выполнять любые доступные команды.
Наблюдательный Мефодий обратил внимание, что в последнем примере (tty2) первая строка приглашения оканчивается словом « tty2 ». « tty2 » — это обозначение второйвиртуальной консоли. Можно переключаться между виртуальными консолями так, как если бы Вы переходили от одного монитора с клавиатурой к другому, подавая время от времени команды и следя за выполняющимися там программами. По умолчанию в Linux доступно не менее 6-ти виртуальных консолей, переключаться между которыми можно при помощи сочетания клавиши Alt с одной из функциональных клавиш (F1–F6), с каждым сочетанием связана соответствующая по номеру виртуальная консоль. Виртуальные консоли обозначаются « ttyN », где « N » — номер виртуальной консоли.
виртуальная консоль Виртуальные консоли — это несколько параллельно выполняемых операционной системой программ, предоставляющих пользователю возможность зарегистрироваться в системе в текстовом режиме и получить доступ к командной строке.
Во многих дистрибутивах Linux одна из виртуальных консолей по умолчанию не может быть использована для регистрации пользователя, однако она не менее, если не более полезна. Если Мефодий нажмёт Alt+F12, он увидит консоль, заполненную множеством сообщений системы о происходящих событиях. В частности, там он может обнаружить две записи о том, что в системе зарегистрирован пользователь « methody ». На эту консоль выводятся сообщения обо всех важных событиях в системе: регистрации пользователей, выполнении действий от имени администратора ( root ), подключении устройств и подгрузке драйверов к ним и многое другое.
Пример двенадцатой виртуальной консоли показывает, что виртуальные консоли — довольно гибкий механизм, поддерживаемый Linux, при помощи которого можно решать разные задачи, а не только организацию одновременного доступа к системе. Для того, чтобы на виртуальной консоли появилось приглашение login: после загрузки системы, для каждой такой консоли должна быть запущена программа getty . Попробуйте нажать Alt+F10 — с большой вероятностью Вы увидите просто чёрный экран. Десятая виртуальная консоль поддерживается системой, однако чёрный экран означает, что для этой консоли не запущена никакая программа, поэтому воспользоваться её существованием не получится. Для каких именно консолей будет запущена программа getty — определяется настройкой конкретной системы. Впоследствии эта настройка может быть изменена пользователем. О том, как это может быть сделано, речь пойдёт в лекции Этапы загрузки системы.
Графические консоли
Впрочем, как ни широки возможности текстового режима, Linux ими не ограничен. Подробно работа в графическом режиме будет разбираться в последующих лекциях (см. лекцию Графический интерфейс (X11)). Сейчас важно заметить, что если при загрузке системы приглашение « login: » было представлено в виде графического окна, можно вернуться к этому приглашению, нажав комбинацию клавиш Ctrl+Alt+F7. Процедура регистрации здесь будет совершенно аналогична регистрации в текстовом режиме. С той разницей, что после идентификации пользователя (правильно введённого имени пользователя и пароля) Вы увидите не приглашение командной строки, а графическую рабочую среду. Как именно она будет выглядеть — зависит от того, какую систему Вы используете, и как она настроена.
Кроме того, что несколько пользователей (или несколько «копий» одного и того же пользователя) могут работать параллельно на разных виртуальных консолях, они могут параллельно зарегистрироваться и работать параллельно в разных графических средах. Обычно в стандартно настроенной Linux-системе можно организовать не менее трёх графических консолей, работающих одновременно. Переключаться между ними можно при помощи сочетаний клавиш Ctrl+Alt+F7–Ctrl+Alt+F9.
Чтобы переключиться из графического режима в одну из текстовых виртуальных консолей, достаточно нажать комбинацию клавиш Ctrl+Alt+FN, где «N» — номер необходимой виртуальной консоли.
Виртуальная консоль Linux
Виртуальная консоль (VC) — также известный как виртуальный терминал (VT) — это концептуальное сочетание клавиатуры и дисплея для компьютера с пользовательским интерфейсом.
Эта особенность некоторых операционных систем, таких как BSD, Linux и UnixWare, в которых системная консоль на компьютере может использоваться для переключения между несколькими виртуальными консолями для доступа к не связанным пользовательским интерфейсам. Виртуальные консоли восходят, по крайней мере, в Xenix из 1980 года.
Многие операционные системы Linux, включая FedoraCore и RedHat Enterprise Linux, Debian-подобные, ну, в общем все популярные и не популярные дистрибутивы Linux, запускают несколько виртуальных терминалов, позволяющих применять такое же количество командных интерпретаторов без использования графического интерфейса.
Клавиши для переключения между виртуальными терминалами
Для переключения между виртуальными терминалами применяются те же комбинации клавиш, что и для переключения между рабочими пространствами графического интерфейса. Нажмите клавиши Ctrl+Alt+F1; (или Ctrl+Alt+F2; Ctrl+Alt+F3; Ctrl+Alt+F4; и так далее до Ctrl+Alt+F6;) для переключения на один из шести виртуальных терминалов. За последним виртуальным терминалом находится графический интерфейс, поэтому для переключения в него (если он запущен) можно нажать клавиши Ctrl+Alt+F7; или Ctrl+Alt+F8.
Если в системе включено четыре виртуальных терминала, для переключения в графический интерфейс необходимо нажать комбинацию Ctrl+Alt+F5. Обратите внимание, что пользователи могут переопределить эти комбинаций ключа по умолчанию.
В настоящее время потребность в виртуальных консолях уменьшилась, так как большинство приложений работают в графической системе X Window, где каждая программа имеет окна и программы текстового режима, они также могут быть запущены в эмуляторе терминала.
Если несколько сессий из оконной системы X должны работать параллельно, например, в случае быстрого переключения пользователей или при отладке программ X на отдельном сервере X, то каждая сессия X как правило, проходит в отдельной виртуальной консоли.
Команда (программа) StartX запускает X Window System, на новую виртуальную консоль. Есть и другие графические программы, которые могут исходить из консоли, такие как LinuxTV и Mplayer.