Помимо изменения /etc/inittab, вы также можете указать ядру в его командной строке, какой целевой уровень запуска должен быть передан initпосле запуска. Это делается простым добавлением желаемого уровня выполнения в командную строку (это должен быть последний аргумент, который я считаю).
Вы можете сделать это либо как разовую вещь во время загрузки, при условии, что ваш загрузчик позволяет вам изменить командную строку ядра, либо вы можете дублировать запись в конфигурации загрузчика и выбрать правильную при загрузке (полезно, когда вы загружаетесь в различные уровень запуска часто).
Для систем использование systemdпроцесса аналогично, но означает больше ввода, поскольку магическая строка, добавляемая к командной строке ядра, имеет вид systemd.unit=desired.target.
Что касается startx, он также может начать дополнительные сеансы, присвоив ему неиспользуемый номер X-дисплея (нумерация начинается с 0): startx -- :1запустит X-сервер на дисплее: 1, найдя его на первом неиспользуемом VT (часто на VT8, поскольку первые 6 обычно на Linux консоли и 7 используется первым запущенным сеансом X). Обратите внимание, что X-серверу обычно требуются права суперпользователя, поэтому вы должны либо сделать это как root(что не очень хорошая идея), либо двоичный файл должен быть установлен как root root (необходимость в этом обычно устраняется с помощью диспетчера отображения).
startxкак я могу переключиться обратно в командную строку?