Como impedir que o GDM seja iniciado automaticamente?

11

Após a instalação do Ubuntu Server 12.04, instalei o Xubuntu apenas para ter uma GUI mínima:

sudo apt-get install x-window-system-core
sudo apt-get install --no-install-recommends xubuntu-desktop gparted

Mas agora eu quero começar o X apenas em certas ocasiões. Antes de 12.04, eu apenas emito:

sudo update-rc.d -f gdm remove

Mas este comando não funciona mais.

Como posso parar o X do init no Ubuntu 12.04? E como posso iniciá-lo quando preciso?

Eu tentei as duas perguntas, mas não tenho o gdm.conf:

josircg
fonte
Então, você tinha o Ubuntu desktop, o Xubuntu pós-instalado, mas não deseja a sessão gráfica padrão do Xubuntu, mas deseja iniciar o X manualmente?
Belacqua
Obrigado + Jorge Castro. Eu já li os dois artigos antes, mas ambos funcionam no gdm.conf, mas não tenho configuração do gdm nesta caixa.
josircg
Obrigado por responder belacqua. Não. É o Ubuntu Server. É exatamente isso que eu quero: iniciar o X apenas em certas ocasiões.
josircg
Gostaria de saber com o Xubuntu não tem um gdm.conf - essa deve ser a raiz de todas as minhas perguntas.
21412 josircg

Respostas:

14

Nas versões recentes do Ubuntu, gdmfoi substituído por lightdm- é por isso que você não tem um gdm.conf. Para definir lightdmpara ser iniciado manualmente, crie um arquivo 'override' para sua configuração init:

echo 'manual' | sudo dd of=/etc/init/lightdm.override

(isso apenas cria um arquivo chamado /etc/init/lightdm.override, contendo uma única linha que diz manual)

Dessa forma, o lightdm será iniciado apenas quando você chamar:

sudo service lightdm start

e para pará-lo:

sudo service lightdm stop
Jeremy Kerr
fonte
3
Não seria mais fácil digitar echo manual >> /etc/init/lightdm.overridecomo root?
Braden Best
4
@ B1KMusic: claro; mas você precisa executar um comando extra para obter o shell raiz. Eu prefiro usar sudo e funcionando a quantidade mínima absoluta de coisas como um usuário privilegiado quanto possível (neste caso, a execução de um bashcomo root, vs. correr ddcomo root)
Jeremy Kerr
Esta é uma razão boba para usar uma ferramenta muito potente como o dd. É bem fácil colocar um dedo gordo (como pressionar a guia no meio da luz) e pegar um arquivo importante.
Rob Russell
@RobRussell: como isso difere em fornecer um nome de arquivo para qualquer comando? A vantagem de usar ddaqui é que você está executando apenas um processo único (e simples) como raiz, em vez de um shell inteiro.
Jeremy Kerr
É diferente, pois o dd pode ter resultados muito diferentes, dependendo do erro que eles cometem. O objetivo é inserir uma linha de texto em um arquivo. Editores de texto são feitos para isso. Se o usuário seguir estas instruções, ele não verá o arquivo quando você terminar de escrever. Se eles quiserem voltar e editar esse arquivo ou examinar o conteúdo dele, terão que usar um comando completamente diferente. Eu acho que a maioria das pessoas pensaria em usar um editor aqui (nano, gedit, vi, etc).
Rob Russell
17

Para o Ubuntu 18.04, isso funcionou para mim:

Desabilitar o gdm
Isso impedirá o carregamento do gdm na inicialização e o login é via console.

systemctl set-default multi-user.target

Usando esse método, gdmainda pode ser iniciado manualmente comsystemctl start gdm

Verifique o systemdpadrão com

systemctl get-default

Normalmente, isso será graphical.targete poderá ser revertido comsystemctl set-default graphical.target

Fonte: https://wiki.debian.org/GDM#systemd

DarthVanger
fonte
4

só quero compartilhar, pode ser útil para qualquer um.

Instalei o Ubuntu Server 12.04 e mais tarde instalei a interface gráfica kubuntu-desktop

Agora, quando eu queria desativar a inicialização / login gráfico, tentei todas as opções

/etc/default/grub.. fazendo a entrada GRUB_CMDLINE_LINUX_DEFAULT="text"no lugar de"quiet splash"

update-grub

update-rc.d -f ldm remove
update-rc.d -f kdm remove
update-rc.d -f gdm remove

assim como

echo 'manual' | sudo tee /etc/init/lightdm.override

Nada funcionou. Depois editei o /etc/init/kdm.confe adicionei 2 nível de execução padrão ao nível de execução [! 026]

stop on runlevel [0126]
#================================================================
#start on ((filesystem
#           and runlevel [!026]
#           and started dbus
#           and (drm-device-added card0 PRIMARY_DEVICE_FOR_DISPLAY=1
#                or stopped udev-fallback-graphics))
#          or runlevel PREVLEVEL=S)
#
#stop on runlevel [0126]
#================================================================

Funcionou.

Todos
fonte
Teve a mesma experiência. Isso também trabalhou em /etc/init/gdm.conf
Donn Lee
2

Instalei o Ubuntu Server 12.04 em um netbook, principalmente porque sou mais fã da CLI do que sou da GUI, mas queria uma GUI leve para pequenas coisas. Eu instalei o LXDE, não o Lubuntu, mas ele iniciaria o LXDM, o gerenciador de login do LXDE. Eu olhei por todo o lado e tentei muitas coisas para fazer com que isso parasse de carregar o LXDE. Depois de analisar esta pergunta e resposta, encontrei uma boa maneira de interromper o LXDE.

Em vez de adicionar um arquivo semelhante ao lightdm.override, estava procurando no / etc / init e encontrei um arquivo chamado lxdm.conf. Depois de examinar o arquivo, principalmente porque estava curioso, descobri que esse era o arquivo que eu precisava ou não. Depois de fechar o arquivo, renomei-o

    sudo mv /etc/init/lxdm.conf /etc/init/lxdm.conf.bak

Renomeei-o em vez de removê-lo, caso causasse problemas, mas até agora não consigo identificar nenhum problema ao renomear este arquivo, portanto, deve ser seguro removê-lo.

Eu não sei sobre outros DEs, mas isso funcionou para mim com o LXDE.

Anthony
fonte
1

Verifique systemctl get-default.

Se a saída for graphical.target, defina-a multi-user.targetcom systemctl set-default:

systemctl set-default multi-user.target

Consulte este link para obter mais informações sobre systemd-target: 10.3. Trabalhando com destinos do systemd

James
fonte
0

O seguinte é para o Ubuntu Server 12 LTS

Primeiro, você precisa abrir um termo real com CTRL+ALT F1

Conecte-se

Pare o gdm com:

$ sudo service gdm stop

Remova o gdm que você não precisa em um servidor.

$ sudo apt-get remove gdm 

Defina o próximo nível de execução de inicialização com.

$ sudo telinit 3

Sem o gdm, você precisará instalar o xinit se ainda desejar executar aplicativos baseados em GUI sem o gerenciador de janelas gdm.

$ sudo apt-get install xinit

Reinicie no nível de execução 3.

$ sudo reboot

Para executar uma GUI ou área de trabalho após a reinicialização, faça.

$ startx 

Isso iniciará sua sessão do gnome normalmente.

Quando terminar, basta sair da área de trabalho e retornar ao nível 3.

Agora você também pode iniciar aplicativos individuais sem uma área de trabalho, como:

$ startx nautilus

ou privilegiado com

$ startx sudo synaptic
BamBam
fonte