LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1024|回复: 8

su和sudo,令人困惑的现象

[复制链接]
发表于 2008-11-29 11:24:33 | 显示全部楼层 |阅读模式
[kangtian@flying-bird ~]$ sudo rox
密码:
[kangtian@flying-bird ~]$ su
密码:
root@flying-bird:/home/kangtian# rox
No protocol specified

(ROX-Filer:2749): Gtk-WARNING **: cannot open display: :0.0
root@flying-bird:/home/kangtian#

普通用户在终端中sudo 打开 rox一切正常。但是su切到root打开rox就会出现上面的错误。
不光是rox,所有X环境下的应用程序都是如此。
发表于 2008-11-29 12:31:20 | 显示全部楼层
应该是,sudo的时候,虽然有root权限,但还是用kangtian的配置文件。
su的时候,用户改成了root,就必须用root的配置文件。但系统中又没有为root配置X.
回复 支持 反对

使用道具 举报

发表于 2008-11-29 12:37:43 | 显示全部楼层
应该不是这个问题。。
回复 支持 反对

使用道具 举报

发表于 2008-11-29 12:42:16 | 显示全部楼层
su 用的是当前用户的环境变量
su - 用的才是根用用户的环境变量
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-11-29 14:34:27 | 显示全部楼层
真是令人困惑,我在顶楼说的现象是在archlinux中发生。
今天又在openSUSE中做试验,恰恰相反:
su
rox
一切正常,但是:
sudo rox
则会报错:cannot open display: :0.0
回复 支持 反对

使用道具 举报

发表于 2008-11-29 18:03:55 | 显示全部楼层
一般的都是正常的。。。root下是否有xorg.conf之类的?
回复 支持 反对

使用道具 举报

发表于 2008-11-29 21:44:39 | 显示全部楼层
su -
xhost +
export DISPLAY=127.0.0.1:0 (本地这句可以不用)
回复 支持 反对

使用道具 举报

发表于 2008-12-1 20:56:21 | 显示全部楼层
可以使用 xauth
回复 支持 反对

使用道具 举报

发表于 2008-12-3 20:24:01 | 显示全部楼层
使用su -  在改变用户时同时改变它的环境变量
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表