ubuntu下环境变量是如何起作用的
-
- 帖子: 13
- 注册时间: 2009-01-11 0:45
ubuntu下环境变量是如何起作用的
为了验证环境变量是如何发生作用的,我做了如下的实验:
我在ubuntu9.10上安装了英文和中文,并讲当前语言设置为中文。然后我讲以下语句添加到/etc/bash.bashrc结尾:
LANGUAGE=“en_US:en"
LANG="en_US.UTF-8"
运行souce /etc/bash.bashrc
再运行env,查看当前的环境变量LANG以及LANG,都已经更改为我最新设置的值。
--->刚刚又试了一下,发现这些环境变量值的更新,仅限于当前终端,如果新开终端,查看环境变量还是原来的值。怪了,难道我昨天看错了?
问题来了:之前已经打开了的应用程序是中文的,这个倒是没有问题。应用程序还不能随时切换语言。但是,我全新打开任何其他的应用程序,仍然显示中文,并没有根据最新的环境变量选择英文的显示。那么,环境变量LANG 和 LANGUAGE有什么意义呢?应用程序到底是根据什么来判断中文还是英文呢?
我在ubuntu9.10上安装了英文和中文,并讲当前语言设置为中文。然后我讲以下语句添加到/etc/bash.bashrc结尾:
LANGUAGE=“en_US:en"
LANG="en_US.UTF-8"
运行souce /etc/bash.bashrc
再运行env,查看当前的环境变量LANG以及LANG,都已经更改为我最新设置的值。
--->刚刚又试了一下,发现这些环境变量值的更新,仅限于当前终端,如果新开终端,查看环境变量还是原来的值。怪了,难道我昨天看错了?
问题来了:之前已经打开了的应用程序是中文的,这个倒是没有问题。应用程序还不能随时切换语言。但是,我全新打开任何其他的应用程序,仍然显示中文,并没有根据最新的环境变量选择英文的显示。那么,环境变量LANG 和 LANGUAGE有什么意义呢?应用程序到底是根据什么来判断中文还是英文呢?
上次由 arrowf 在 2010-03-16 17:22,总共编辑 1 次。
- cuckoo1978
- 帖子: 513
- 注册时间: 2009-05-09 14:42
- 来自: 济南
- 联系:
Re: ubuntu下环境变量是如何起作用的
utf-8 它的作用,它可以表示全球上的大多数语言,它是一种变长的编码方式。它可以使用1~4个字节表示一个符号,根据不同的符号而变化字节长度,不同的语言有不同的字符表示,即使你把语言设置成了英文,但是 utf-8 的编码不会变,依然还是中文,比如你用俄语写了一篇文章(前提是你有俄语的输入法),虽然你的默认语言是中文,但是显示的依然是俄语。再说的土一点就是可以这样理解,utf-8用1-4个字节把地球上大部分语言编号,对号入座。
建议看看这个 http://www.ruanyifeng.com/blog/2007/10/ ... utf-8.html
java是用 unicode 来写的,就是utf-16,可以表示更多的语言。。。。。。 解释的不太好,多包涵。。。。。。我天生不是当老师的料。。。
建议看看这个 http://www.ruanyifeng.com/blog/2007/10/ ... utf-8.html
java是用 unicode 来写的,就是utf-16,可以表示更多的语言。。。。。。 解释的不太好,多包涵。。。。。。我天生不是当老师的料。。。
废土狂猪 :看啥 ,没见过网管吗,再看 吃了你!
- BigSnake.NET
- 帖子: 12522
- 注册时间: 2006-07-02 11:16
- 来自: 廣州
- 联系:
Re: ubuntu下环境变量是如何起作用的
你新设置的变量只对新的shell起作用
已有的是不会变的
已有的是不会变的
^_^ ~~~
要理解递归,首先要理解递归。
地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
要理解递归,首先要理解递归。
地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
-
- 帖子: 13
- 注册时间: 2009-01-11 0:45
Re: ubuntu下环境变量是如何起作用的
但是我用echo $LANG 和 echo $LANGUGE 查看出来的值确实已经更新了,为什么这种环境变量的变化没有体现到应用程序上呢?
全新打开的应用程序仍然获得的是gnome session启动时加载的LANG/LANGUAGE值,这个值到底是保存在什么地方的呢?
全新打开的应用程序仍然获得的是gnome session启动时加载的LANG/LANGUAGE值,这个值到底是保存在什么地方的呢?
- eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
-
- 帖子: 13
- 注册时间: 2009-01-11 0:45
Re: ubuntu下环境变量是如何起作用的
我也在怀疑其实这些应用程序根本就没有使用LANG/LANGUAGE,但是我对这个不太熟悉,我想知道这些软件是怎么取得当前的语言环境的。如果用gconf,总得有个接口吧,这些东西应该去哪儿找呢?eexpress 写了:X的软件,可不一定使用你bash的export设置。应该去gconf里面找。X的软件,不单纯的。
- BigSnake.NET
- 帖子: 12522
- 注册时间: 2006-07-02 11:16
- 来自: 廣州
- 联系:
Re: ubuntu下环境变量是如何起作用的
你加到 /etc/environment 然后重启看看, 或者在登陆界面选语言arrowf 写了:但是我用echo $LANG 和 echo $LANGUGE 查看出来的值确实已经更新了,为什么这种环境变量的变化没有体现到应用程序上呢?
全新打开的应用程序仍然获得的是gnome session启动时加载的LANG/LANGUAGE值,这个值到底是保存在什么地方的呢?
^_^ ~~~
要理解递归,首先要理解递归。
地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
要理解递归,首先要理解递归。
地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
-
- 帖子: 13
- 注册时间: 2009-01-11 0:45
Re: ubuntu下环境变量是如何起作用的
重启以后当然就没问题了。BigSnake.NET 写了:你加到 /etc/environment 然后重启看看, 或者在登陆界面选语言arrowf 写了:但是我用echo $LANG 和 echo $LANGUGE 查看出来的值确实已经更新了,为什么这种环境变量的变化没有体现到应用程序上呢?
全新打开的应用程序仍然获得的是gnome session启动时加载的LANG/LANGUAGE值,这个值到底是保存在什么地方的呢?
现在的问题就是,如果不重启,如何能够让我对特点环境变量(具体来说就是语言相关的)的改动立刻生效。
- sanchor
- 帖子: 17
- 注册时间: 2010-11-30 21:28
Re: ubuntu下环境变量是如何起作用的
我刚在10.10装了GE,但是不支持中文显示,看了官方帮助文档,又搜索到这里的帖子,有了答案。arrowf 写了:重启以后当然就没问题了。BigSnake.NET 写了:你加到 /etc/environment 然后重启看看, 或者在登陆界面选语言arrowf 写了:但是我用echo $LANG 和 echo $LANGUGE 查看出来的值确实已经更新了,为什么这种环境变量的变化没有体现到应用程序上呢?
全新打开的应用程序仍然获得的是gnome session启动时加载的LANG/LANGUAGE值,这个值到底是保存在什么地方的呢?
现在的问题就是,如果不重启,如何能够让我对特点环境变量(具体来说就是语言相关的)的改动立刻生效。
在终端输入
LANG=en_US googleearth
启动GE,英文界面,成功。
但是关闭后从菜单打开,就还是中文的。
结论,在终端对LANG的修改只是临时的,类似DOS的set吧
感觉我的经历应该对你的问题有帮助,试试吧。
- photor
- 论坛版主
- 帖子: 11004
- 注册时间: 2008-04-26 12:41