Как я могу просто перейти на уровень запуска в текстовом режиме под 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
переключаться в графическую среду и выходить из нее.