LinuxSir.cn,穿越时空的Linuxsir!

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

sarge: 为什么在字符终端下能设置环境变量,而在X-Window下不能?

[复制链接]
发表于 2005-7-30 16:59:57 | 显示全部楼层 |阅读模式
把export XXX=YYY加入~/.bashrc 或 ~/.bash_profile
用字符终端登录,可以看到XXX已经设置了,而在X-Window下没有设置。
这是什么原因呢?
发表于 2005-7-30 17:19:39 | 显示全部楼层
应该可以的
回复 支持 反对

使用道具 举报

发表于 2005-7-30 17:38:12 | 显示全部楼层
如果用 GDM 登录,是不读取 ~/.bash_profile 的。而图形界面的程序也不会读取 ~/.bashrc (除非你在桌面上开 X terminal),所以你写在这些地方的设置是没有用的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-7-30 17:44:20 | 显示全部楼层
我是用的GDM登录,检查环境变量是否设置,是在桌面上开 X terminal,然后echo $XXX
各位试试自己的系统是不是这样?
回复 支持 反对

使用道具 举报

发表于 2005-7-30 18:11:18 | 显示全部楼层
请先 rm ~/.xinitrc ~/.xsession

然后你要在 X 下设置的 环境变量可以写在 /etc/X11/Xsession.d/95setenv 里

hua@hua:~$ cat /etc/X11/Xsession.d/95setenv
# 设置 GST_ID3_TAG_ENCODING
export GST_ID3_TAG_ENCODING=GBK




系统级的设置可以写在 /etc/environment
hua@hua:~$ cat /etc/environment
LANGUAGE="zh_CN:zh:en_US:en"

LANG=zh_CN.UTF-8





另外, 查看环境变量可以用 env 命令

hua@hua:~$ env
SSH_AGENT_PID=4566
TERM=xterm
DESKTOP_STARTUP_ID=
SHELL=/bin/bash
GTK_RC_FILES=/etc/gtk/gtkrc:/home/hua/.gtkrc-1.2-gnome2
WINDOWID=44063303
USER=hua
LS_COLORS=no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01r=40;31;01:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.avi=01;35:*.fli=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.ogg=01;35:*.mp3=01;35:*.wav=01;35:
GNOME_KEYRING_SOCKET=/tmp/keyring-AEygBf/socket
SSH_AUTH_SOCK=/tmp/ssh-DKwZSs4486/agent.4486
SESSION_MANAGER=local/hua:/tmp/.ICE-unix/4486
USERNAME=hua
DESKTOP_SESSION=default
PATH=/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
GDM_XSERVER_LOCATION=local
PWD=/home/hua
XMODIFIERS=@im=SCIM
JAVA_HOME=/usr/lib/j2sdk1.5-sun/
LANG=zh_CN.UTF-8
GDMSESSION=default
HOME=/home/hua
SHLVL=1
LANGUAGE=zh_CN:zh:en_US:en
GNOME_DESKTOP_SESSION_ID=Default
LOGNAME=hua
GST_ID3_TAG_ENCODING=GBK
LESSOPEN=| /usr/bin/lesspipe %s
DISPLAY=:0.0
LESSCLOSE=/usr/bin/lesspipe %s %s
COLORTERM=gnome-terminal
XAUTHORITY=/home/hua/.Xauthority
_=/usr/bin/env
hua@hua:~$
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-8-1 12:14:46 | 显示全部楼层
谢谢jhuangjiahua
写在/etc/X11/Xsession.d/95setenv里,或在95setenv里执行$HOME/.bash_profile都可以
只是不知Debian为什么这样,让非root用户怎么在X-window里设置环境变量啊, 在readhat中是可以
通过~/.bash_profile设置的。
回复 支持 反对

使用道具 举报

发表于 2005-8-1 12:26:07 | 显示全部楼层
那如果我要在x里面alias ll='ls -l --color=tty'的话在哪里写呢?

Post by jhuangjiahua
请先 rm ~/.xinitrc ~/.xsession

然后你要在 X 下设置的 环境变量可以写在 /etc/X11/Xsession.d/95setenv 里

hua@hua:~$ cat /etc/X11/Xsession.d/95setenv
# 设置 GST_ID3_TAG_ENCODING
export GST_ID3_TAG_ENCODING=GBK




系统级的设置可以写在 /etc/environment
hua@hua:~$ cat /etc/environment
LANGUAGE="zh_CN:zh:en_US:en"

LANG=zh_CN.UTF-8




hua@hua:~$
回复 支持 反对

使用道具 举报

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

本版积分规则

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