nonaktifkan skrip init.d di systemd

11

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.servicedimulai 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 disabletidak 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
Martijn
sumber
Kami tidak menganggap RPi / raspian sebagai topikal dengan arti Server Fault. Sifat antusias perangkat ini lebih cocok untuk Unix & Linux , Pengguna Super atau dalam hal pertanyaan terkait non unix Raspberry Pi .
Terima kasih. Pertanyaan aneh, di mana saya dapat menemukan cakupan yang tepat dari situs-situs yang berbeda ini untuk dibaca pada cakupan yang tepat dari masing-masing situs?
Martijn
Ya itu sulit, tur dan pusat bantuan untuk masing-masing adalah tempat yang baik untuk memulai. Kami juga memiliki klarifikasi poin-poin tertentu tentang meta kami secara khusus dan relevan untuk Anda meta.serverfault.com/questions/5586/… .
Hrm Sementara saya tidak setuju dengan itu, saya terlalu banyak pendatang baru di sini untuk pendapat yang memiliki bobot. Pada saat yang sama, setidaknya pada topik tentang Unix & Linux saya kira. Saya akan meminta migrasi.
Martijn

Jawaban:

5

Coba (sebagai root): -

systemctl disable graphical.target

Setelah restart, Anda harus dalam multi-usermode yang bertentangan graphical.

Jika gagal, periksa dengan apa target default Anda: -

ls -l /lib/systemd/system/default.target
# or, depending on your distro
ls -l /etc/systemd/system/default.target

Perhatikan bahwa satu-satunya perbedaan di jalur adalah direktori tingkat atas - baik /libatau /etc.

Di atas harus menjadi tautan lunak ke multi-user.target. Jika menunjuk graphical.targetkemudian mengubahnya menggunakan (sebagai root): -

ln -sf /lib/systemd/system/multi-user.target /lib/systemd/system/default.target
# or
ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target

tergantung pada di mana tautan lunak ditemukan dalam ls -lperintah sebelumnya .

Mulai ulang dan mudah-mudahan pengelola tampilan Anda tidak akan mulai.

Untuk melihat target apa yang Anda miliki, jalankan: -

systemctl --all -t target
garethTheRed
sumber
mungkin secara mengejutkan, itu masih membuat saya merasa seperti lightdm
Martijn
Hmm. Terkejut juga. Saya telah melakukan penggalian sedikit lebih - masalahnya adalah saya hanya bisa SSH ke VPS saat ini dan tidak memiliki sistem 'grafis' di depan saya untuk memeriksa pikiran saya!
garethTheRed
Saya telah mengedit, sekarang saya telah mengakses sistem nyata.
garethTheRed
Anehnya, ini masih memulai lightdm, meskipun default.target di /etc/systemd/system/default.target disinkronkan ke /lib/systemd/system/multi-user.target, dan daftar-unit sistemctl unit == type = target tidak bisa daftar graphical.target sebagai aktif. Saya merasa itu karena skrip init.d fallback khusus yang ada; Saya belum menemukan apa yang menyebabkannya, tetapi masalah pribadi saya semakin menyimpang dari pertanyaan tujuan umum yang bermanfaat, dan menjadi lebih dari pertanyaan forum "bantu saya memperbaiki masalah saya". Saya akan berterima kasih atas bantuan lebih lanjut, tetapi mengakui itu bukan milik pertukaran stack lagi.
Martijn
1
Cara yang benar adalahsystemctl set-default multi-user
Majenko
7

systemctl disabletidak berfungsi jika sumbernya adalah init.dskrip. Apa yang harus saya lakukan untuk menonaktifkan lightdmmulai saat boot?

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:

systemctl mask lightdm.service

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 dengan enabledan disableperintah. File unit menggantikan init.dfile dengan nama yang sama. Anda dapat nick lightdm.serviceyang ditulis oleh orang-orang Debian, jika Anda suka. ☺

Bacaan lebih lanjut

JdeBP
sumber
2

Anda dapat mengaktifkan dan menonaktifkan skrip init dengan update-rc.ddi 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).

CameronNemo
sumber