Mudei o sistema init de sysvinit para systemd em uma instalação raspbian. A instalação é inicializada corretamente, mas agora inicia o lightdm na inicialização. Eu não quero fazer isso.
Notei que lightdm.service
é iniciado na inicialização. Parando o serviço com
systemctl stop lightdm.service
funciona bem.
systemctl disable lightdm.service
deve desativá-lo, mas me dá
Failed to issue method call: No such file or directory
systemctl status lightdm.service
me dá
lightdm.service - LSB: Light Display Manager
Loaded: loaded (/etc/init.d/lightdm)
Active: inactive (dead) since Thu, 03 Jul 2014 09:33:00 +0000; 22min ago
Process: 762 ExecStop=/etc/init.d/lightdm stop (code=exited, status=0/SUCCESS)
Process: 411 ExecStart=/etc/init.d/lightdm start (code=exited, status=0/SUCCESS)
CGroup: name=systemd:/system/lightdm.service
Estou assumindo que o lightdm é iniciado a partir de um script init.d em vez de um script systemd, e systemctl disable
não funciona se a fonte for um script init.d. O que devo fazer para desativar o lightdm iniciando na inicialização?
editar: Mais informações
saída de $ ls -l /etc/systemd/system
:
total 20
lrwxrwxrwx 1 root root 42 Jul 3 09:04 dbus-fi.epitest.hostap.WPASupplicant.service -> /lib/systemd/system/wpa_supplicant.service
lrwxrwxrwx 1 root root 37 Jul 3 13:03 default.target -> /lib/systemd/system/multi-user.target
drwxr-xr-x 2 root root 4096 Jul 3 09:00 getty.target.wants
drwxr-xr-x 2 root root 4096 Jul 3 09:04 graphical.target.wants
drwxr-xr-x 2 root root 4096 Oct 11 2013 local-fs.target.wants
drwxr-xr-x 2 root root 4096 Jul 3 09:04 multi-user.target.wants
drwxr-xr-x 2 root root 4096 Oct 11 2013 sysinit.target.wants
lrwxrwxrwx 1 root root 35 Mar 20 2013 syslog.service -> /lib/systemd/system/rsyslog.service
saída de systemctl --all -t target
:
UNIT LOAD ACTIVE SUB JOB DESCRIPTION
all.target error inactive dead all.target
basic.target loaded active active Basic System
cryptsetup.target loaded active active Encrypted Volumes
emergency.target loaded inactive dead Emergency Mode
final.target loaded inactive dead Final Step
getty.target loaded active active Login Prompts
local-fs-pre.target loaded active active Local File Systems (Pre)
local-fs.target loaded active active Local File Systems
multi-user.target loaded active active Multi-User
network.target loaded inactive dead Network
nss-lookup.target loaded inactive dead Name Lookups
remote-fs.target loaded active active Remote File Systems
rescue.target loaded inactive dead Rescue Mode
shutdown.target loaded inactive dead Shutdown
sockets.target loaded active active Sockets
sound.target loaded active active Sound Card
swap.target loaded active active Swap
sysinit.target loaded active active System Initialization
syslog.target loaded active active Syslog
time-sync.target loaded inactive dead System Time Synchronized
umount.target loaded inactive dead Unmount All Filesystems
saída de ls -l /etc/systemd/system/multi-user.target.wants/
:
total 8
drwxr-xr-x 2 root root 4096 Jul 3 09:04 .
drwxr-xr-x 7 root root 4096 Jul 3 13:03 ..
lrwxrwxrwx 1 root root 36 Oct 11 2013 remote-fs.target -> /lib/systemd/system/remote-fs.target
lrwxrwxrwx 1 root root 33 Jul 3 09:04 rsync.service -> /lib/systemd/system/rsync.service
lrwxrwxrwx 1 root root 35 Mar 20 2013 rsyslog.service -> /lib/systemd/system/rsyslog.service
lrwxrwxrwx 1 root root 32 Jul 3 09:04 sudo.service -> /lib/systemd/system/sudo.service
lrwxrwxrwx 1 root root 42 Jul 3 09:04 wpa_supplicant.service -> /lib/systemd/system/wpa_supplicant.service
Respostas:
Tente (como root): -
Após uma reinicialização, você deve estar no
multi-user
modo, por oposição agraphical
.Se isso falhar, verifique qual é o seu destino padrão: -
Observe que a única diferença nos caminhos é o diretório de nível superior - ou
/lib
ou/etc
.O acima deve ser um link para
multi-user.target
. Se apontar paragraphical.target
alterá-lo usando (como root): -dependendo de onde o link virtual foi encontrado no
ls -l
comando anterior .Reinicie e esperamos que o seu gerenciador de telas não seja iniciado.
Para ver quais alvos você possui, execute: -
fonte
systemctl set-default multi-user
Ironicamente, nenhuma das maneiras "oficiais" de fazer isso foi mencionada em nenhuma resposta até agora. Portanto, para completar, aqui estão elas:
Você "mascara" o serviço:
Ou você cria um arquivo de unidade por conta própria,
/etc/systemd/system/lightdm.service
que se torna um cidadão do sistema de primeira classe adequado que pode ser ativado e desativado com os comandosenable
edisable
. Os arquivos de unidade substituem osinit.d
arquivos com o mesmo nome de base. Você pode copiar olightdm.service
que foi escrito pelo pessoal do Debian, se quiser. ☺Leitura adicional
fonte
Você pode habilitar e desabilitar os scripts init
update-rc.d
no Debian. Useupdate-rc.d lightdm disable
.O motivo de desativar o graphical.target não funciona é que o lightdm não tem conhecimento do graphical.target. É um script init e inicia em todos os níveis de execução multiusuário (2-5).
fonte