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


30

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

  1. GRUB_CMDLINE_LINUX = "текст"

  2. Зміна рівня запуску за замовчуванням

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

Відповіді:


27

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

sudo systemctl disable lightdm.service

Це запобіжить запуск служби при завантаженні.

Редагувати :

Я забув згадати, як запустити графічний інтерфейс. Це так само просто, як запуск системної служби:

sudo systemctl start lightdm.service

1
Це працювало для мене 16.04 на арматурній дошці. Спасибі. :)
wojci

Це не працювало в моїй системі. (16.04 LTS на ПК) На екрані відображається початковий екран із усіма повідомленнями [OK], коли послуги починаються, а потім заморожується.
Пол Вільямс

BTW для повторного включення служби команда насправді 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під час завантаження, щоб потрапити в меню завантаження. Потім натисніть eі знайдіть рядок, який визначає ядро, і додайте 3в кінці:

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

Завантажте його CTRL+x


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

Один з цих:

$ 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
Гарна відповідь. Я просто звик публікувати довші відповіді з великою кількістю інформації, щоб ми могли дізнатися більше. А також я знайомий з варіантами рядків cmd для grub, тому мені швидше додати 3, і мені добре піти + це рішення мультидистрибуції :)
AD

10
  • Перебуваючи в режимі GUI, це переведе вас у текстовий режим (runlevel 2,3,4) при перезавантаженні. Ви можете отримати порожній екран (без графічного інтерфейсу) , який є нагадуванням про те , що немає GUI :-), введіть ctrlalt( F1, F2, ...) , щоб використовувати рівні запуску.

systemctl set-default multi-user.target

  • Це поверне вас до завантаження GUI, коли ви перебуваєте в текстовому режимі.

systemctl set-default graphical.target


9

Одне з наступних, як частина командного рядка ядра (можна редагувати через GRUB):

  • systemd.unit=multi-user.targetбуде замінено за замовчуванням "graphical.target" - це, поряд з systemctl set-default , є еквівалентом "runlevel level ";
  • systemd.mask=lightdm.serviceзаборонятиме запускати певну послугу, доки вручну не знімати маску systemctl ;
  • systemd.mask=display-manager.service - те саме;
  • rescueaka systemd.unit=rescue.targetє еквівалентом "однокористувацького рівня"; не для щоденного використання, але корисна для виправлення зламаного графічного інтерфейсу.

було б корисно згадати, як ви повертаєтесь до нормальності з цього "аварійного режиму".
nyxee

1
На користь іншим потрібна команда CLI systemctl set-default multi-user.target(і я вважаю, systemctl set-default graphical.targetщо її скине)
Андреа

Це лише якщо ви хочете, щоб він був непостійним і в першу чергу може досягти оболонки. Основний пост не має нічого спільного з командами CLI.
grawity

3

для ubuntu 18.04 включити root користувача

 sudo passwd

і потім

systemctl set-default multi-user.target
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.