Debian

如何重新啟用 lightdm.service?

  • October 22, 2021

在過去的某個時候,我必須通過以下方式禁用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 預設顯示管理器

所以當然這裡**沒有使用“替代”系統;可能性之間的切換由 、 、 和其他讀取特殊文件的包的包維護者腳本中的定制程式碼管理lightdmgdm3並且xdm/etc/X11/default-display-manager每個包中並不完全相同。

一旦通過 執行了這些不同的定制 shell 腳本dpkg-reconfigure之一,還必須確保引導的起點是graphical.target單元而不是multi-user.target單元,使用systemctl set-default.

引用自:https://unix.stackexchange.com/questions/561797