ubuntu 输入密码后无法进入桌面

时间:2020-12-16 04:55:45
ubuntu12.04管理员账户登录不了桌面,只能客人会话登录。

登录管理员账户时,输入密码后,一直在登录界面循环

ctrl+alt+f1 ,切换到tty1,输入管理员帐号和密码

sudo rm -r .Xauthority*

sudo reboot   //重启

ok

可惜,不明白为什么删除.Xauthority*就ok的原因。

关于.Xauthority:startx的脚本文件

Xserver 启动时,读文件~/.Xauthority,读入对应其display的记录.当一个需要显示的客户程序启动调用XOpenDisplay()也读这个文 件,并把找到的magic code 发送给Xserver.当Xserver验证这个magic code正确以后,就同意连接啦.
        观察startx脚本也可以看到,每次startx运行,都在调用xinit以前使用了xauth的add命令添加了一个新的记录到~/.Xauthority,用来这次运行X使用认证


链接:http://blog.csdn.net/wjeson/article/details/9029995


关于这个问题,网上很多答案,但是都是零零星星,而且各种说法不一样,这就说明了,产生这种现象的原因很多,因此很难界定你遇到这个问题的原因是不是这一个,我也遇到这个问题,以此记录下来,供来人参考。

首先,ubuntu12.04已经正常使用了一段时间,后来因为想在ubuntu上安装bt5的工具,按照网上给的方法,更新源,并且使用gpg命令去设置密钥,然后发现firefox提示网络链接出错。因此想到重启,重启之后发现输入正确的帐号和密码会闪一下命令行,然后又回到登录界面。

以上是主要症状,我百度google了一下,发现很多答案,于是一一尝试,现将网上提到的主要方法总结如下:
       1.环境变量被修改。

解决:
   Ctrl+Alt+F1~F6,都可以进入命令行模式,分别为 tty1~tty6。
      注:Ctrl+Alt+F7 就是窗口模式。
  
    使用用户名和密码进入。
  
   sudo==/usr/bin/sudo
    vi==/usr/bin/bi
    去掉三个文件中给PATH增加的 /home/sjjz/Android-sdk-linux_86/tools 路径
    whereis=/usr/bin/whereis
    cat==//bincat
    mv==/bin/mv
    ls==/bin/ls
    bash==/bin/bash

    重启:
   /usr/bin/sudo /sbin/reboot

2.修改了profile文件

解决:

利用Alt+Ctrl+Shift+F1进入命令行模式, 以root的身份更改了/etc/profile文件, 这个文件我昨天在配置JDK运行环境的时候对其进行了修改, 现在又将内容改了回来,终于可以正常进入了。

3.修改了environment

解决:

/usr/lib/sudo /usr/lib/vi /etc/environment,然后将光标移动到PATH=$PATH:/home/user1/program/androidSDK/tools 这一行,按两次D,即DD就删除了着一样,
再输入命令

4.认证的问题

解决:

今天无缘无故登录不了系统 在登录界面输入正确密码后 黑屏一闪后又跳转到登录界面
黑屏出现的时间太短 经过多次查看发现 卡在check battery state
解决方法:

  sudo rm -r .Xauthority*

当然,还有其他的原因,我尝试了以上几种方法都没成功,后来看到有一个博客,简单说到这个问题的本质是开机时,系统会读入/home文件夹下的一些初始化文件,如果找不到这些文件就会出错,出现之前说明的症状。结合我之前看到的一些解决方法,我认为可能是home的权限受到更改,导致非root用户无法读取/home目录下的初始化文件造成的。

于是死马当作活马医,sudo chmod 777 /home,然后重启。
被叫去洗锅,想着用了大半天没搞定,还是重装系统比较快,没想到洗完锅回来,居然出现了,我熟悉的桌面。