Saya mengubah sistem init dari sysvinit ke systemd pada instalasi raspbian. Instal booting baik-baik saja, tetapi sekarang mulai lightdm saat boot. Saya tidak ingin melakukan itu.
Saya perhatikan lightdm.service
dimulai saat boot. Menghentikan layanan dengan
systemctl stop lightdm.service
bekerja dengan baik.
systemctl disable lightdm.service
harus menonaktifkannya, tetapi memberi saya
Failed to issue method call: No such file or directory
systemctl status lightdm.service
memberi saya
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
Saya berasumsi bahwa lightdm dimulai dari skrip init.d daripada skrip systemd, dan systemctl disable
tidak berfungsi jika sumbernya adalah skrip init.d. Apa yang harus saya lakukan untuk menonaktifkan lightdm mulai saat boot?
sunting: Info lebih lanjut
output dari $ 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
output dari 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
output dari 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
Jawaban:
Coba (sebagai root): -
Setelah restart, Anda harus dalam
multi-user
mode yang bertentangangraphical
.Jika gagal, periksa dengan apa target default Anda: -
Perhatikan bahwa satu-satunya perbedaan di jalur adalah direktori tingkat atas - baik
/lib
atau/etc
.Di atas harus menjadi tautan lunak ke
multi-user.target
. Jika menunjukgraphical.target
kemudian mengubahnya menggunakan (sebagai root): -tergantung pada di mana tautan lunak ditemukan dalam
ls -l
perintah sebelumnya .Mulai ulang dan mudah-mudahan pengelola tampilan Anda tidak akan mulai.
Untuk melihat target apa yang Anda miliki, jalankan: -
sumber
systemctl set-default multi-user
Ironisnya, sejauh ini tidak satu pun dari "resmi" cara melakukan ini telah disebutkan dalam jawaban apa pun. Jadi untuk kelengkapan, ini mereka:
Anda "menutupi" layanan:
Atau Anda membuat file unit Anda sendiri sebagai
/etc/systemd/system/lightdm.service
yang kemudian menjadi warga negara sistemd kelas yang tepat yang dapat diaktifkan dan dinonaktifkan denganenable
dandisable
perintah. File unit menggantikaninit.d
file dengan nama yang sama. Anda dapat nicklightdm.service
yang ditulis oleh orang-orang Debian, jika Anda suka. ☺Bacaan lebih lanjut
sumber
Anda dapat mengaktifkan dan menonaktifkan skrip init dengan
update-rc.d
di Debian. Menggunakanupdate-rc.d lightdm disable
.Alasan menonaktifkan graphical.target tidak berfungsi adalah karena lightdm tidak memiliki pengetahuan tentang graphical.target. Ini adalah skrip init dan dimulai pada semua runlevel multi-pengguna (2-5).
sumber