7.2. Смена уровня выполнения после загрузки

Проблема

Где-то в процессе установки системы Linux вы выбрали «загрузку в текстовом режиме» или «загрузку в графическом режиме». Возможно, вы не до конца понимали, что означают эти режимы — а может, понимали, но теперь вам нужен графический интерфейс вместо скучной текстовой консоли. А может, у вас возникли проблемы с графическим интерфейсом, и теперь вы хотите перейти на уровень с минимальным набором служб для диагностики.

Решение

Используйте init. Сначала проверьте текущий уровень выполнения:

# /sbin/runlevel
N 5

«N» означает, что уровень после загрузки не изменялся. Если бы это произошло, то в выходных данных отображался бы исходный уровень. Для смены уровня выполнения необходимо обладать правами root:

# /sbin/init 3

Команда останавливает все службы уровня 5 и запускает службы уровня 3. Происходящее напоминает «частичную перезагрузку». Все пользователи принудительно выводятся из системы.

При решении особо серьёзных проблем иногда требуется переключиться на уровень 1:

# /sbin/init 1

Команда останавливает X и переводит вас в командный процессор с правами root, с ограниченным набором служб и без X. В Red Hat после спуска на уровень 1 не нужно вводить пароль root, поэтому не предоставляйте доступ к init sudo-пользователям.

Комментарий

В Red Hat, Fedora, Mandrake и Slackware смена уровня выполнения является одним из способов закрытия сеанса X, так как на уровне 3 загружается текстовая консоль. Тем не менее это весьма радикальный способ, поскольку он останавливает и перезапускает все службы и выводит из системы всех текущих пользователей.

Зачем изменять уровень выполнения при помощи init? Возможны разные причины:

«Неправильные» причины:

Для перехода между сеансами X и консольными сеансами существуют другие, более безопасные способы, которые будут рассмотрены в разделе 7.4.

Также можно воспользоваться командой telinit, которая является жёсткой ссылкой на init:

$ ls -al /sbin/telinit
lrwxrwxrwx 1 root root 4 Oct 31 07:51 /sbin/telinit -> init

См. также

init(8); раздел 7.4.