您的位置:首页 > 其它

ubuntu之注销账户后无法再登录问题

2013-11-27 14:49 525 查看
配置ubuntu13.10环境时,无意选择了下注销当前账户的操作,结果再次进行登录时,屏幕闪了一下黑屏就又还原到了初始登录界面,多次测试依然如故。由于当时系统创建了两个账户,此时登录另一个账户却可以进去,而且注销后仍然可以进去,很是不解。

网上博文解释原因:无法登录的那个账户的主目录下的.Xauthority文件的拥有者变成了root,从而以用户登陆的时候无法都取.Xauthority文件。

然而,.Xauthority文件的用处是?

.Xauthority,是startx脚本记录文件。Xserver启动时,读文件~/.Xauthority,读入对应其display的记录。当一个需要显示的客户程序启动调用XOpenDisplay()也读这个文 件,并把找到的magic code 发送给Xserver。 当Xserver验证这个magic code正确以后,就同意连接啦。观察startx脚本也可以看到,每次startx运行,都在调用xinit以前使用了xauth的add命令添加了一个新的记录到~/.Xauthority,用来这次运行X使用认证。(引用自http://www.2cto.com/os/201308/238991.html)。可以观察到每个账户的主目录下都有一个所有者为其自身的.Xauthority文件。

如何解决其无法登录问题呢?

第一种做法是直接删除无法登录用户主目录下的.Xauthority文件。在登录界面按组合键Ctrl+Alt+F1进入命令行界面(当然如果系统最初创建了多个账户,也可以其他账户进入系统,按组合键Ctrl+Alt+t启动终端修改),输入如下命令:

sudo mv /home/user/.Xauthority /home/user/.Xauthority.backup (user为你的登录用户名)

sudo service lightdm restart

第二种做法即将无法登录用户主目录下的.Xauthority文件的拥有者改为登录用户即可,输入如下命令:

sudo chown user:user .Xauthority(user为你的登录用户名)

修改之后可以使用ls -l查看修改结果。修改成功后,按组合键Ctrl+Alt+F7返回图形登录界面登录即可。

成功登录之后,再次注销账户,仍然可以成功登录。再回想到前面当有多个账户时,其他账户注销并未出现无法登录的情况。心中的疑惑又出现了:为什么这个安装系统时所创建的账户第一次注销时会出现无法登录的情况,而系统安装后创建的账户就不会出现上述情况呢?

心中猜测是系统安装成功后,所创建账户主目录下的.Xauthority文件的拥有者是所创建账户,而系统安装时所创建账户主目录下的.Xauthority文件的拥有者是root,而在其第一次注销前的登录启动桌面时默认未进行检查。第一次注销后,再登录则会进行检查。真实情况有待进一步探究,看来有必要更深入了解下Linux内核。而关于系统安装时所创建账户主目录下的.Xauthority文件的拥有者归属只能待再次装系统时才能验证了...(未完待续)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: