是什么使终端处于 Unicode 模式?

是什么使终端处于 Unicode 模式?

我有一台 Debian 服务器,在本地登录时未启动 X11,无法正确显示 Unicode 字符。 Unicode 在运行后起作用unicode_start(直到终端关闭)。通过 SSH 登录时它也会自动工作(大概是因为它取决于我的终端模拟器而不是服务器的)。

区域设置似乎设置正确,我的猜测是登录提示后打开的终端getty根本没有以“Unicode 渲染模式”启动(我不知道这方面的技术术语)。我可以通过打印手动更改为 Unicode 模式适当的控制字符或 running unicode_start,但是在好的情况下(当它自动工作时)是什么导致转换到 Unicode 模式?

root@server:~# locale -a
C
C.UTF-8
de_CH.utf8
en_US.utf8
POSIX

root@server:~# locale
LANG=en_US.UTF-8
LANGUAGE=en_US:en
LC_CTYPE=de_CH.UTF-8
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

root@server:~# echo $TERM
linux

答案1

重新配置console-setup包或设置CHARMAP="UTF-8"/etc/default/console-setup重新启动服务,如所述这里导致任何新终端以 Unicode 模式打开。

或者为了含糊地回答我原来的问题措辞,终端通过console-setup包中的魔法被置于 Unicode 模式。

相关内容