LightDM 和 SDDM 在迎宾屏幕上打架

LightDM 和 SDDM 在迎宾屏幕上打架

我之前安装了 Kubuntu 15.04。我升级到了 15.10,一切都很顺利,直到我添加了ubuntu-desktop使用 Unity DE。

使用 systemd 引导时,在启动或登录时,所有虚拟终端(电视/TTY)都显示黑屏或白屏,包括 TV7 图形终端。在极少数情况下,lightdm 和 sddm GUI 之间会出现屏幕闪烁,这就是我得知两者都在运行并且可能是导致此问题(黑屏)的原因。

它运行良好:当使用 upstart 启动或将 DM 切换回 sddm 时。

  • KDE/sddm Unity/lightdm 之间屏幕闪烁

    https://youtu.be/xI1fpTyklNo
    https://youtu.be/HpH309GqFcU

  • ps ax | grep dm

     1377 ?        SLsl   0:00 /usr/sbin/lightdm
     1459 tty7     Ssl+   1:10 /usr/bin/X -core :0 -seat seat0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch
     1526 ?        Ssl    0:00 /usr/bin/sddm
     1626 ?        SLl    0:00 lightdm --session-child 12 19
     3843 pts/2    S+     0:00 grep --color=auto dm
    
  • systemctl status default.target

    ● graphical.target - Graphical Interface
       Loaded: loaded (/lib/systemd/system/graphical.target; static; vendor preset: enabled)
       Active: active since Fri 2015-11-13 09:46:21 CET; 50min ago
         Docs: man:systemd.special(7)
    
    Nov 13 09:46:21 BlueSkies systemd[1]: Reached target Graphical Interface.
    
  • sudo dpkg-reconfigure lightdm

    Default display manager:
        gdm
      * lightdm
        sddm
        xdm
    
  • ls -l /etc/systemd/system/display-manager.service

    lrwxrwxrwx 1 root root 35 Nov 13 17:26 /etc/systemd/system/display-manager.service -> /lib/systemd/system/lightdm.service
    

我不想删除任何 DM,我也想保留 LightDM 作为默认设置。那么,对于如何为这个混合版本 15.10 (systemd/upstart) 设置默认 DM,有没有一个规范的答案?

我发现许多类似的问题却没有我想要的答案:

答案1

我最终添加了一行ExecStartPre来检查旧设置中的默认显示管理器/etc/X11/default-display-manager,现在它运行良好:

/lib/systemd/system/sddm.service

[Unit]
Description=Simple Desktop Display Manager
Documentation=man:sddm(1) man:sddm.conf(5)
After=systemd-user-sessions.service [email protected] plymouth-quit.service

[Service]
ExecStartPre=/bin/sh -c '[ "$(basename $(cat /etc/X11/default-display-manager 2>/dev/null))" = "sddm" ]'
ExecStart=/usr/bin/sddm
Restart=always
#PrivateTmp=yes

[Install]
Alias=display-manager.service
WantedBy=graphical.target

参考:复制自/lib/systemd/system/lightdm.service

我不熟悉systemd,所以不知道为什么sddm它在启动时启动。我gdm也遇到过,它不会自动启动。

更新:我可以找到相关的错误报告

相关内容