Linux在tty中使用英文,在x-window中使用中文
2018-2-9
系统:debian 9
如果把系统语言设置为中文,则在tty下运行没有的命令的话,会出现乱码,当然我们可以安装第三方工具(如fbterm/zhcon)来支持中文的显示,本人以前使用过zhcon,体验效果不是太好,主要是字体和中文输入.
为了解决tty下遇到中文乱码的问题,当然这里所说的并非是解决所有中文乱码(像显示中文文件时出现乱码不在这个范围),如果要想解决所有的中文乱码问题,可以安装上面提到的第三方工具,或者给内核打上中文显示的补丁(本人没有尝试过).本次解决方法主要是利用login shell(如tty)和non-login shell(如x-window)登录时所读取到的文件不同来实现tty下系统语言为英文,而x-window下显示为中文.什么是non-login shell和login shell,可以看这儿.
首先以root身份在/etc/目录下创建一个文件language
su root
cd /etc/
vim language
里面填入下面的内容(修改这两个环境变量),
#!/bin/sh
LANG="en_US.utf-8"
LANGUAGE="en_US.utf-8"
然后在~/.profile(或/etc/profile)中最后一行加入
source /etc/language
注意:每个用户家目录下的.profile文件都要加入
这样,重启后,以login shell方式(如tty)直接登录时,输入locale命令,就会发现系统语言变成了英文,而以non-login shell方式(如x-window)登录时,任然是中文.
注意:在tty下切换用户,切换的那个用户是属于non-login shell方式的,因此输入locale,语言还是中文,可以参考我写的另一篇文章Linux下的环境变量问题
如果在这个过程中遇到了其它问题,欢迎在评论区留言,或者Google一下,也欢迎把具体的解决方法留在评论区,以供后来者参考
欢迎转载,不需注明出处,就说是你写的