在纯命令行环境下中文显示方块,在图形化界面中其实并不乱码,ssh中也不乱码。这个怎么解决呢?在网上搜索了半天,大部分都说是没有安装中文字体。
终于找到解决办法了:
https://bbs.huaweicloud.com/blogs/238855
archlinux实战zhconhttps://aur.archlinux.org/packages/zhcon/
git clone https://aur.archlinux.org/zhcon.git
cd zhcon/
# 安装
makepkg -si
这样就安装完成啦。
在纯命令行模式输入下面命令运行zhcon:
zhcon --utf8
这下中文可以正常显示啦!没有乱码我的目标就已经达到了。
那么中文输入怎么处理的呢?
zhcon的热键:
快捷键说明CTRL+ALT+H帮助;CTRL+D退出。输入法热键
快捷键说明CTRL+SPACE打开/关闭输入法;ALT+SPACE打开/关闭CJK方式;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+上方向箭上卷一行历史记录;SHIFT+下方向箭下卷一行历史记录。 中文输入法CTRL+SPACE 打开或者关闭中文输入法。
但是我试好几次无法切换到五笔输入法。
无法切换可能是快捷键冲突导致的,我把来把五笔设置成默认输入法,曲线救国。
vi /etc/zhcon.conf //编辑zhcon配置文件 将想用的五笔输入法行拷贝到全拼输入法前面即可。当然,也可采用加#号屏蔽不需要的,这样不会出错。
如果显示中文乱码,可以在vim 中执行:edit ++enc=gb18030
就可以解决乱码的问题了。
#change input method here
#the first ime is the default ime when press CTRL_SPACE
#only the first nine imes are avaiable to zhcon
#you can add more ime from Chinput's config file
#format: ime = imename,module,table,encode,type
#imename :=
#module :=
#table :=
#encode := gb2312 | gbk | big5
ime = 五笔,,input/wb.mb,gb2312,native
ime = 全拼,,input/winpy.mb,gb2312,native
ime = 双拼,,input/winsp.mb,gb2312,native
ime = wz1,,input/big5-ary30.mb,big5,native
ime = wz2,,input/big5-cj.mb,big5,native
ime = wz3,,input/big5-phone.mb,big5,native
ime = wz4,,input/big5-liu5.mb,big5,native
ime = 全拼2,,input/py.mb,gb2312,native
ime = 双拼2,,input/py.mb,gb2312,native
ime = 大众,,input/dzm.mb,gb2312,native
ime = 英中,,input/ed.mb,gb2312,native
ime = 简拼,,input/jp.mb,gb2312,native
ime = 普通,,input/pt.mb,gb2312,native
ime = 五笔二维,,input/wbew.mb,gb2312,native
ime = 五笔划,,input/wbh.mb,gb2312,native
ime = 繁体仓颉,,input/cjf.mb,gb2312,native
ime = 简体仓颉,,input/cjj.mb,gb2312,native
上面的方法可以成功解决了我的问题,无意中又百度到了kmscon这个方法。我也来实战一下,对比一下哪个更好用吧!
KMSCON (简体中文)
安装# 更新系统
pacman -Syyu
# 安装kmscon
pacman -S kmscon
在 tty1 上一般有特殊的 systemd 配置。出于保守的策略,你可以继续在 tty1 上使用传统的 getty 而只在其他虚拟终端上运行 kmscon ,或者你可以用 kmscon 替换 getty。
要在 tty1 上启用 kmscon:
systemctl disable getty@tty1.service
systemctl enable kmsconvt@tty1.service
现在千万不要重新启动系统,不要重启! 否则会显示一堆方框,不要问我怎么知道的。。。(因为中文字体还没有安装)
安装中文字体pacman -S ttf-dejavu
pacman -S wqy-microhei
中日韩文字支持
Kmscon 通过默认的字体引擎 pango 支持渲染中日韩文字。但是, 必须为 fontconfig 设置全局配置,来将等宽字体映射到合适的中日韩字体上。我们为中文用户提供如下配置模板。此模板可以满足中文字体渲染要求: vim /etc/fonts/conf.d/99-kmscon.conf
monospace
DejaVu Sans Mono
WenQuanYi Micro Hei Mono
mkdir -p /etc/kmscon
vim /etc/kmscon/kmscon.conf 写入以下内容
font-name=DejaVu Sans Mono, WenQuanYi Micro Hei Mono
重启以后,发现root用户无法直接登录了,可以先登录普通账号在su root 。 如果需要root登录,
vim /etc/securetty
最后一行加入pts/0
。
我在使用vim和ranger的时候都会使用Hack Nerd Font 这里有很多精美的字体图标,让终端看起来更舒服。
那么如何使用这个字体呢? https://download.csdn.net/download/lxyoucan/15407613 把这个字体下载并复制到/usr/share/fonts
并重命名HackNerdFont.ttf
fonts pwd
/usr/share/fonts
➜ fonts ls
HackNerdFont.ttf TTF wenquanyi
然后更新 fontconfig 的字体缓存:
fc-cache -vf
这里在查一下字体列表,发现已经有我们手动安装的字体了。
fc-list
执行结果(部分)如下:
/usr/share/fonts/TTF/DejaVuSans-ExtraLight.ttf: DejaVu Sans,DejaVu Sans Light:style=ExtraLight
/usr/share/fonts/HackNerdFont.ttf: Hack Nerd Font:style=Regular
/usr/share/fonts/TTF/DejaVuSans-Oblique.ttf: DejaVu Sans:style=Oblique
至此说明我们的字体安装成功了。 vim /etc/fonts/conf.d/99-kmscon.conf vim /etc/kmscon/kmscon.conf 把我们新增的字体(Hack Nerd Font)增加上去就可以了。
这下字体可以正常显示了,如下:
- archlinux软件库直接就可以安装更让人放心
- 支持自定义字体,时髦的字体让人身心愉悦
- 中文输入的问题暂时不知道如何解决
https://www.howtoing.com/disable-root-login-in-linux