Ctrl+Alt+F2 全是中文方块

昨天电脑锁屏坏了要进 Ctrl+Alt+F2,然后回忆起了一个老问题。这个命令行界面是无法显示非英文字符的。所以我的中文系统的命令输出全是方块。

有没有方法可以让这个界面显示中文呢?

还有怎么在这个界面输入中文呢?

查了一下发现 Linux 内核不支持也不打算支持,所以只能想办法强制英文了。

fb…term?

1赞

在命令前面加 LANG=en_US.UTF-8,输出会显示成英文,例如:

LANG=en_US.UTF-8 ls -l
1赞

fbterm,另外我一般都是直接export LC_ALL=en_US.UTF-8

我还在使用自己编译的打过cjktty补丁的内核(使用kernel stable源里的kernel source,目前我已经把补丁手动适配到5.0了),控制台下中文显示无压力。。。

有没有方法让除了桌面 tty1 或 tty7 之外的 tty 都默认显示英文呢?

我是在终端配置文件里写上

# locale
if [[ $(tty) == /dev/tty* ]]; then
    setfont /usr/share/kbd/consolefonts/suse12x22.psfu.gz
    export LC_ALL="en_US.UTF-8"
    export LANGUAGE="en_US.UTF-8"
    export LANG="en_US.UTF-8"
else
    export LC_ALL="zh_CN.UTF-8"
    export LANGUAGE="zh_CN.UTF-8"
    export LANG="zh_CN.UTF-8"
fi
1赞

这个看起来很棒啊

忘了从那儿看到的操作了,:joy:

那直接bashrc搞export LC_ALL就行了

智能,可惜背不过,所以每次还是手敲一行LC_ALL。话说另外俩我记得都是被LC_ALL override的?

去做了做功课 :joy:


貌似LC_ALL就只改变了LC_XX

On GNU systems, LC_ALL=C and LC_ALL=POSIX (or LC_MESSAGES=C|POSIX ) override $LANGUAGE , while LC_ALL=anything-else wouldn’t.

试了试这两种情况也并没有改变LANGUAGE/LANG(至少没有立即改变,也不知道是不是我操作不对 :joy:

哦…只有=C会,神秘操作(
看来下次再遇到问题,就顺便把另外俩都搞了吧。一般我遇到的都吃LC_ALL…