在 输入密码后lightdm
,我得到一个空白屏幕,然后返回到。我在或lightdm
中找不到任何明显的问题(尽管如果它们有用,我很乐意发布它们)。/var/log/lightdm
/var/log/Xorg.0.log
当前的解决方法(但不完美):我可以从控制台启动 X,但当我这样做时,我遇到了另一个问题,即声音无法使用(尽管尝试重新启动pulseaudio
和mpd
)。我怀疑原来的lightdm
声卡以某种方式锁定,所以如果我能解决lightdm
登录问题,它就会解决声音问题。
另一个数据点:从lightdm
,我能以不同的用户身份登录(基本上处于默认状态的用户),一切正常 - Xfce 启动并且声音正常。
有人知道如何调试这个lightdm
问题吗?
更新:
尝试了一些行动Ubuntu 陷入登录循环——我的.Xauthority
、.ICEauthority
和/tmp
权限似乎不是问题:
% ls -la ~/.Xauthority
-rw------- 1 dmcc dmcc 99 Apr 15 21:58 /home/dmcc/.Xauthority
% ls -la ~/.ICEauthority
-rw------- 1 dmcc dmcc 10584 Apr 15 22:00 /home/dmcc/.ICEauthority
% ls -ld /tmp/
drwxrwxrwt 6 root root 20480 Apr 15 22:48 /tmp/
我也尝试过dpkg-reconfigure lightdm
(没有变化)。
更新 2:
- 尝试重新安装(
lightdm
问题仍然存在)。apt-get purge lightdm
apt-get install lightdm
- 也尝试删除
.Xauthority
。 - 我已经
strace
执行了根lightdm
进程(一次用于我的用户登录,一次用于虚拟用户登录)但它并没有显示太多对用户主目录中路径的文件系统访问权限。
答案1
总结:我的具体问题是,在某一时刻我输入了exec /bin/zsh
(~/.bashrc
不记得为什么这样做)。strace
无法追踪这个问题,但是fatrace
因为它可以跟踪整个系统的访问,而不仅仅是进程子树。
可能是无聊的细节:我很确定我的问题与我的主要用户主目录中的某些内容有关,因为我有另一个可以正常登录的用户。从我的strace
观察来看,我怀疑执行文件访问的进程不在同一个子树中,因为lightdm
我已经strace
递归地对其进行了访问。因此,我寻找方法来跟踪我的整个系统,试图找出每个用户登录时哪些文件系统访问是不同的。
我发现
如何在 Linux 中通过文件名记录文件系统的读/写?和我如何完善strace
整个系统?首先我尝试过,systemtap
但是它卡在了内部错误ld
。最终,我发现fatrace
。类似strace
,这并没有包含对我的主目录的太多访问权限,但它确实有这行(完全正常):
lightdm-session(11474): O /home/dmcc/.bashrc
当我查看时.bashrc
,我看到了我曾经弄乱它的地方。当我注释掉该exec
语句时,登录成功了。我仍然不清楚为什么我没有早点遇到这个问题,或者为什么即使我的默认shell是,我的在启动时也.bashrc
很重要。X11
zsh