症状:因为需要开机启动某些程序,所以修改了rc.local,然后出现了开机卡屏。
修复方法:1.开机进入回复模式(recovery mode),然后选择root模式。
2.挂载根目录为可写:mount -o remount,rw /
3. 使用vi修改/etc/rc.local.
注1:修复以后,如果出现输入密码后无法进入桌面反而又跳转到密码输入界面的情况,切换登录终端:ctrl+alt+Fn(比如ctrl+alt+f1,进入tty1终端),输入命令sudo rm -r .Xauthority*,然后重启(sudo reboot)即可。
注2: .Xauthority的原理
Xserver 启动时,读文件~/.Xauthority,读入对应其display的记录.当一个需要显示的客户程序启动调用XOpenDisplay()也读这个文 件,并把找到的magic code 发送给Xserver.当Xserver验证这个magic code正确以后,就连接.
观察startx脚本也可以看到,每次startx运行,都在调用xinit以前使用了xauth的add命令添加了一个新的记录到~/.Xauthority,用来这次运行X使用认证