Alterações no conjunto de caracteres Terminal.app - completamente ilegíveis

2

Eu estava apenas ssh no meu servidor (Ubuntu 10.04.2) e executei aptitude (no modo interativo). Uma vez que eu pressionei uma tecla (uma das letras, eu acredito), ela se transformou nisto (não apenas na sessão SSH; esse comportamento continuou depois que terminei a sessão ssh ):

Eu posso reconectar e tudo ficará bem, mas quando eu executar aptitude novamente, o mesmo problema acontece (mas, estranhamente, está contido dentro de aptitude ).

Alguém tem alguma idéia do que poderia estar acontecendo? Se isso ajudar, estou executando screen com um perfil byobu , meu $TERM é screen-bce e estou usando Terminal.app em 10.6.7.

    
por squircle 09.04.2011 / 05:37

3 respostas

2

Você pode usar o comando reset para recuperar seu terminal normal.

Quanto ao porquê isso está acontecendo - de alguma forma, o terminal está recebendo dados binários em oposição ao ASCII.

    
por 09.04.2011 / 05:52
1

Eu percebo que esse segmento tem quase um ano, mas como acabei de encontrar esse problema depois de usar "cat" para exibir o conteúdo de um executável no Terminal.app da Apple, imagino que essa situação também possa afetar usuários futuros.

De qualquer forma, até onde eu sei, os caracteres estranhos aparecem depois que o caractere ASCII "shift out" (decimal 14, 0x0E) é impresso. (Bem, a palavra "impressa" pode não ser apropriada porque, pelo menos para Terminal.app, este não é um caractere imprimível, mas espero que você saiba o que quero dizer.) Felizmente, o terminal volta ao normal se o ASCII " turno em "caractere (decimal 15, 0x0F) é impresso.

Em outras palavras, se alguém escreveu um programa em C como ...

#include <stdio.h>
int main() {
   printf( "\x0F" );
   return 0;
}

Ele deve voltar tudo ao normal. Provavelmente, existe uma maneira ainda mais fácil em um idioma diferente ou dentro do bash shell, mas espero que você tenha a idéia.

Aparentemente, esse comportamento estranho não é um bug, mas sim um recurso obscuro (para mim, pelo menos). Quando procurei por informações, fui direcionado para a ISO 2022, que parece ser a base para o que o terminal está fazendo. Aqui está o artigo da Wikipedia sobre ISO / IEC 2022 .

Espero que este post seja útil agora que o mistério por trás dos personagens estranhos foi esclarecido.

    
por 26.04.2012 / 18:16
0

O item de menu

Terminal > Shell > Enviar Reset

redefine o estado do terminal para os padrões, incluindo o conjunto de caracteres, que resolve esse problema específico.

    
por 27.05.2011 / 04:31