现象:在Ubuntu登陆界面输入密码之后,黑屏一闪并且出现了check battery state之类的文字之后,又跳转到登录界面。

原因:主目录下的.Xauthority文件拥有者变成了root,从而以用户登陆的时候无法都取.Xauthority文件。
说明:Xauthority,是startx脚本记录文件。Xserver启动时,读文件~/.Xauthority,读入对应其display的记录。当一个需要显示的客户程序启动调用XOpenDisplay()也读这个文 件,并把找到的magic code 发送给Xserver。当Xserver验证这个magic code正确以后,就同意连接啦。观察startx脚本也可以看到,每次startx运行,都在调用xinit以前使用了xauth的add命令添加了一个新的记录到~/.Xauthority,用来这次运行X使用认证
解决方法:我们需要将.Xauthority的拥有者改为登陆用户(或者干脆将.Xauthority删除,此法转自网上,本人未验证)
从图中可以看到.Xauthority已经属于root,而不再是gongkong用户了。

当然如果是在其他用户仍旧可以登录,则可以在其他用户命令行里进行同样的修改:

开机后在登陆界面按下shift + ctrl + F1进入tty命令行终端登陆后输入:(本人的用户名为gongkong,因此chown后面跟了gongkong,若为其他用户名修改成相应的名称即可)
sudo chown gongkong:gongkong .Xauthority

Ubuntu系统中,用户在登录时遇到密码验证后立即返回登录界面的问题。原因在于用户的.Xauthority文件所有者变为root,导致登录失败。解决方案是通过命令行终端切换到其他可登录用户,执行chown命令将.Xauthority文件的所有者改回当前用户,或者直接删除该文件。详细步骤包括进入tty命令行终端,使用chown命令修改文件权限。
最低0.47元/天 解锁文章
2377

被折叠的 条评论
为什么被折叠?



