Linux终端界面显示中文乱码或方块
虚拟机:VirtualBox 4.3.0
环境:CentOS 6.4 Basic Server
这个问题,坑了博主好久好久,百度谷歌点到鼠标都快废了,主要是因为想要解决鸟哥服务器篇介绍文字浏览器links使用时,打开网站显示不出中文的问题。
博主目前比较确定的是,系统本身的tty环境是不支持中文显示的,我已经亲测好多次,安装中文支持包,安装中文字体,各种设置,但最终还是显示方块(如果观点或操作有误,跪请大神指教)。后来发帖求助博客园和MSDN,不少大牛们推荐安装fbterm或zhcon这样的支持中文显示的控制台。
解决方案:
1.安装fbterm
2.安装中文字体
3.配置fbterm
一、安装FbTerm:
fbterm所在网址:https://code.google.com/p/fbterm/
1.首先安装编译fbterm依赖包
yum -y install freetype-devel fontconfig-devel
2.下载fbterm压缩包
wget http://fbterm.googlecode.com/files/fbterm-1.7.0.tar.gz
3.将fbterm源代码解压缩至/usr/local/src目录下
tar -zxvf fbterm-1.7.0.tar.gz -C /usr/local/src
4.不解释
cd /usr/local/src/fbterm-1.7
5.建立MakeFile
./configure
6.编译安装
make && make install
我在运行建立MakeFile命令时,出现了下面的错误:C++ compiler cannot create executables。很明显,C++编译环境没有,执行yum install gcc-c++即可解决该问题。同时,还会有两个警告,gpm is not exict,gpm是鼠标支持,我装了之后感觉没什么用,而且都在终端操作了,要什么鼠标啊,所以后来又卸载了。第二个警告没搞懂,跪求大神指导。反正,同学们请忽略这些警告就好了,错误要解决,警告无视之。
7.进入fbterm终端
fbterm
至此,如果不出意外,你的fbterm已经可以支持中文显示了,但由于fbterm的默认字体mono显示不怎么好看,于是决定换一下字体
二、安装字体
1.将自己喜欢的字体文件放到Linux字体目录(/usr/share/fonts)下,博主在fonts目录下又创建一个目录truetype,通过U盘拷贝将自己喜欢的字体放在这个目录。具体操作过程如下:
(1).cd /usr/share/fonts
(2).mkdir truetype ---用来放置从虚拟机外复制过来的字体文件
(3).mount -t vfat -o iocharset=cp950 /dev/sdb1 /mnt/Udisk ---U盘挂载操作,不要照抄啊,挂载点和设备名可能不一样
(4).cd /mnt/Udisk
(5).cp ./msyh.ttf /usr/share/fonts/truetype ---从win7上复制的微软雅黑字体(我的最爱哈哈)
(6).cd /usr/share/fonts/truetype
(6).umount /mnt/Udisk ---取消挂载,拔掉U盘
2.更改字体文件权限
chmod 644 ./msyh.ttf
3.注册字体
mkfontscale
mkfontdir
fc-cache -fv
4.查看系统已有字体
fc-list|less ---能找到Microsoft YaHei哦,说明字体安装成功了
说明:看到有的文章说要先创建字体的连接文件之后再注册字体,经博主亲测,连接文件完全没有必要,直接复制进去就可以注册字体使用了。
三、配置fbterm
FbTerm的配置文件是~/.fbtemrc,用vim打开编辑保存后就可以使用了,配置文件的内容一看就懂,我的设置如下:
设置fbterm显示字体:font-names=Microsoft YaHei
设置fbterm字体大小:font-size=20