Eu tenho um servidor Debian que não exibe caracteres Unicode corretamente quando conectado localmente, sem iniciar o X11. O Unicode funciona após a execução unicode_start
(até o terminal ser fechado). Ele também funciona automaticamente ao fazer login via SSH (presumivelmente porque depende do meu emulador de terminal e não do servidor).
As localidades parecem estar configuradas corretamente, e meu palpite é que o terminal aberto após o getty
prompt de login simplesmente não está sendo iniciado no "modo de renderização Unicode" (não conheço o termo técnico para isso). Posso mudar manualmente para o modo Unicode imprimindo os caracteres de controle apropriados ou executando unicode_start
, mas o que causa a mudança para o modo Unicode no bom caso, quando isso funciona automaticamente?
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
Reconfigurar o
console-setup
pacote ou configurarCHARMAP="UTF-8"
e/etc/default/console-setup
reiniciar o serviço conforme descrito aqui faz com que quaisquer novos terminais abram no modo Unicode.Ou, para responder vagamente à minha pergunta original, o terminal é colocado no modo Unicode por mágica no
console-setup
pacote.