Я изменил систему инициализации с sysvinit на systemd после установки raspbian. Установка загружается нормально, но теперь запускается lightdm при загрузке. Я не хочу этого делать.
Я заметил, lightdm.service
что запускается при загрузке. Остановка службы с
systemctl stop lightdm.service
работает отлично.
systemctl disable lightdm.service
должен отключить его, но дает мне
Failed to issue method call: No such file or directory
systemctl status lightdm.service
дает мне
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
Я предполагаю, что lightdm запускается из сценария init.d, а не из сценария systemd, и systemctl disable
не работает, если источником является сценарий init.d. Что мне делать вместо этого, чтобы отключить запуск lightdm при загрузке?
редактировать: больше информации
вывод $ 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
вывод 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
вывод 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
Ответы:
Попробуйте (как root): -
После перезагрузки вы должны быть в
multi-user
режиме, а неgraphical
.Если это не помогло, проверьте, с какой целью по умолчанию: -
Обратите внимание, что единственная разница в путях - это каталог верхнего уровня - либо либо,
/lib
либо/etc
.Выше должно быть мягкая ссылка на
multi-user.target
. Если он указывает наgraphical.target
то, измените его, используя (как root): -в зависимости от того, где мягкая ссылка была найдена в предыдущей
ls -l
команде.Перезагрузитесь и, надеюсь, ваш менеджер дисплеев не запустится.
Чтобы увидеть, какие цели у вас есть, запустите: -
источник
systemctl set-default multi-user
По иронии судьбы, ни один из «официальных» способов сделать это не был упомянут ни в одном ответе до сих пор. Итак, для полноты, вот они:
Вы «маскируете» сервис:
Или создать единичный собственный файл в
/etc/systemd/system/lightdm.service
который затем становится собственно первым класс Systemd гражданина , который может быть включен и отключен сenable
иdisable
командами. Файлы модулей заменяютinit.d
файлы с одинаковым базовым именем. Вы можете указать,lightdm.service
что было написано людьми из Debian, если хотите. ☺дальнейшее чтение
источник
Вы можете включать и отключать сценарии инициализации
update-rc.d
в Debian. Использованиеupdate-rc.d lightdm disable
.Причина, по которой отключение graphical.target не работает, заключается в том, что lightdm не знает о Graphical.target. Это сценарий инициализации, который запускается на всех многопользовательских уровнях запуска (2-5).
источник