Conectando-me de um PC com Windows 7 via SSH a um servidor Ubuntu usando PuTTY , recebo alguns erros de tela:
Ou seja:
- "Desenha duas vezes" a seleção dentro do Midnight Commander (MC).
- Outros caracteres, como elementos de linha, são desenhados como caracteres incorretos (por exemplo, "â" em vez de "|").
Liguei-me ao mesmo servidor Ubuntu com um terminal e SHH a partir de um Mac OS X e não recebo essas informações ilegíveis (ou seja, tudo parece e funciona corretamente). Eu já tentei brincar com as configurações de fonte do PuTTY, alterando-o de Courier New para Consolas, mas sem sorte.
Minha pergunta, portanto, é:
Como configurar o PuTTY para exibir corretamente caracteres especiais e não desenhar / sobrescrever duas linhas de tela?
Respostas:
Você quase certamente definiu o caractere errado nas configurações do PuTTY .
Verifique o conjunto de caracteres no sistema remoto executando o comando:
Isso deve retornar algo como:
Portanto, verifique as configurações do PuTTY em Tradução e verifique se você
UTF-8
definiu como o conjunto de caracteres.Você também pode precisar ajustar a configuração do desenho de linha, mas provavelmente não é provável.
fonte
NCURSES_NO_UTF8_ACS=1
[mais informações ]locale
retornaPOSIX
você provavelmente já UsePAM desativado no sshd configuraçãoPOSIX
, emitirupdate-locale LANG=en_US.utf8
na linha de comando - consulte thomas-krenn.com/de/wiki/Locales_unter_Ubuntu_konfigurierenEu tive um problema com o
aptitude
programa Debian, apesar de ter UTF-8 como meu conjunto de caracteres. O que funcionou para mim foi definir o 'Connection> Data>' Terminal-type string 'como' putty 'em vez de' xterm '- aparentemente Putty ignora a sequência de caracteres para alternar para o modo de desenho: http: //www.chiark.greenend .org.uk / ~ sgtatham / putty / wishlist / utf8-plus-vt100.htmlfonte
Além disso, se o UTF-8 não estiver configurado corretamente, você poderá executá-lo como mc -ac .
Créditos: http://blog.acsystem.sk/linux/midnight-commander-utf8-line-drawing-characters-problem
fonte
Os dois fatores básicos são o Window / Translation UTF-8 nas configurações de massa e de localidade no Linux, conforme instruído aqui e em muitos outros lugares.
Além disso, pode ajudar no putty definir a string do tipo Conexão / Dados / Terminal como putty e / ou no Linux como
export NCURSES_NO_UTF8_ACS=1
. Esses dois também são mencionados em vários lugares.Mas: você ainda pode receber blocos para determinados caracteres, porque as fontes padrão, como Courier e Lucida Console, não possuem todos os caracteres Unicode. Faça o download e instale http://dejavu-fonts.org/wiki/Download e defina o putty para usá-lo.
Esse último truque foi necessário para eu conseguir
noping
(recomendado!) Mostrar todos os caracteres gráficos.fonte
export NCURSES_NO_UTF8_ACS=1
funcionou melhor para mim. Só preciso lembrar de usar a-E
opçãosudo
quando corroiftop
para manter a configuração do ambiente.sudo -E iftop
No meu caso (Ubuntu 14.04), o problema foi causado por falta de
A entrada em / etc / ssh / sshd_config como /etc/pam.d/sshd pam é responsável por carregar o arquivo / etc / default / locale no ambiente dos usuários.
fonte
Para todos vocês, velhos pobres VMS que acabam aqui:
trabalhou para mim.
fonte
Eu estava procurando muitas soluções para isso ao usar a máquina Docker (local e em máquinas configuradas pelo administrador do sistema). No meu Putty estava tudo bem (eu tinha
UTF-8
), eu também estava usando outro cliente SSH e tinha exatamente o mesmo problema.Corrida:
estava resolvendo o problema (mas não completamente) e eu estava procurando uma solução completa.
Depois de ler muitas sugestões, finalmente encontrei a que resolveu meu problema.
No terminal quando você executa:
verifique qual localidade você definiu. Eu tinha por
C
localidade padrão .Para verificar todas as localidades instaladas, execute
locale -a
Eu tenho por exemplo:
por padrão.
A solução está exportando
LANG
variável comC.UTF-8
código de idioma da seguinte forma:Obviamente, você pode adicioná-lo
.bashrc
para que ele seja definido automaticamente em seu perfil.fonte
Outro motivo relacionado ao pam, que pode afetar os hosts com autenticação powerbroker / pbis / da mesma forma.
grep /etc/pam.d para a ocorrência "lsass":
se você vir na saída algo como:
então provavelmente é a causa raiz do problema. A solução rápida é substituir "suficiente" por "opcional" ao lado do módulo pam_lsass para que se pareça com:
O /etc/pam.d/common-session (ou outro arquivo com entrada semelhante - pode haver alguns deles) provavelmente está incluído no /etc/pam.d/sshd antes do pam_env ser carregado, portanto, se o processamento dos módulos pam for concluído Antes de pam_env, o / etc / default / locale não é carregado no ambiente do usuário e você possui caracteres ilegíveis.
fonte
Depois de 15 anos, fiquei irritado mais uma vez e pesquisei novamente, encontrei isso, escolhi
e isso consertou.
fonte
Eu tive que definir, na página Janela → Tradução , o caractere definido para:
Então, e somente então, os caracteres de linha alinhada apareceram corretamente.
fonte
A execução do mc dessa maneira (defina o código do idioma para en) funciona para mim:
fonte
o que funcionou para mim foi "Conexão, dados, cadeia de caracteres do tipo terminal = ansi" plus "Janela, tradução, conjunto de caracteres remoto = Usar codificação de fonte" e
set TERM=ansi
no lado unix.PS. Lembre-se de desativar as aspas inteligentes se for forçado a usar o MS-Word.
fonte
Meu problema foi que a massa está configurada como UTF-8, mas o sistema remoto é um ISO-8859-1
Europa Ocidental, então eu mudei isso na massa e tudo funcionou bem.
Captura de tela do Putty
fonte