J'ai changé le système init de sysvinit en systemd sur une installation raspbian. L'installation démarre correctement, mais démarre maintenant lightdm au démarrage. Je ne veux pas que ça fasse ça.
J'ai remarqué que lightdm.service
c'est démarré au démarrage. Arrêter le service avec
systemctl stop lightdm.service
fonctionne bien.
systemctl disable lightdm.service
devrait le désactiver, mais me donne
Failed to issue method call: No such file or directory
systemctl status lightdm.service
Donne moi
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
Je suppose que lightdm est démarré à partir d'un script init.d plutôt que d'un script systemd, et systemctl disable
ne fonctionne pas si la source est un script init.d. Que dois-je faire à la place pour désactiver lightdm au démarrage?
modifier: Plus d'infos
sortie 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
sortie 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
sortie 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
Réponses:
Essayez (en tant que root): -
Après un redémarrage, vous devriez être en
multi-user
mode par opposition àgraphical
.Si cela échoue, vérifiez quelle est votre cible par défaut: -
Notez que la seule différence dans les chemins est le répertoire de niveau supérieur - soit
/lib
ou/etc
.Ce qui précède devrait être un lien doux vers
multi-user.target
. S'il pointe versgraphical.target
le changer en utilisant (en tant que root): -selon l'endroit où le lien logiciel a été trouvé dans la
ls -l
commande précédente .Redémarrez et espérons que votre gestionnaire d'affichage ne démarre pas.
Pour voir quelles cibles vous avez, exécutez: -
la source
systemctl set-default multi-user
Ironiquement, aucune des façons "officielles" de le faire n'a été mentionnée jusqu'à présent dans aucune réponse. Donc pour être complet, les voici:
Vous "masquez" le service:
Ou vous créez votre propre fichier d'unité car
/etc/systemd/system/lightdm.service
il devient alors un véritable citoyen systemd de première classe qui peut être activé et désactivé avec les commandesenable
etdisable
. Les fichiers unitaires remplacent lesinit.d
fichiers du même nom de base. Vous pouvez surnommer celightdm.service
qui a été écrit par les gens de Debian, si vous le souhaitez. ☺Lectures complémentaires
la source
Vous pouvez activer et désactiver les scripts d'initialisation avec
update-rc.d
sur Debian. Utilisezupdate-rc.d lightdm disable
.La raison pour laquelle la désactivation de graphical.target ne fonctionne pas est que lightdm n'a aucune connaissance de graphical.target. Il s'agit d'un script d'initialisation qui démarre sur tous les niveaux d'exécution multi-utilisateurs (2-5).
la source