今天,我安装了一些软件包并更新了 Firefox 后,重新启动了 Ubuntu 12.04。当我进入登录屏幕时,我输入了密码。经过大约一秒钟的处理后,屏幕变黑并返回到登录屏幕。它没有给出任何错误(例如密码无效)。
我读到了一些关于 lightdm 导致此问题的内容,所以我尝试在 TTY 中安装 gdm。当我尝试这样做时,TTY 给了我一个“密码(或登录)错误”的错误。我非常确定我的密码是正确的,我甚至尝试在命令部分勾选它,这样我就可以排除键盘布局的变化。
如果有人能帮助我解决这个问题我将非常感激,因为我现在无法使用 Ubuntu,而且类似的问题也无法解决我的问题(因为我根本无法进入 TTY)。
编辑:我忘了说了,2D 登录和访客登录也不起作用。我试过使用mv ~/.Xauthority ~/.Xauthority.old
,但没有用(tty 没有反应,也没有解决问题)。
我还尝试安装 gdm(停止使用 lightdm)sudo apt-get install gdm
,它响应如下:
sudo: /usr/lib/sudo/sudoers.so must be only be writable by owner
sudo: fatal error, unable to load plugins
除此之外,我还没有尝试任何其他东西。
编辑(2):我尝试了命令sudo rm ./.Xauthority
,但出现了与上述相同的错误。我需要重新安装(或恢复备份)我的系统吗?还是可以保存它?
编辑(3):我解决了 sudo 问题(感谢 Shantanu!)。我需要更改几个(与 sudo 相关的)文件的所有权。我过去常常pkexec
使用终端更改所有权。我现在意识到这种所有权的转移可能是导致我的登录循环问题的原因。sudo 现在确实有效,所以我将尝试其他一些命令。如果有人能就此事为我提供帮助,我将不胜感激!
答案1
我在运行 Kubuntu 12.04 很长一段时间时也遇到了类似的问题:登录屏幕显示正常,但登录后不会将我带到等离子桌面,而是返回到登录屏幕。我认为这个问题对于使用 gdm 的 Ubuntu 和对于我使用 kdm 的情况大致相同。
作为临时解决方案,我可以通过输入以下命令进入适当的桌面环境:
sudo service kdm stop
startx
从 tty 控制台,我使用 ctrl+alt+f3 从登录屏幕退出。
.Xauthority
怀疑我的目录存在权限问题/tmp/
(正如对同一问题的许多其他答案一样),我运行了:
ls -la ~/.Xauthority
并验证其所有者是否设置为username username
,root root
然后运行
ls -ld /tmp
并确保其权限为drwxrwxrwt
。我还尝试将.Xauthority
文件全部删除,希望下次登录时可以正确重新生成,但这对我来说不起作用(不过其他人尝试此方法似乎成功了)。
接下来我检查了~/.profile
多余的线条,并通读了我的.xsession-errors
文件寻找线索,但无济于事。
最终对我有用的是删除我的 ~/.dmrc
文件。
从https://help.ubuntu.com/community/dmrcErrors:
“.dmrc 是系统在会话登录期间检查的初始化文件。具体来说,gnome 会检查文件中是否存在任何未在其他地方找到的特定语言或会话信息。虽然该文件通常除了基本标题数据外是空白的,但它可能包含会话启动时使用的特定语言。”
这个文件必须有 644 个权限才能正常工作(编辑:上面的链接实际上给出了除了 644 之外的一些其他权限,但 644 是明确给出的设置权限),因此在删除它之前请验证
ls -la ~/.dmrc
产生权限drwxr-xr-x 143 user user
,如果没有,尝试使用
chmod 644 /home/username/.dmrc
如果上述解决方案均不起作用,请尝试使用以下命令备份并删除此文件:
cp /home/username/.dmrc /home/username/.dmrc.backup
rm /home/username/.dmrc
下次登录时,.dmrc
将生成一个新文件并正确配置,就我而言,我终于能够正确登录,而无需退出到 tty、终止 kdm 并手动启动 x。
注意:我怀疑根本原因是我的主文件夹所在的分区在会话期间已满,这导致一大堆其他问题,配置文件未写入需要写入。无限登录循环问题紧接着开始,我注意到文件的.dmrc
大小为 0,而不是包含:
[Desktop]
Session=default
就像现在在完全正常运行的情况下一样。从上面的引用来看,这个文件是在登录时读取的,也许我的登录循环发生是因为 Kubuntu 不知道如何处理空文件.dmrc
,但我只是在猜测。
答案2
这个(类似)问题的答案解决了我的问题:Ubuntu 陷入登录循环。 (sudo chmod a+wt /tmp
代码)
但是现在我的配色方案出现了问题(颜色似乎不对齐),但我会将其发布在另一个问题中,因为它与这个问题没有太大关系。
谢谢大家的帮助!
答案3
按 CTRL+ALT+F1 并登录并运行:
sudo chown -R $USER:$USER $HOME
$USER
是你的用户名
前任 -sudo chown -R singh:singh /home/
然后按 CTRL+ALT+F7 并尝试登录