检查有没有中文字符集:
有zh_*的说明已经安装了中文的字符集
如果显示不全或者空白的话,需要安装语言包:yum groupinstall "fonts" -y
然后通过下面的命令设置当前语言为中文:
echo 'export LC_ALL="zh_CN.UTF-8"' >> /etc/profile source /etc/profile echo 'LANG="zh_CN.UTF-8"' > /etc/locale.conf source /etc/locale.conf
最后一定要重启服务器。
还有一种原因,是系统中缺少中文字体的缘故。
首先需要使用 yum -y install fontconfig
命令安装字体库,然后就可以使用 fc-list :lang=zh
命令检查系统中是否有中文字体,如果列表是空白的说明系统中没有安装中文字体。
这是没有安装中文字体
创建中文字体文件夹并指定权限:
mkdir -p /usr/share/fonts/chinese chmod -R 755 /usr/share/fonts/chinese
使用smb将Windows本地(Windows/fonts)的中文字体上传到服务器的上述目录下,Mac的字体在 /System/Library/Fonts
和 /Library/Fonts
两个目录下。
这里上传的是两个字体一个时Monaco.ttf和微软雅黑常规(msyh.ttc),这两个字体组合是比较合适的我试过很多多不好
接下来安装并生成字体索引:
yum install mkfontscale -y cd /usr/share/fonts/chinese mkfontscale
有这个fonts.scale说明已经成功了
最后再执行 fc-list :lang=zh
命令,会发现下面出现了中文字体,如下:
因为Monaco不是专门的中文字体所以不再上一个搜索里,要用grep查找
fbterm (Frame buffer terminal)是一个非常优秀的终端模拟器,可以在CentOS中安装fbterm替换Linux内核终端以解决VMWare中文显示方块的渲染问题。
CentOS 6可以直接使用 yum install fbterm -y
命令直接安装,但在CentOS 7中需要通过源码编译安装。
yum -y install make gcc gcc-c++ fontconfig-devel freetype-devel gpm-devel libX11-devel libXmu-devel cd /home wget -c https://www.javatang.com/_download/fbterm-1.7.0.tar.gz 如果wget不可以用药先安装: 先查看有没有源
available说明可以用且未安装 直接安装:yum -y install wget 有了wget但是提示不能验证网站的安全:
已经有提示直接在网址后加参数不验证:
已经下载成功了. tar xzvf fbterm-1.7.0.tar.gz cd fbterm-1.7 ./configure make && make install
安装完成之后,只要执行 fbterm
命令就可以进入模拟终端了,退出可以使用 exit
命令。
普通用户执行 fbterm
命令之后会出现下面的错误:
can't open frame buffer device!
这是因为fbterm
命令要使用/dev/fb0
设备,而此设备的所属是root:video, 显然,普通用户要想使用它,必须把该普通用户加入到video组中:
sudo gpasswd -a <username> video
这样上面的普通用户注销重新登录之后,就可以使用 fbterm
命令了。
不过这个时候依然无法显示中文,需要设置fbterm的字体。
上面部分已经安装了中文字体,执行 fc-list :lang=zh
命令查看已经安装的中文字体列表。打开 vim ~/.fbtermrc
文件,font-names
后面增加中文字体,如下所示:
font-names=Monaco,Microsoft YaHei
退出保存之后,fbterm就可以正常显示中文了。