无法启动 kde

无法启动 kde

在正常运行几天后重新启动笔记本电脑(所以我不知道是什么引发了这个问题),我发现我无法从 lightdm 登录。我的密码被接受了,字段也消失了,但我只能看到 lightdm 壁纸和我的(可移动)光标。然而我可以

  • 以访客身份登录
  • 从 tty startx

如果我从 kdm 尝试,也会发生同样的事情。

如果我尝试启动 project-neon,则桌面进度条会出现,但是加载完成后我会回到 lightdm 壁纸,同时会出现输入密钥环密码的提示,输入密码后,桌面会短暂闪烁。

.xsession 说 dbus 预启动过程以状态 2 终止。我不知道这是否相关。

编辑:我可以毫无问题地启动 lxde。我尝试过 plasma-active,我遇到的症状与 project-neon 相同,所以显然这是 kde/plasma 问题。但由于从 startx 启动有效,问题似乎出在 lightdm/kdm-kde 交互上。有没有办法跟踪 lightdm 如何启动 kde(kwin、plasma)?

问题也不在于登录,图形会话出现whodm-tool list-seats显示Session0我的用户名。

编辑:我尝试了其他一些方法。我提到了 project-neon 中的密码提示。如果我让它静置一会儿,桌面最终会出现并正常工作。

我也尝试过将调试输出添加到startkdestartactive。 中的可以startactive工作,但 中的不行startkde(从 lightdm 或 kdm 启动时,但从 可以工作xinit /usr/bin/startkde),所以 lightdm 甚至可能无法启动startkde,尽管根据 它可以启动lightdm.log

答案1

总结存在权限问题~/.cache/upstart/dbus-sessionrm -rf .cache/upstart重新启动即可解决。

为未来的读者(可能也包括我)提供新手调试见解。

~/.xsession我在问题中提到的信息大致是

init: dbus pre-start process (PID XXXX) terminated with status 2

实际上是非常很重要。我在调查时了解到了它的含义,我发现了它

  • 首先,我以为问题出在 kde 上,所以我尝试查找 lightdm 如何启动 kde
  • 我尝试查看/etc/lightdm/(按照建议man lightdm),但lightdm配置文件不在这里,但(我通过查看找到它/var/log/lightdm.log)在/usr/share/lightdm/lightdm.conf.d其中我找到了相关文件/usr/share/lightdm/lightdm.conf.d/40-kde-plasma.conf
  • 根据它,lightdm 为 kde 启动的是脚本/usr/bin/startkde,所以我echo 'startkde is at line ##' > /home/evpok/delog向它添加了一些调试行以查看它在哪里失败了,但它们都没有执行。
  • 再次检查时,/var/log/lightdm.log我看到了这一行,
    Running command /usr/sbin/lightdm-session /usr/bin/startkde
    于是我查看了一下usr/sbin/lightdm-session,并再次添加了调试echo
  • 摸索了一阵子后,我发现问题出在加载 Xsession 脚本上:/etc/X11/Xsession.d/99x11-common_start。所以我查看了那个脚本。它似乎加载正常,只有一行exec $STARTUP。添加一个echo来查看里面的内容,$STARTUP我发现是init --user。现在我不想弄乱它,init所以我只是通过注释掉这一行并添加来跟踪它的输出
    exec init -v --user > /home/evpok/initlog 2> /home/evpok/initerrlog
  • 查看这些日志时,我看到了此消息initerrlog

    dbus pre-start process (PID XXXX) terminated with status 2
    但我仍然不知道该怎么做,所以我查看了一下,initlog发现
    Loading configuration from /usr/share/upstart/sessions

  • 我查看了该目录,在那里我看到了startkde.conf。在查看了 upstart 作业配置文档后,我发现它
    start on started dbus and xsession SESSION=kde-plasma
    显然是没有启动的原因startkde。它需要 dbus,但出现了错误,所以我查看了dbus.conf
  • 那里有一个pre-start script节,嘿!这就是 init 的错误日志中的内容,并且在 中.xsession-errors。因此,我再次添加了一些回声,发现问题出在行
    echo "DBUS_SESSION_BUS_ADDRESS=${DBUS_SESSION_BUS_ADDRESS}" >$HOME/.cache/upstart/dbus-session(不是我的调试回声之一)
  • ~/.cache/upstart/debus-session摸索了一阵子后,我发现由于权限问题,我无法触碰这个不存在的文件。我尝试在下面创建它sudo,并用适当的权限将其 chown 给我,但没有成功。所以我只是rm -rf'ed .cache/upstart
  • 重启后,一切都按预期运行。

毕竟,我只需要不再害怕内部事物并不再弄脏我的手。

答案2

从 Ubuntu 13.10 升级到 Ubuntu 14.04 后,我遇到了同样的问题。我在 .xsession-errors 文件中的最后一行也显示:

init: dbus pre-start process (PID XXXX) terminated with status 2

问题也出在.cache/upstart目录中。它有权限drw-------- 所以我甚至无法进入它。我刚刚添加了一个执行位,重新启动了 X,现在它就可以正常工作了。

相关内容