linux下误操作startx命令后,在登录界面进不去解决办法

问题描述:(参考链接,这里把它复制过来,但是他的解决方案,亲测失败!!!)

给自己以前的电脑捣鼓了一个linux,然后给他搭配一些环境,然后就误操作了startx命令,导致一直在登录页面,输入正确地用户名和密码也还是进不去,真是醉了,重启了N次,并没有什么用处。。。

具体的现象为:

在紫红色的登录界面输入登录密码后,一闪(其实大概就是黑屏了一秒钟),然后就又回到了登录页面,始终无法进入系统。。。

分析原因:

      经过一番搜索,得出了如下的原因:原来是之前误操作startx(其实也不算误操作吧,就是在环境配置的某一步,随意敲了一个startx,然后就醉了)之后,主目录下的.Xauthority文件的拥有者变成了root,从而用户在登录的时候,无法读取.Xauthority文件,就会报timeout错误。

      说明:Xauthority,是startx脚本记录文件。Xserver启动时,读文件~/.Xauthority,读入对应其display的记录。当一个需要显示的客户程序启动调用XOpenDisplay()也读这个文 件,并把找到的magic code 发送给Xserver。

       当Xserver验证这个magic code正确以后,就同意连接啦。观察startx脚本也可以看到,每次startx运行,都在调用xinit以前使用了xauth的add命令添加了一个新的记录到~/.Xauthority,用来这次运行X使用认证

解决办法:(来自运行startx后Ubuntu密码正确进不去的问题,这里做了整理,直接看这里吧!)

步骤如下

1,在登录界面按Ctrl+Alt+F3 切换到控制台登陆,这里要登录普通用户,而不是root

2,命令:cd~

3,命令:rm -rf .Xaut* #注意空格大小写rm_-rf_.Xaut*

4,最后:按Ctrl+Alt+F7回到登陆界面,输入密码正常登陆。

顺便说说:

进不去的原因是什么?

在tty执行startx会生成的一个文件,ubuntu的登陆器是lightdm,这个登陆器发现你家目录里有这个文件就会死循环,让你无限输入密码。

stratx 命令是用来干啥的?

startx 是用来启动X windows服务的。在Ubuntu下慎用,原理还不是很清楚。

运行后在/home目录下自动生成.Xauthority 目录,导致出现上面的问题。

    原文作者:yejg
    原文地址: https://www.jianshu.com/p/1e475cc38cbb
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞