Por que os caracteres nacionais (poloneses) não aparecem em bash na tela sobre serial tty?

1

Temos login remoto via tty para o dispositivo usando o aplicativo de tela. Quando eu pressiono a combinação de chave nacional eu recebo apenas o flash da tela e nenhuma saída. Mas quando eu começo meu próprio aplicativo simples escrito no mesmo console bash eu recebo:

root#0000:~# ./charcode 
ł
Got char c: C5
Got char c: 82
Got char c: 0A
^C
root#0000:~# 

E depois disso, quando eu faço:

root#0000:~# echo -e '\xC5\x82'
ł
root#0000:~#

O código fonte da aplicação simples é:

#include <stdio.h>

int main()
{
    int c;

    while((c=getchar())!=EOF) {
        printf("Got char c: %02X\n", (unsigned char)c);
    }

    return 0;
}

Por que os caracteres nacionais (poloneses) não são exibidos em bash?

    
por sibislaw 29.06.2017 / 09:15

1 resposta

1

Existe um bug no Debian e em todos os seus derivados (eg. ubuntu e outros) Veja aqui .

Para corrigir este erro:

rm /etc/console-setup/*.gz && setupcon --save-only

Isso fará uma alteração na linha de bugs abaixo de

/etc/console-setup/cached_setup_keyboard.sh
-loadkeys '/tmp/tmpkbd.iDWdSi' > '/dev/null'
+loadkeys '/etc/console-setup/cached_UTF-8_del.kmap.gz' > '/dev/null'
    
por 22.09.2018 / 08:17