LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: LaoLiulaoliu

本地化的完美解决方案(input method,locale...)

[复制链接]
发表于 2007-10-21 10:13:28 | 显示全部楼层
Post by LaoLiulaoliu
什么意思阿?能讲得具体点吗?

环境变量的设置讲究一下比较好

放在env.d中的变量会影响整个系统,包括一些服务在内
放在/etc/bash/bashrc等地方的变量会影响所有登录用户
放在~/.profile下的变量会影响用户自己
放在~/.xinitrc下的变量只影响用户登录的X

我觉得中文设置的影响越小越好,近来我用gnome都不设置local,直接在gdm里边选择,貌似GDM会自动添加图形会话的local环境,然后在自己的.profile里边设置以下XMODIFILER等输入法变量,(输入法的环境变量一般不会影响控制台程序)scim工作正常。
回复 支持 反对

使用道具 举报

发表于 2007-10-21 10:20:15 | 显示全部楼层
控制台下乱码的问题让我心烦了近一年呢,用了一年多gentoo英文桌面才悟出来怎样设置

就是我上边说的,中文local影响范围要尽量小,只影响X,设置在xinitrc里边或者在GDM里设置(好像是~/.dmrc里边保存了GDM的用户设置)
回复 支持 反对

使用道具 举报

发表于 2007-10-21 12:21:04 | 显示全部楼层
12 楼说得是,中文locale应该只有在X中应用,否则到tty下都是乱码。
现在有的软件如mplayer,不知为何,在英文环境中竟然也是中文提示。
回复 支持 反对

使用道具 举报

发表于 2007-10-21 12:55:22 | 显示全部楼层
Post by zhllg
console下en_US也是乱码啊
除非用zhcon

我知道了
我理解成看中文文件和文件名
你说的是程序的输出信息
回复 支持 反对

使用道具 举报

发表于 2007-10-21 13:15:58 | 显示全部楼层
Post by 食古不化
现在有的软件如mplayer,不知为何,在英文环境中竟然也是中文提示。
关于这个,我在make.conf里试着注释LINGUAS="zh_CN",前后对比过,是这个LINGUAS="zh_CN"起的作用。
回复 支持 反对

使用道具 举报

发表于 2007-10-21 13:48:56 | 显示全部楼层
Post by Reiase
控制台下乱码的问题让我心烦了近一年呢,用了一年多gentoo英文桌面才悟出来怎样设置

就是我上边说的,中文local影响范围要尽量小,只影响X,设置在xinitrc里边或者在GDM里设置(好像是~/.dmrc里边保存了GDM的用户设置)

startx启动x就没有问题了,就是.xinitrc罢了。现在关键就是用了kdm,到底要设置哪个文件的问题了。望帮忙找找,拜谢
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-23 12:24:00 | 显示全部楼层
各位评点有理,尤其是Reiase的
放在env.d中的变量会影响整个系统,包括一些服务在内
放在/etc/bash/bashrc等地方的变量会影响所有登录用户
放在~/.profile下的变量会影响用户自己
放在~/.xinitrc下的变量只影响用户登录的X

但是我没有~/.profile这个文件,只有~/.bash_profile,他们一样吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-23 12:46:09 | 显示全部楼层
Post by Reiase


放在env.d中的变量会影响整个系统,包括一些服务在内
放在/etc/bash/bashrc等地方的变量会影响所有登录用户
放在~/.profile下的变量会影响用户自己
放在~/.xinitrc下的变量只影响用户登录的X



总结的不错,但是我测试了,放在~/.xinitrc中的话,无法进入X.所以只好放在.gnomerc,需要的时候在启动。
回复 支持 反对

使用道具 举报

发表于 2007-10-23 13:03:55 | 显示全部楼层
哈哈,搞定,*dm下,x一套tty一套。
先rm 02locale&env-update,然后把输入法和locale的环境变量放入/etc/xprofile下,这样就保证所有用户登录x都是zh的locale,而tty下都是posix。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-24 07:22:01 | 显示全部楼层
三翻领:emerge -e system后,仿佛/etc下面的配置文件都改了。因为我今天执行此命令后,/etc下的rc.conf,conf.d/clock,profile,bash/bashrc都恢复原来的初始设置。

2.首先我没有装zhcon,但是我按照你说的做了,结果如我所料。我已经说过装完scim后的bug.也就是locale无法改变,没有/etc/env.d/100i18n则locale就是POSIX。在/etc/profile设置也好,在/etc/bash/bashrc设置也好,均不起作用,也就是说scim的中文日文输入法均无法使用。除非装了zhcon后这个bug将自动解除。但是我又发现加入/etc/env.d/02locale后重启,locale的设置就会改变,不小的发现,不用重新emerge -e system了。
回复 支持 反对

使用道具 举报

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

本版积分规则

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