Как я могу просто перейти на уровень запуска в текстовом режиме под systemd?

Я установил Ubuntu 16.04 вместе с systemd. Мне нужно установить набор инструментов cuda от nvidia, но я могу установить его только с уровня запуска 3.

Сейчас я нашел здесь несколько ответов, но ни один из них не сработал. например:

  • echo "manual" | dd of=/etc/init/lightdm.override

    Мне сказали, что это заставляет меня выбирать уровень запуска при старте

  • systemctl isolate runlevel3.target

    Здесь мне сказали, что он переходит на уровень запуска 3 без загрузки, но он просто делает дисплей черным.

2 ответа

Решение

Если вам просто нужно переключиться в текстовый режим без графического интерфейса, например, с запущенным X-сервером, вы можете использовать systemctl довести свою машину до т.н. multi-user.target:

sudo systemctl start multi-user.target

Вы возвращаете это и возвращаетесь на рабочий стол (graphical.target) перезагрузкой или переключением обратно вручную, как описано выше:

sudo systemctl start graphical.target

Если вам действительно нужно изменить истинный уровень выполнения на 3, это можно сделать с помощью init команда, как @ terdon указал в своем комментарии:

sudo init 3

Вы можете проверить свой текущий уровень выполнения с помощью runlevel команда. Он выведет две буквы: левая - ваш предыдущий уровень выполнения, тогда как правая представляет ваш текущий уровень выполнения.

Вы возвращаетесь на рабочий стол, снова устанавливая уровень запуска на 5:

sudo init 5

Важные общие замечания для обоих методов:

  • Оба переходят на multi-user.target или уровень запуска 3 завершит работу X-сервера и уничтожит все приложения с графическим интерфейсом и среду вашего рабочего стола. Убедитесь, что вы закрыли все разумные приложения и сохранили свою работу перед началом, иначе их состояние будет потеряно!

  • ни systemctrl start ???.target ни init ? переключите свой активный TTY. Это означает, что если вы запустите эти команды из эмулятора терминала на вашем рабочем столе (обычно на TTY7), вы будете потом на черном экране (опционально с некоторыми отладочными выходными данными).

    Это просто потому, что TTY 8-12 не подключены к текстовым консолям, а зарезервированы для видео консолей для отображения графических интерфейсов. Только TTY 1-7 являются текстовыми консолями.

    Так что действовать в multi-user.target или на уровне выполнения 3 вы должны переключиться на текстовую консольную TTY, например, нажав Ctrl+Alt+F1 для TTY1. Вы вернетесь к рабочему столу (TTY7) позже, после того как вернетесь к graphical.target или уровень запуска 5, нажав Ctrl+Alt+F7 соответственно.

    Когда вы доберетесь до такой текстовой консоли, обратите внимание, что сначала вам необходимо снова войти в систему, введя свое имя пользователя и пароль в соответствии с запросом.

Чтобы решить свою задачу, вы можете перезагрузиться в режиме восстановления, который является текстовым и удовлетворит ваши потребности.

Выключите машину и удерживайте нажатой клавишу "Shift" при загрузке. Появится меню Grub. Обычно второй вариант, который вы хотите, помечен как "Расширенный" или "Восстановление". Это должно загрузить вас в текстовое меню. Выберите опцию для корневой оболочки.

Вы хотите, чтобы вам нужно сделать.

Если вы обнаружили, что диски смонтированы только для чтения, вы можете перемонтировать корневой файл для чтения и записи:

mount -o remount,rw /

Введите "выход" в качестве последней команды оболочки. Вы вернетесь в меню, где вы можете выбрать "Возобновить загрузку".

Учитывая, как быстро машины загружаются с SSD, этот подход будет конкурентно быстрым с использованием systemd isolate переключаться в графическую среду и выходить из нее.

Другие вопросы по тегам