No momento em que o processo sshd no computador remoto é executado em / usr / bin / xterm, há muito poucas variáveis de ambiente configuradas. Na verdade, a variável LANG não está definida. Portanto, o processo xterm não sabe que deve exibir caracteres em UTF-8. Ele retorna aos padrões do xterms. Seja o que for que seja.
No entanto, o subshell executado dentro do xterm executa todos os scripts de configuração e similares. Incluindo a configuração da variável de ambiente LANG.
É necessário entender a diferença entre o processo xterm remoto e o processo shell executado dentro do xterm.
A solução é executar o processo xterm remoto da seguinte forma:
/usr/bin/env LANG=en_US.UTF-8 /usr/bin/xterm
env (1) é um utilitário para executar um programa em um ambiente modificado.
Configurar LANG fará com que o xterm remoto exiba os caracteres UTF-8 corretamente.
Eskil ... : -)
P: Lendo a página de manual do xterm Eu também encontrei uma maneira mais fácil de conseguir isso:
xterm -en en_US.UTF-8
P.P: Eu não acho que configurar recursos em ~ / .Xresources entrará em vigor a menos que você os mescle com xrdb. O processo xterm no computador Linux consultará o servidor X em execução no seu computador Windows. No momento em que o xterm é iniciado, é muito improvável que o seu servidor X-Win32 tenha o conjunto de recursos xterm *. Mas você pode ser capaz de definir recursos no X-Win32 se ele suportar isso.