我对 Linux 和类 Unix 系统还是新手,我尝试在互联网上搜索我的问题。不幸的是我现在没有得到可行的答案。
我的问题是,我的 Debian linux 上的控制台(tty)无法显示英语以外的任何语言,这对我来说有点不方便,因为我的磁盘上有一些带有中文名称的文件夹和文件。然而,当我尝试在 Gnome 桌面的终端窗口中找到这些文件时,它完美地为我显示了中文字符。如何让文件名正确显示在控制台(tty)中?
感谢您的帮助。
答案1
简短的回答:你不能。
更长:Linux 控制台有有限的能够在控制台中显示 Unicode,仅支持 512 个字形(这是中文的一小部分)。这是因为它将信息存储在(内核)内存中。此外,这样做时,它会减少可用视频属性的数量(通常通过消除“粗体”)。
据报道,您可以设置一个帧缓冲区设备,注意到很少有人在积极使用中讨论这一点(它可能无法正常工作)。
进一步阅读:
- 2. 显示设置(Unicode 指南)
2000 年 4 月,Edmund Thomas Grimley Evans 实现了一个 UTF-8 控制台终端仿真器。它使用 Unicode 字体并依赖于 Linux 帧缓冲设备。
- 7.6。配置 Linux 控制台(Linux From Scratch - 版本 6.3)
提到 512 个字符的限制由于上一个示例中使用了 512 字形 LatArCyrHeb-16 字体,除非使用帧缓冲区,否则 Linux 控制台上将不再提供明亮的颜色。如果一个人想要在没有帧缓冲区的情况下获得明亮的颜色,并且可以在没有不属于其语言的字符的情况下生存,那么仍然可以使用特定于语言的 256 字形字体,如下所示。
- 如何在Linux虚拟终端中显示unicode?
- 自动完成时带有 utf-8 字符的 Linux vconsole 中断 #2602
- yaft(另一个帧缓冲终端)