Загрузите Ubuntu 16.04 в командную строку / не запускайте графический интерфейс


30

Я хочу, чтобы моя Ubuntu 16.04 не запускала графический интерфейс при загрузке и показывала только консоль командной строки. Я пробовал следующие варианты, но ни один из них не предназначен для версии 16.04, и поэтому они, похоже, не работают - GUI запускается в любом случае:

  1. GRUB_CMDLINE_LINUX =»текст»

  2. Изменение уровня запуска по умолчанию

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

Ответы:


27

Вы можете отключить службу диспетчера отображения с помощью systemctl. Например, если ваш менеджер дисплеев lightdmзапущен:

sudo systemctl disable lightdm.service

Это предотвратит запуск службы при загрузке.

Редактировать :

Я забыл упомянуть, как запустить графический интерфейс. Это так же просто, как запуск службы systemd:

sudo systemctl start lightdm.service

1
Это сработало для меня 16.04 на табло. Спасибо. :)
wojci

Это не сработало в моей системе. (16.04 LTS на ПК) Показывает начальный экран со всеми сообщениями [OK] при запуске служб, а затем останавливается.
Пол Уильямс,

Кстати, чтобы снова включить службу, команда на самом деле sudo systemctl enable lightdm.service
Пол Уильямс

16

Вместо textиспользования runlevel 3:

GRUB_CMDLINE_LINUX="3"

# To remove all the fancy graphics you need to get rid of `splash`.
GRUB_CMDLINE_LINUX_DEFAULT=”quiet”

# Uncomment to disable graphical terminal (grub-pc only) 
GRUB_TERMINAL=console

Затем update-grubи перезагрузите компьютер.


Но вам действительно нужно только GRUB_CMDLINE_LINUX="3". Для быстрого тестирования нажмите ESCво время загрузки, чтобы войти в меню загрузки grub. Затем нажмите eи найдите строку, которая определяет ядро и добавьте 3в конце:

 linux /vmlinuz root=/dev/mapper/ubuntu ro 3

Загрузите его с CTRL+x


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

Один из этих:

$ sudo telinit 5
$ sudo service lightdm restart
$ sudo systemctl start lightdm

Проверено на Ubuntu 16.04.1 LTS.


2
Замена «текст» на «3», работал для меня! Очень эффективный ! Спасибо
ThomasGuenet

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

1
@nyxee Мой ответ состоит из 3 разделов. Следуйте второй: «Для быстрого теста хита ...»
AD

Я ценю информацию в вашем посте. к тому времени, когда люди ищут эту информацию, они обычно исчерпаны другими возможностями. Я привел пример простого ответа ниже.
nyxee

1
Хороший ответ. Я просто публиковал более длинные ответы с большим количеством информации, чтобы мы все могли узнать больше. Кроме того, я знаком с опциями grub cmd line, так что мне быстрее добавить 3, и я
AD

10
  • В GUI-режиме это приведет вас в текстовый режим (уровень запуска 2,3,4) при перезагрузке. Вы можете получить пустой экран (без графического интерфейса) , который является напоминанием о том , что нет GUI :-), введите ctrlalt( F1, F2, ...) , чтобы использовать уровни запуска.

systemctl set-default multi-user.target

  • Это вернет вас к загрузке графического интерфейса, когда вы находитесь в текстовом режиме.

systemctl set-default graphical.target


9

Одно из следующих действий, как часть командной строки ядра (редактируемое через GRUB), должно работать:

  • systemd.unit=multi-user.targetпереопределит значение по умолчанию «graphical.target» - это, наряду с systemctl set-default , эквивалентно « уровню запуска по умолчанию»;
  • systemd.mask=lightdm.serviceзапретит запуск определенной службы до тех пор, пока systemctl не откроет ее вручную ;
  • systemd.mask=display-manager.service - одно и тоже;
  • rescueaka systemd.unit=rescue.targetявляется эквивалентом «однопользовательского уровня запуска»; не для ежедневного использования, но полезно при исправлении сломанного GUI.

было бы полезно упомянуть, как вы возвращаетесь к нормальной жизни из этой «аварийной ситуации».
nyxee

1
Для пользы других, вы действительно хотите получить команду CLI systemctl set-default multi-user.target(и я верю, systemctl set-default graphical.targetчто она будет сброшена)
Андреа

Это только в том случае, если вы хотите, чтобы он был полупостоянным, и в первую очередь может достичь оболочки. Основной пост не имеет ничего общего с командами CLI.
Гравитация

3

для Ubuntu 18.04 включить пользователя root

 sudo passwd

а потом

systemctl set-default multi-user.target
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.