红联Linux门户
Linux帮助

Linux之登陆问题

发布时间:2014-11-01 10:51:03来源:linux网站作者:orangeisnotapple

今天早上在使用Linux的时候进入终端输入startx,然后退出图形界面,进入了命令模式,可能是Ubuntu 14.04的问题,不知怎么就没有响应,我就强行重启了一下操作系统,然后进去发现在使用管理员账号登录时一直是重复登录,怎么都进不去,网上关于这方面的资料还是很多的,给出的方法也是很多。


1、环境变量问题,进入tty1 或者 tty2 然后 sudo vim profile 或者 environment,将 环境变量还原即可。但我的问题并非出于此。

2、初始化文件问题:删除.Xauthority , Xinit 等初始文件 并重启。我的问题也不在于此。

3、/home权限问题:直接将/home  chmod 成 777的权限。不过我的还是无效。

4、/tmp权限问题:我的问题就在于此,首选还是那句话,学会找到日志文件,学会分析日志文件,cd 到 /home/user 里面,然后你会发现一个 启动X组件相关的日志文件:

.xsession-errors文件,打开这个文件发现有以下错误: mkdtemp: private socket dir: Permission denied,可以知道在读写/tmp文件时 遇到权限问题而读写失败,所以 直接chmod 777 /tmp 后 然后 重启 就能进入桌面系统了。

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

sudo rm -r .Xauthority*

sudo reboot  //重启

ok


下面就说一下关于.Xauthority:startx的脚本文件(资料来源于百度):

Xserver 启动时,读文件~/.Xauthority,读入对应其display的记录.当一个需要显示的客户程序启动调用XOpenDisplay()也读这个文 件,并把找到的magic code 发送给Xserver.当Xserver验证这个magic code正确以后,就同意连接啦.

观察startx脚本也可以看到,每次startx运行,都在调用xinit以前使用了xauth的add命令添加了一个新的记录到~/.Xauthority,用来这次运行X使用认证。

解决:

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目录下的初始化文件造成的。