首页 » 信息技术 »

Linux的TTY不能显示中文

2019年11月18日 / 13次阅读
Linux

最近想解决Linux(CentOS8)在TTY下显示中文的问题,最后发现是徒劳,TTY本来就不能显示中文等Unicode字符。

在CentOS8中安装中文包:sudo dnf install langpack-zh_CN

CentOS8开始使用dnf工具

临时修改Terminal的语言为中文:

$ LANG="zh_CN.UTF-8"

这个修改是临时的,logout后或者是别的Terminal,都无效。

在TTY下,无法显示中文:

TTY不能显示中文

TTY不能显示中文

中文部分全部都显示为小方块。

用别的Terminal登录,就可以正常显示中文:

[xinlin@localhost gps]$ weasdfasdfa
-bash: weasdfasdfa: command not found
[xinlin@localhost gps]$ echo $LANG
en_US.UTF-8
[xinlin@localhost gps]$ LANG="zh_CN.UTF-8"
[xinlin@localhost gps]$ echo $LANG
zh_CN.UTF-8
[xinlin@localhost gps]$ awerqwerwer
-bash: awerqwerwer: 未找到命令

网络上有人解释过这个问题:

明确的和你说,TTY 不支持中文!

Linux kernel maintainers do not accept patches for better Unicode support on the console because the console is to be used as an emergency interface. What needs to be done is write a terminal emulator for the Linux framebuffer that undertakes the support for Unicode. Something like a 'getty' replacement. This aspect of open-source development did not receive yet much attention

大意是:linux核心机制不接受任何的unicode补丁在Console层面,因为Console是作为一种紧急接口被使用...... 而且目前开源开发组也没有过多的关注这一点.

从这里可以得出一个结论,目前tty是给管理员紧急修复系统时所使用的界面,故而从内核层面就不支持加载unicode包;但是模拟接口比如用SSH之类的登陆,是可以支持中文的!

看来一般工作时,Linux还是要配合一个Terminal才行!

本文链接:https://www.maixj.net/ict/tty-zhongwen-23064

相关文章

留言区

《Linux的TTY不能显示中文》有3条留言

  • 麦新杰

    又发现一个显示中文有问题的地方,Win7的cmd下,用python3的解释器open一个含unicode的文件,显示不出来,系统提示gbk才能显示。UnicodeDecodeError: 'gbk' codec can't decode byte 0xad in position 75: illegal multibyte sequence,嗨。。不想折腾这些编码的问题了。。 []

  • 麦新杰

    Linux图形界面下打开的Terminal窗口,不叫TTY。 []

  • 麦新杰

    给公司做的软件,代码中有中文,如果是全英文,就不存在这个问题了。为啥不能用TTY干活!? []


前一篇:
后一篇:

栏目精选

云上小悟,麦新杰的独立博客

Ctrl+D 收藏本页

栏目


©Copyright 麦新杰 Since 2014 云上小悟独立博客版权所有 备案号:苏ICP备14045477号-1。云上小悟网站部分内容来源于网络,转载目的是为了整合信息,收藏学习,服务大家,有些转载内容也难以判断是否有侵权问题,如果侵犯了您的权益,请及时联系站长,我会立即删除。

网站二维码
go to top