如何解决在Linux CLI终端界面中汉字方块乱码

本文介绍了如何解决Linux纯命令界面下的中文乱码问题,主要提供了两种解决方案:一是使用zhcon虚拟机终端,详细阐述了在Debian和红帽系列Linux上安装与使用的步骤;二是介绍了FbTerm终端仿真器,强调了其支持中文显示及使用权限设置。通过这两个工具,可以确保在Linux控制台下正常显示中文。
摘要由CSDN通过智能技术生成

  解决Linux 纯命令界面下中文是方块乱码的问题

  最近在学习Linux安全并给磁盘LUKS加密时,发现在telinit 1模式下,原本正常的中文字符均变成了方块乱码(如下图),这使得我们很难晓得命令的执行结果究竟是对还是错,为后续工作增加了一定的困难,磨刀不误砍柴工,那就先解决这个小问题。

  ( 在纯命令界面下,中文变成方块乱码:)

  ( 在图像界面中却)

在这里插入图片描述

  方法一、zhcon虚拟机终端


  学习过的辩证法告诉我们,解决问题需从正反两方面去考虑,因此,我们很容易的想到两个解决问题的方向:

  1. 是将 Linux 执行消息均改成英文;

  2. 而另一种则是将方块改回中文。

  但博主在这里仅为读者提供了后一者的解决方式。在大量的查阅资料和手操实践过后,很遗憾的发现,均没能找到解决的方法,就在一筹莫展的时刻,感谢幸运女神的光顾,无疑的发现zhcon这个软件,zhcon是工作在Linux控制台下的高效双字节中/日/韩(CJK)虚拟终端,就像DOS环境中的UCDOS一样,为控制台(console)环境提供完整的双字节语言环境
  于是乎,动手!我最开始是选择Debian系的Kali Linux测试的。

   1. 先查看语言配置文件,是否将语言改为中文UTF8
# sudo vim /etc/default/locale

在这里插入图片描述

   修改内容如下:
LANG="zh_CN.UTF-8"
LANGUAGE="zh_CN:zh"
   2. 安装zhcon:
# apt install -y zhcon

在这里插入图片描述

  重启:
# reboot	
  重启之后进入tty纯命令模式,然后开启zhcon:
# init 3  或者 telinit 3 或者 telinit 1 等皆可
  运行zhcon:
# zhcon --utf8
  恭喜,你的执行消息中,中文不在是方块乱码了。

在这里插入图片描述

   如果,你的是红帽系列的Linux,例在Centos Linux上yum是没有zhcon的包的,我们只能手动安装了。
  1. 编译安装zhcon:

  下载:

[root@localhost xyl]# wget http://sourceforge.net/projects/zhcon/files/zhcon/0.2.6/zhcon-0.2.5.tar.gz
[root@localhost xyl]# wget http://sourceforge.net/projects/zhcon/files/zhcon/0.2.6/zhcon-0.2.5-to-0.2.6.diff.gz

  解压:

[root@localhost xyl]# tar zxvf zhcon-0.2.5.tar.gz

  打补丁:

[root@localhost xyl]# cd zhcon-0.2.5
[xyl@localhost zhcon-0.2.5]# zcat ../zhcon-0.2.5-to-0.2.6.diff.gz | patch -p1		
# 因为目前权威能找到的最新编译版zhcon是0.2.5版本,而zhcon-0.2.5-to-0.2.6.diff.gz是zhcon的一个升级包,所以我需要升级打补丁。

  或者这样打补丁也可:
  解压gz文件得到diff补丁文件:

[root@localhost xyl]# gzip -d zhcon-0.2.5-to-0.2.6.diff.gz

  将解压好后的zhcon-0.2.5-to-0.2.6.diff补丁文件,打补丁到zhcon-0.2.5的源代码中去:

[root@localhost xyl]# patch -p0 < zhcon-0.2.5-to-0.2.6.diff

  开始编译安装:

[root@localhost xyl]# ./zhcon-0.2.5/configure --prefix=/usr/local/zhcon
[root@localhost xyl]# make && make install

  启动zhcon:

[root@localhost xyl]# /usr/local/zhcon/bin/zhcon --utf8
# 使用Ctrl+2来打开或关闭智能拼音输入法。
  2. rpm包安装zhcon:

   我们可以在官网下载安装: 官网下载链接

   当然,热心的博主也提供了自己的网盘:博主网盘链接
   提取码:cip3

[root@localhost xyl]# rpm -ivh zhcon-0.2.6-18-omv4000.x86_64.rpm 

在这里插入图片描述

   安装好zhcon后,在纯命令界面中启动zhcon即可:

# init3 或者 telint 1
# zhcon 或 zhcon --utf8

在这里插入图片描述
在这里插入图片描述

  需要特别提醒的是,如果你的Linux字符集是en_US.UTF-8编码时,是用zhcon即可;如果你的默认字符编码是zh_CN.UTF-8,则使用zhcon --utf8。

在这里插入图片描述

  zhcon的热键:
	CTRL+ALT+H 帮助;
	
	CTRL+D 退出。
	
	输入法热键:
	
	CTRL+SPACE 打开/关闭输入法;
	
	ALT+SPACE 打开/关闭CJK方式;
	
	CTRL+2 五笔;/ 全拼;
	
	编码切换热键:
	
	CTRL+F1 使用GB2312编码了;
	
	CTRL+F2 使用GBK编码;
	
	CTRL+F3 使用BIG5编码;
	
	CTRL+F4 使用JIS编码;
	
	CTRL+F5 使用KSCM编码;
	
	CTRL+F7 切换输入法状态栏风格(光标跟随或底部固定)。
	
	CTRL+F9 设置内码的识别方式:
	
	按一次:内码手动识别;
	
	按二次:自动识别GB与BIG5码;
	
	按三次:自动识别GB与BIG5码,并用简体中文来显示;
	
	按四次:自动识别GB与BIG5码,并用繁体中文来显示;
	
	CTRL+F10 调出输入法系统菜单;
	
	CTRL+. 切换中英文标点;
	
	CTRL+, 切换中文全角/半角;
	
	SHIFT+PGUP 上卷半屏历史记录;
	
	SHIFT+PGDN 下卷半屏历史记录;
	
	SHIFT+上方向箭 上卷一行历史记录;br
	
	SHIFT+下方向箭 下卷一行历史记录。

  方法二、 FbTerm 终端仿真器

  FbTerm是支持中文显示的控制台,提供一个快速的终端仿真器,并直接运行在系统中的帧缓冲 (framebuffer) 之上。使用帧缓冲可在终端使用UTF-8文本t提高性能。它允许同一帧缓冲创建多达10个不同的终端窗口,每个窗口都有它的回滚历史。

  注意点:
  1. 普通用户若运行FbTerm,则需加入video组才有运行权限
  2. 用户运行FbTerm后,会在用户主目录下生成 .fbtermrc 配置文件,我们可通过修改该文件达到理想的用户体验
  Debian系Linux安装FbTerm终端仿真器
	sudo apt install fbterm -y
  启动FbTerm终端仿真器

  FbTerm不同于zhcon的是,fbterm只能在tty终端界面下使用:

	init 3  或者 telinit 3 

   启动

	# fbterm	(直接启动仅限root账户下)

   倘若是普通用户必须先授权

	sudo gpasswd -a <username> video

在这里插入图片描述

	$	fbterm

在这里插入图片描述

  若不能看到中文,请按 Ctrl+Alt+E(或Ctrl+D)退出,执行如下命令:
	LANG=zh_CN.utf-8 fbterm
			
	fbterm
评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

~晨曦静竹~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值