安装完了LFS,有个问题比较烦人,那就是中文乱码。
没办法,毕竟字符界面下中文编码无法做到原生支持,要在Linux字符界面中支持中文显示,需要安装中文环境,上网找了些资料,感觉都不太好,zhcon虽然经典,但是很久没有更新了,最后放弃了,还是曲线救国吧。
其实字符界面中的中文字符编码都是正确的,只是显示出了问题,那就换个前端显示,以远程连接的方式连接到LFS,所以就想到了telnet和ssh,先试试telnet吧,只要telnet客户端能够支持中文显示就可以了,这样的客户端很多呀,像PuTTY、SecureCRT等等,既然定了方案,那就开工吧。。。
首先,在LFS中安装telnet服务telnetd,由于inetutils附带了一份,只是被LFS屏蔽了,配置编译时使用了–disable-servers禁止了telnetd的构建,只要去掉改该编译选项就可以了:
./configure –prefix=/usr –libexecdir=/usr/sbin
–localstatedir=/var –disable-ifconfig
–disable-logger –disable-syslogd –disable-whois
[–disable-servers,去掉该编译选项]
重新编译安装inetutils就可以了
然后,配置telnetd服务
在/etc目录中创建inetd.conf,添加如下参数行:
telnet stream tcp nowait root /usr/sbin/telnetd telnetd
最后,启动inetd服务
直接执行命令inetd即可
如果要让inetd开机自启动,方案很多,这里给出一种:
在/etc/rc.d/rc3.d目录下创建脚本S30inetd:
输入内容:
#! /bin/sh
inetd
即可,如果运行级不是3,在对应的rc*.d目录下创建即可
好了telnet服务已经开启,远程连接到LFS虚拟机即可。
又有新的问题了,使用PuTTY连接的时候,登陆很慢,因为telnet服务需要反向验证客户端,需要在hosts文件中对客户端IP添加一条DNS记录来解决该问题
好了,最后在PuTTY中将字符编码设置为UTF8,这样PuTTY就能正确解码UTF8编码的中文字符了。
OK,终于看到正确的中文显示了