Chinaunix首页 | 论坛 | 博客
  • 博客访问: 793424
  • 博文数量: 858
  • 博客积分: 10000
  • 博客等级: 上将
  • 技术积分: 5015
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-29 17:43
文章分类

全部博文(858)

文章存档

2011年(1)

2008年(857)

我的朋友

分类: LINUX

2008-08-29 17:55:53

 
  linux控制台(又叫字符界面、console)默认情况下回显乱码,例如输入mc或chmod之类的命令,输出的总是乱码,因为它企图显示中文,但是又没有装zhcon,结果就是这样啦。

  解决这个问题有两种方法,第一是直接安装zhcon,第二在~/.bashrc里加入exportLANG=en_US的字样。这两种方法有缺点。zhcon是外挂,并不能随系统启动一起运行,而且显示中文字体偏大;exportLANG的结果就是在X的一般terminal里显示不了中文(据说是这样的。刚才验证了,在~/.bashrc里加入exportLANGUAGE=en,好样,进入桌面后,界面全变成英文的了!估计提供这种方法的人还不知道~/.i18n的用途。)

  在/etc/sysconfig/i18n里查看,既然有了CONSOLE_NOT_LOCALIZED=yes这样一条定义,为什么console还是试图显示中文呢?根据mandrake的经验比较两种发行版在系统语言上也就是/etc/profile.d/lang.sh的规定,发现了问题。

  mandrake的10lang.sh里有这么几行:

   if[-n"$DISPLAY"];then
   ["$X11_NOT_LOCALIZED"="yes"]&&LANGUAGE=C
   elif[-z"$DESKTOP"];then
   ["$CONSOLE_NOT_LOCALIZED"="yes"]&&LANGUAGE=C
   fi
   [-n"$LANGUAGE"]&&exportLANGUAGE

  不懂脚本和语言,不过有一点英文基础,猜得出这其中的意思:如果定义了X11_NOT_LOCALIZED"="yes",那么display的本地语言化就会失效,如果定义了CONSOLE_NOT_LOCALIZED"="yes",那么desktop(?)的本地语言化就会失效。也就是说,没有这么几行,/etc/sysconfig/i18n或~/.i18n的CONSOLE_NOT_LOCALIZED=yes定义就不起作用。依样画芦,在/etc/profile.d/lang.sh补上这几行试试.果然,console只显示英文,X环境是中文。

Linux控制台显示英文Linux控制台显示英文Linux控制台显示英文Linux控制台显示英文Linux控制台显示英文Linux控制台显示英文Linux控制台显示英文Linux控制台显示英文Linux控制台显示英文Linux控制台显示英文
阅读(881) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~