Inicialize o Ubuntu 16.04 na linha de comando / não inicie a GUI

30

Quero que o meu Ubuntu 16.04 não inicie a GUI na inicialização e mostre apenas o console da linha de comando. Eu tentei os seguintes recipientes, mas nenhum deles é para a versão 16.04 e, portanto, eles não parecem funcionar - a GUI é iniciada de qualquer maneira:

  1. GRUB_CMDLINE_LINUX = ”texto”

  2. Alterando o nível de execução padrão

Idealmente, também quero poder iniciar a GUI digitando um comando.

Greendrake
fonte

Respostas:

27

Você pode desativar o serviço do gerenciador de exibição com systemctl. Por exemplo, se o seu gerenciador de exibição for lightdmexecutado:

sudo systemctl disable lightdm.service

Isso impedirá que o serviço seja iniciado na inicialização.

Editar :

Esqueci de mencionar como iniciar a GUI. É tão simples quanto iniciar o serviço systemd:

sudo systemctl start lightdm.service
Tristan Vigil
fonte
1
Isso funcionou para mim em 16.04 em uma placa de braço. Obrigado. :)
wojci
Isso não funcionou no meu sistema. (16.04 LTS em um PC) Mostra a tela inicial com todas as mensagens [OK] quando os serviços são iniciados e, em seguida, congela.
Paul Williams
BTW para re-habilitar o serviço do comando é realmente sudo systemctl permitir lightdm.service
Paul Williams
16

Em vez de textusar o 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

Então update-grube reinicie.


Mas você realmente só precisa GRUB_CMDLINE_LINUX="3". Para um teste rápido ESCdurante a inicialização, entre no menu de inicialização do grub. Em seguida, pressione ee encontre a linha que especifica o kernel e adicione 3no final:

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

Inicialize-o com CTRL+x


Idealmente, também quero poder iniciar a GUI digitando um comando.

Um desses:

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

Testado no Ubuntu 16.04.1 LTS.

DE ANÚNCIOS
fonte
2
Substituir "texto" por "3", funcionou para mim! Muito eficiente ! Obrigado
ThomasGuenet
Oi. a resposta parece boa, mas é difícil de entender. Idealmente, só preciso de um comando para inicializar no modo de texto, fazer o que preciso e voltar ao modo de área de trabalho normal.
precisa saber é
1
@nyxee Minha resposta tem 3 seções. Siga o segundo: "Para teste rápido, acerte ..."
19/08/17 AD
Agradeço as informações em sua postagem. no momento em que as pessoas procuram essas informações, elas normalmente estão esgotadas com outras opções. Dei um exemplo de uma resposta simples abaixo.
precisa saber é
1
Boa resposta. Estou acostumado a postar respostas mais longas com muita informação para que todos possamos aprender mais. E também eu estou familiarizado com opções de linha de grub cmd por isso é mais rápido para me adicionar 3 e eu sou bom para ir + é uma solução multi-distro :)
AD
10
  • Quando no modo GUI, isso o levará ao modo de texto (nível de execução 2,3,4) na reinicialização. Você pode obter uma tela em branco (sem-gui), que é um lembrete de que não há nenhuma GUI :-), entrar ctrlalt( F1, F2...) para usar os níveis de execução.

systemctl set-default multi-user.target

  • Isso levará você de volta à inicialização da GUI quando estiver no modo de texto.

systemctl set-default graphical.target

nyxee
fonte
9

Um dos seguintes, como parte da linha de comando do kernel (editável via GRUB), deve funcionar:

  • systemd.unit=multi-user.targetsubstituirá o padrão de "graphical.target" - isso, junto com systemctl set-default , é o equivalente a "default runlevel";
  • systemd.mask=lightdm.serviceproibirá a inicialização de um serviço específico, até que o systemctl desmasque manualmente mais tarde;
  • systemd.mask=display-manager.service - o mesmo;
  • rescueaka systemd.unit=rescue.targeté o equivalente a "nível de execução de usuário único"; não para uso diário, mas útil ao corrigir GUI quebrada.
gravidade
fonte
seria útil mencionar como você volta à normalidade a partir dessa "configuração de emergência".
precisa saber é
1
Para o benefício dos outros, o comando CLI real que você quer é systemctl set-default multi-user.target(e eu acredito systemctl set-default graphical.targetque redefini-la)
Andrea
Isso é apenas se você quiser semi-permanente e puder alcançar uma concha em primeiro lugar. A postagem principal não tem nada a ver com comandos da CLI.
grawity
3

para o ubuntu 18.04 habilitar usuário root

 sudo passwd

e depois

systemctl set-default multi-user.target
Mohannd
fonte