systemdでinit.dスクリプトを無効にします。

systemdでinit.dスクリプトを無効にします。

Raspbianのインストールでは、initシステムをsysvinitからsystemdに変更しました。インストールは正常に開始されますが、起動時に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がsystemdスクリプトではなくinit.dスクリプトから始まり、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

答え1

systemctl disableソースがスクリプトの場合、効果はありませんinit.dlightdm起動時に自動起動を無効にするにはどうすればよいですか?

皮肉なことに、これまでの答えのどれもこれを実行する「公式の」方法について言及していませんでした。完全性のために:

サービスを「ブロック」します。

systemctl mask lightdm.service

あるいは、独自のユニットファイルを作成すると、コマンド/etc/systemd/system/lightdm.serviceで有効化および無効化できる適切な一級システム市民になります。単位ファイルは、同じ基本名を持つファイルを置き換えます。あなたは彫刻できます。enabledisableinit.dlightdm.serviceこれはDebianの人々が書いたものです。 ☺

追加読書

答え2

(ルートとして) 試して下さい:-

systemctl disable graphical.target

multi-user再起動したら、代わりにモードにする必要がありますgraphical

失敗した場合は、デフォルトの宛先を確認してください。

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

パスの唯一の違いは、最上位ディレクトリ/libまたはです/etc

上記のリンクはへのソフトリンクでなければなりませんmulti-user.target。それが指している場合は、graphical.target(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

前のコマンドls -lでソフトリンクが見つかった場所によって異なります。

再起動すると、ディスプレイマネージャが起動しないことを願っています。

どの目標があるかを確認するには:

systemctl --all -t target

答え3

Debianでinitスクリプトを有効または無効にできますupdate-rc.d。使用update-rc.d lightdm disable

graphic.targetを無効にしても機能しないのは、lightdmがgraphic.targetについて知らないからです。すべてのマルチユーザー実行レベル(2-5)で始まる初期化スクリプト。

関連情報