如何重新啟用 lightdm.service?
在過去的某個時候,我必須通過以下方式禁用
lightdm
服務:systemctl disable lightdm.service
或在我的帶有 Cinnamon 桌面的 Debian 上類似的東西。
不幸的是,我現在需要它,但執行:
systemctl start lightdm.service
每次電腦啟動都不會讓我開心,所以…
如何重新啟用該
lightdm
服務?因為只是執行:systemctl enable lightdm.service
產生以下錯誤:
Synchronizing state of lightdm.service with SysV service script with /lib/systemd/systemd-sysv-install. Executing: /lib/systemd/systemd-sysv-install enable lightdm The unit files have no installation config (WantedBy=, RequiredBy=, Also=, Alias= settings in the [Install] section, and DefaultInstance= for template units). This means they are not meant to be enabled using systemctl. Possible reasons for having this kind of units are: • A unit may be statically enabled by being symlinked from another unit's .wants/ or .requires/ directory. • A unit's purpose may be to act as a helper for some other unit which has a requirement dependency on it. • A unit may be started when needed via activation (socket, path, timer, D-Bus, udev, scripted systemctl call, ...). • In case of template units, the unit is meant to be enabled with some instance name specified.
之前也試過:
dpkg-reconfigure lightdm
無濟於事。
看起來您的服務被屏蔽了。
要取消屏蔽它,請執行:
systemctl unmask lightdm.service
然後,執行:
systemctl daemon-reload
lightdm.service
由於您面前的消息中給出的原因,啟用該單元沒有任何作用:服務單元沒有[Install]
資訊。這是因為不應該使用systemctl enable
. 顯示管理器有自己獨特的啟用/禁用機制。該服務是 的可能替代品之一
display-manager.service
,它是任何顯示管理器選擇執行的掛鉤。display-manager.service
是一個符號連結,旨在指向實際的顯示管理器服務單元文件,如 systemd 使用者手冊所述。Wants
它在單元中是固定的和硬連線的graphical.target
,其想法是,如果graphical.target
以服務圖的起點啟動,則選擇的顯示管理器由此啟動。這個符號連結當然是使用Debian 的“替代”系統的理想機會。在顯示管理器之間切換可能是一個簡單且一致的跨所有執行包問題:
update-alternatives --config display-manager.service
這確實是在 OpenSUSE 上完成的,儘管它沒有切換 systemd 單元:
更新替代品 --config 預設顯示管理器
所以當然這裡**沒有使用“替代”系統;可能性之間的切換由 、 、 和其他讀取特殊文件的包的包維護者腳本中的定制程式碼管理
lightdm
,gdm3
並且xdm
在/etc/X11/default-display-manager
每個包中並不完全相同。一旦通過 執行了這些不同的定制 shell 腳本
dpkg-reconfigure
之一,還必須確保引導的起點是graphical.target
單元而不是multi-user.target
單元,使用systemctl set-default
.