[已解决]tty 终端怎样才能正确显示中文

tty 下终端看来默认使用了中文,但却全显示成了方块,查看系统没有安装 zhcon.
安装 zhcon 是否可以解决?若安装可以解决,默认的源里没有,应如何安装?
但据说 zhcon 是个非常古老的东西,已经没人维护了,很多发行版安装了也解决不了问题。记得以前在 ubuntu 下安装了也还是这样,试了几次都没有完善解决 tty 显示中文的问题。

系统是 opensuse12.3,默认语言中文。

不想显示为方块的话,我试着改成了英文环境。自己的方案放在三楼。

其实发现在 tieba.baidu.com/p/1647354364 里有讨论,但我是个菜鸟,希望有大神指出到底该怎么解决。
——论坛里能搜索到更多、更权威可行的问题解决方法毕竟是件好事。可以更方便我这样的菜鸟。

实现了显示英文,算是解决了自己的问题吧。

在~/.bashrc 里添加:

if  `tty | grep tty` ]; then  
            export LANG="en_US.UTF-8"  
    else  
            export LANG="zh_CN.UTF-8"  
    fi

ls 是解决方案?没看明白 :joy:

我记得以前在 Ubuntu 中文论坛看到过帖子,用 fbterm 什么的,可以直接在 tty 现实并且用 fcitx 输入中文的,但是我没有保存书签,现在找不到了。and forum.ubuntu.org.cn/viewtopic.php?f=8&t=374657 这个不知道是不是你要的

感谢楼上提供参考。
既然改成英文,就不再考虑安装中文补丁的事了。毕竟在 tty 下使用中文似乎没有什么意义。

另外,上上楼,三楼提出的就算是我的解决方案吧。不好意思我表达不够好,让人看不明白。但我已经把贴子内容修改了一下。

标题也应该修改一下,你现在是显示英文了。

本来想改成已解决的,但似乎标题提出的问题并没有得到完美解决,没有在 opensuse 下得到验证的可行方案。本人的解决办法不过是权宜之计。
为什么不留待已经解决标题所提出问题后再修改呢。

另,我的方案是否是最合理的呢,不见的。如果 root 用户又该怎么办?还请有耐心的大神继续指教。

tty 不用 truetype 字体,用 pcf 字体。

pcf 字体最大存储 256 字节。

所以没有用于纯 tty 的中文显示。

要么打补丁要么换 fbterm。后者 wiki 有。

PS truetype 的字体在终端显示是没有 hinting 的,所以 fbterm 配置里最好用点阵。但显示效果也就是能显示而已。

大神终于出来了。
wiki 页我也认真看了, zh.opensuse.org/SDB:Fbterm

国内有个高手做内核补丁,可以实现在 tty 下显示中文,就是每次内核更新后都要自己手动打补丁,重新编译才行,我自己就是这样实现的,主要是根据此文作者发布的补丁 http://blog.chinaunix.net/uid-436750-id-2123586.html,具体操作可以参照此文 http://biergaizi.info/archives/2012/07/1430.html

我习惯性的做法就是 export LC_ALL=C

原来 wiki 里有,我都没注意到。 :joy:

原来是可以的。现在应该不行。systemd 之后 tty 软件由 mingetty 变成了 agetty。原来 mingetty 的时候我们是默认能显示中文的。

我的内核更新到 3.8.6 了,依然可以用这个补丁呀

囧我记混了。我说的那个情况是对现在 tty 没有壁纸的解释。。。

Sent from my Galaxy Note 2 using Tapatalk 2

控制台可以使用 kmscon 取代 agetty,原生支持中文字符集。

zhcon 也是可以的。我这里还有 fcitx 码表转 zhcon 码表的脚本呢。
另外我这里的 fbterm 字体显示得又小又丑,还是 zhcon 或者打 cjktty 补丁的好看。

我已经安装了 fbterm, fcitx-fbterm, 也已经在控制台下(ctrl+alt+f1)启动了 fbterm 并正常显示中文,可是不知道怎么激活 fcitx 并输入中文,请指教。

zh.opensuse.org/SDB:Fbterm#.E8.BE.93.E5.85.A5.E6.B3.95 :joy: