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.

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

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.


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


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.

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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.