1

Когда я запускаю команду startx, она сразу же запускает меня в Gnome без необходимости входа в систему, и если я пытаюсь вернуться к интерфейсу командной строки, введя команду init 3 в x-терминале, он ничего не делает.

Если я пытаюсь нажать CTRL-ALT-Backspace, он ничего не делает, однако, если я запускаю init 5, он запускает меня в Gnome Display Manager и ожидает, что я войду в систему, и если я запускаю init 3 в x-терминале, он отключает x- сервер и возвращает меня в интерфейс командной строки.

3 ответа3

3

Теоретически вы делаете правильную вещь. Теоретически наличие N на уровне выполнения означает, что все службы, связанные с номером N, работают, а те, которые не работают, не работают.

На практике вы не можете сделать этот переход, не указав системе явно сделать этот переход за вас.

Вы запутали запуск startx тем, что обычно происходит на уровне запуска 5. Когда вы вводите уровень запуска 5, система запускает вход в систему диспетчера отображения (gdm, kdm и т.д.). Это простой менеджер дисплеев, который затем запускает X при входе в систему (аналогично тому, что вы делали с помощью startx ... различия довольно малы).

Если вы запустили gdm с правами root с уровня запуска 3, вполне возможно, что некоторая реализация перехода / управления на уровне выполнения остановит gdm, если вы тогда указали, что хотите быть на уровне запуска 3. Я бы не рассчитывал на то, что это будет работать в реальной жизни. Во-первых, система может игнорировать вас, потому что никто не сказал ей, что она была на уровне выполнения 5, даже если gdm работает. Во-вторых, система может не иметь дело с процессом, который вы запустили, так же, как она будет иметь дело с процессом, который был запущен автоматически.

0

init 5 - это runlevel . Уровень запуска в основном инициализирует систему путем запуска программного обеспечения. Уровень запуска 5 обычно используется для запуска в графическом режиме.

Если вы начинаете в неграфическом режиме или открываете tty (обычно Ctrl-F1 Ctrl-F6), startx может запустить X в другом tty (F7 - F9). Когда вы запускаете startx, вы уже вошли в систему, поэтому нет необходимости запускать менеджер входа в систему. При работе в графическом режиме система запускает менеджер входа в систему для проверки подлинности пользователя при входе.

Когда вы запускаете init 3 из консоли, tty или pts, вы сообщаете системе, что вы изменяете ее уровень запуска (не окончательно, только на этот раз), а затем (проще говоря) все части программного обеспечения останавливаются и только эти программы запускаются на уровне запуска 3.

0

Короткий ответ, так как у меня нет моей системы Linux передо мной:

Startx выполняет скрипт в .xinitrc, который, вероятно, не очень настроен, поэтому он, скорее всего, просто запускает X под текущим пользователем.

Init 5 переключается на уровень запуска 5, который, в зависимости от /etc /inittab /, запускает сценарии, содержащиеся в /etc/rc5.d (или где-то похожем)

Увидеть:
startx:http://www.xfree86.org/current/startx.1.html

в этом:
http://wiki.linuxquestions.org/wiki/Run_Levels#Configuring_each_run_level
https://wiki.archlinux.org/index.php/Init_and_inittab#inittab

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .