LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
12
返回列表 发新帖
楼主: Daemonccx

LFS终端的中文显示问题

[复制链接]
发表于 2006-1-30 01:24:57 | 显示全部楼层
我想应该是这样的。

不过要看那个终端软件是如何设置的了,因为 bash --login 这样就可以模拟login shell
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-2-1 16:37:20 | 显示全部楼层
一个终端显示问题,也在这里发吧.
我在装LFS的时候,没有做 7.6. Configuring the Linux Console这一节的内容,也就事没有配置/etc/sysconfig/console文件.我的键盘是美式键盘,这一节看得不大明白,所以没做.
现在在宿主系统中chroot安装BLFS,一些错误提示都不能显示.是不是因为没有配置这个文件的原因???
我的LANG变量值是zh_CN.GB18030,即使我作了export LANG=en_US也无济于事
回复 支持 反对

使用道具 举报

发表于 2006-2-3 03:33:38 | 显示全部楼层
ssh 登录的用户,可以用 pam_env 来设置变量。

pam.d/sshd
  1. # Begin /etc/pam.d/sshd
  2. #auth        requisite      pam_securetty.so
  3. auth        requisite      pam_nologin.so
  4. auth        required       pam_unix.so shadow
  5. #auth           required        pam_krb5.so     try_first_pass
  6. account     required       pam_access.so
  7. account     required       pam_unix.so
  8. #account   required     pam_krb5.so     use_first_pass
  9. session         required        pam_unix.so
  10. session         required        pam_env.so envfile=/etc/env.sshd #这行!
  11. session         required        pam_limits.so
  12. session         required        pam_motd.so
  13. session         optional        pam_mail.so     dir=/var/mail   standard
  14. #session        required        pam_krb5.so
  15. password    required       pam_cracklib.so  retry=3 difok=8 minlen=5 \
  16.                                             dcredit=3 ocredit=3 \
  17.                                             ucredit=2 lcredit=2
  18. password    required       pam_unix.so      md5 shadow use_authtok
  19. # End /etc/pam.d/sshd
复制代码
/etc/env.sshd
  1. METHOD=SSH #记忆一下是SSH进来的
  2. LANG=en_US.UTF-8
  3. LC_CTYPE="en_US.UTF-8"
  4. LC_NUMERIC="en_US.UTF-8"
  5. LC_TIME="en_US.UTF-8"
  6. LC_COLLATE="en_US.UTF-8"
  7. LC_MONETARY="en_US.UTF-8"
  8. LC_MESSAGES="en_US.UTF-8"
  9. LC_PAPER="en_US.UTF-8"
  10. LC_NAME="en_US.UTF-8"
  11. LC_ADDRESS="en_US.UTF-8"
  12. LC_TELEPHONE="en_US.UTF-8"
  13. LC_MEASUREMENT="en_US.UTF-8"
  14. LC_IDENTIFICATION="en_US.UTF-8"
  15. LC_ALL=en_US.UTF-8
复制代码
回复 支持 反对

使用道具 举报

发表于 2006-2-3 11:19:25 | 显示全部楼层
有没有什么办法能够使X系统下语言为中文,而字符界面下是英文的???

有办法,至少我知道mandriva就是这样的.
好像有一个环境变量的作用,可能还要补丁.

我正在研究把mandriva的一些有用的补丁集成到lfs里.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-2-4 23:06:44 | 显示全部楼层
但是我LFS中有时MAKE的错误提示都看不清,全是乱码。。。有没办法解决??
还是大家都是这样??
回复 支持 反对

使用道具 举报

发表于 2006-2-8 09:04:23 | 显示全部楼层
在bashrc里面加入
if [ -n "$DISPLAY" ] ; then
    export LC_ALL=zh_CN.GB18030
else
    export LC_ALL=en_US
fi;
大概就是这个意思吧!
回复 支持 反对

使用道具 举报

发表于 2006-2-8 12:04:02 | 显示全部楼层
在/etc/profile最后加上

if [ `tty | awk '{print substr($1,6,3)}'` == "tty" ]; then
export LANG=POSIX
export  LANGUAGE=POSIX
fi
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-2-9 00:12:17 | 显示全部楼层
明天试试。
现在我只是把 /etc/profile.d/i18n.sh文件中的内容改成:LC_ALL 设为空, LC_MESSAGES=en_US.UTF-8
这样在字符界面下错误信息就是英文了。而其他信息还是中文。
不过这样有个缺点,在KDE下,有些应用程序字体变得很难看。权宜之计,先用着了。
回复 支持 反对

使用道具 举报

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

本版积分规则

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