Por que o terminal gnome exibe ?

2

Estou usando o Ubuntu 10.04 com o GNOME Terminal 2.30.2, mas quando ssh em um servidor RedHat, meu terminal não é exibido corretamente.

Por exemplo, as páginas de ajuda para R são assim:

 Objects of class ���"glm"��� are normally of class ���c("glm", "lm")���,
 that is inherit from class ���"lm"���, and well-designed methods for
 class ���"lm"��� will be applied to the weighted linear model at the
 final iteration of IWLS.  However, care is needed, as extractor
 functions for class ���"glm"��� such as ���residuals��� and ���weights��� do
 *not* just pick out the component of the fit with the same name.

Existe uma maneira de corrigir isso?

David LeBauer
fonte
4
Eu sou Unicode! .
precisa saber é o seguinte

Respostas:

2

O conjunto de caracteres no sistema local e o conjunto de caracteres no sistema remoto não coincidem. Você pode verificar isso executando locale charmapem cada sistema. Defina $LANGo sistema remoto adequadamente para corrigir isso.

Ignacio Vazquez-Abrams
fonte
você está certo. meu sistema local usa ANSI e o sistema remoto usa UTF-8. Mas como faço para definir $ LANG? Embora eu não posso mudar o sistema remoto, no meu desktop LANG='UTF-8'não alterou o charset
David LeBauer
Você precisa iniciar o gnome-terminal com o conjunto de caracteres correto; alterá-lo após o fato não é suficiente. LANG=en_US.utf-8 gnome-terminal
Ignacio Vazquez-Abrams
4

Como Wil sugeriu, o terminal está tentando exibir caracteres Unicode multibyte, mas a fonte não suporta os caracteres em questão ou não há suporte Unicode. Como resultado, os caracteres de espaço reservado são usados ​​em seu lugar, indicando que os caracteres não podem ser exibidos corretamente.

Uma solução possível é selecionar uma fonte diferente com melhor suporte a Unicode. No entanto, verifique se a fonte está monoespaçada - é esperado um espaçamento consistente entre caracteres em um emulador de terminal.

bwDraco
fonte
+1 Obrigado pela referência, eu não tenho idéia de como corrigi-lo e ia escrever semelhante a isso como um comentário, mas tinha um telefonema, então apenas escrevi essa pequena piada!
precisa saber é o seguinte
obrigado, mas isso não funciona - eu tenho definido para a fonte moospace 'monaco' por padrão, mas o erro também ocorre com 'monospace'. No entanto, notei que o problema ocorre apenas quando eu ssh'd e estou trabalhando em um servidor. Eu mudei minha pergunta para refletir isso.
precisa saber é o seguinte
Isso pode ser causado pelo tipo de terminal que está sendo emulado. Alguns terminais não oferecem suporte a Unicode e causarão esse comportamento.
bwDraco
0

Abra o perfil do terminal e altere a fonte para algo com "Mono" no nome, como Monospace ou Liberation Mono.

ADNow
fonte