转自:http://feierky.iteye.com/blog/1966823
现象:在Ubuntu登陆界面输入密码之后,黑屏一闪并且出现了check battery state之类的文字之后,又跳转到登录界面。
原因:主目录下的.Xauthority文件拥有者变成了root,从而以用户登陆的时候无法都取.Xauthority文件。
说明:Xauthority,是startx脚本记录文件。Xserver启动时,读文件~/.Xauthority,读入对应其display的记录。当一个需要显示的客户程序启动调用XOpenDisplay()也读这个文 件,并把找到的magic code 发送给Xserver。当Xserver验证这个magic code正确以后,就同意连接啦。观察startx脚本也可以看到,每次startx运行,都在调用xinit以前使用了xauth的add命令添加了一个新的记录到~/.Xauthority,用来这次运行X使用认证
解决方法:我们需要将.Xauthority的拥有者改为登陆用户(或者干脆将.Xauthority删除,此法转自网上,本人未验证)
开机后在登陆界面按下ctrl+ alter + F1进入tty命令行终端登陆后输入:(本人的用户名为hp,因此chown后面跟了hp:hp若为其他用户名修改成相应的名称即可)
$ cd~
$ sudo chown hp:hp .Xauthority
然后再次输入:
ls -l .Xauthority
成功后显示如下:
-rw------- 1 hp hp 80 1月 27 10:41 .Xauthority
此时拥有者已经变为用户。按下shift + ctrl + F7切换回图形登陆界面登陆即可。
参考链接:
http://blog.csdn.net/misiter/article/details/7572288
http://blog.csdn.net/lbo4031/article/details/8509495
ps:测试成功。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ubuntu修改用户名、计算机名、主目录名
修改用户名称:
切换到root打开如下两个配置文件
- gedit /etc/passwd
- gedit /etc/shadow
- 127.0.0.1 localhost
- 192.168.76.21 hs-virtual-machine //将此处改为zj-virtual-machine
- # The following lines are desirable for IPv6 capable hosts
- ::1 localhost ip6-localhost ip6-loopback
- fe00::0 ip6-localnet
- ff00::0 ip6-mcastprefix
- ff02::1 ip6-allnodes
- ff02::2 ip6-allrouters
- ff02::3 ip6-allhosts
- ~
- ~
- ~
[2]gedit /etc/hostname
hs-virtual-machine 将红色部分改为zj-virtual-machine
保存,退出,重启,就得到如下结果:
下面就是更改主目录名的方法:
<span style="color:#330033;">补充 mount -o remount,rw / 执行上述命令后即可读写文件了。 </span>
ubuntu recovery mode 模式root下读写权限
sudo chfn -f 新名字 原名字
sudo usermod -l 新名字 -d /home/新名字 -m 原名字
sudo groupmod -n 新名字 原名字
ubuntu的recovery mode
偶尔会遇到Ubuntu无法正常启动的情况,这时候需修改某些文件让系统正常启动,如果直接进入 recovery 模式,默认是文件权限只读,无法修改文件。这时我们需要进入recovery 的单用户模式,获得修改文件的权限。
1、重启ubuntu,随即长按shirft进入grub菜单,或等待grub菜单的出现,如下图
2、选择recovery mode,接着用方向键将光标移至recovery mode,按"e"键进入编辑页面,如下图:
3、将 ro recovery nomodeset 改为 rw single init=/bin/bash
4、 按 ctrl+x或者F10 进入单用户模式,当前用户即为root。这时候可以修改文件。修改完毕后重启即可。
另外一种方式,进入Recovery mode的Recovery Menu而不是采用单用户的方式。
重启Ubuntu,随即长按shift进入grub菜单;
选择recovery mode,回车确认,如下图;
在Recovery Menu中,选择“Root Drop to root shell prompt”,回车确认,如下图;
1)修改普通用户的密码
进入shell界面,使用passwd命令重新设定密码:passwd david,(david是系统中已有的username,但是如果root的用户就会有authentication token manipulation error错误),回车确认;
输入新密码;
再次确认新密码;
看到密码设定成功提示:passwd: password updated successfully;
重启系统进入GUI界面:sudo reboot;
2)修改root用户的密码
使用passwd命令重新设定密码:passwd root输入新密码;
再次确认新密码;
看到密码设定成功提示:passwd: password updated successfully;
重启系统进入GUI界面:sudo reboot;
- 直接passwd <用户名>, 输入新密码之后,会提示"Authorization token manipulation error".如下图的错误
- 然后我们在窗口中输入"mount -o remount,rw /"命令,进行remount,这样之后就可以用passwd 进行修改密码了