Os X-terminais não mostram o caractere UTF-8 corretamente ao usar a autenticação Likewise-Open

1

Eu tenho esse problema muito estranho com emuladores de terminal X. Eu quero usar o UTF-8 e funciona em qualquer outro lugar no meu sistema, mas não em terminais gráficos. Quando eu começo, por exemplo Urxvt e pressione öäå-keys ele não renderiza nada. Se eu iniciar um novo terminal Urxvt dentro do terminal pai, tudo funcionará bem. Tudo funciona também em tty (Crtl + Alt + F1).

Estamos usando o igualmente aberto para conectar o domínio . Eu não sei, mas isso pode causar alguns problemas com as localidades?

O que eu fiz antes de perguntar?

  • Tentando terminais diferentes (Urxvt e xterm), nenhum está funcionando
  • Tentando alterar a fonte
  • Até mesmo experimentou diferentes ambientes de trabalho (awesome e xfce)
  • Tentando shells diferentes (zsh, bash)

Eu também testei com usuários diferentes. Um usuário local e um que usa o mesmo modo aberto para autenticação de domínio. Com o usuário local, tudo funciona , mesmo que eles tenham as mesmas configurações de localidade.

Aqui está a saída da localidade em execução (ambos os usuários têm as mesmas configurações de localidade):

LANG=en_US.UTF-8
LANGUAGE=en_US:en
LC_CTYPE="en_US.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=en_US.UTF-8

Tanto quanto eu entendi corretamente LC_CTYPE é a variável de ambiente que o Urxvt usa.

Eu não tenho nenhuma ideia de como consertar isso, mas espero que outra pessoa tenha.

    
por rainmaker 25.04.2013 / 10:24

1 resposta

1

Parece que você está definindo $ LC_CTYPE em seu .profile ou .bashrc ou qualquer outra coisa. Isso não foi executado antes de seu primeiro terminal, que, portanto, é iniciado sem isso em seu ambiente:

init - (inicia) - > Gestor de visualização - (inicia) - > ambiente de trabalho env - (inicia) - > terminal - (inicia) - > shell

O shell então origina seu arquivo de inicialização (.profile, .bashrc, .zshrc, .login, o que for para o seu shell), que define o ambiente, e somente quando você inicia o terminal, ele sabe quais configurações de localidade é suposto usar.

Você precisa configurar o LC_CTYPE mais acima na cadeia - onde e como, depende do seu ambiente de desktop (espero que você não esteja usando "apenas um gerenciador de janelas", provavelmente gnome ou KDE?), gerenciador de exibição (gdm ou kdm ou xdm ou lightdm ou qualquer outro), variante init (tradicional "sysv-style" ou upstart).

    
por 25.04.2013 / 13:04