Como alterar a codificação de caracteres do terminal

1

Hoje eu desinstalei os pacotes GUI em minha instalação inicial do CentOS. Agora, quando a máquina inicia, recebo o aviso de login. Ela age de maneira meticulosa. Às vezes, pressionando enter apenas uma vez depois de responder a cada prompt funciona. Outras vezes, não. Quando consigo me logar, só posso inserir comandos em bash digitando um caractere de cada vez - ou seja:

l, enter
o, enter
c, enter
a, enter
l, enter
e, enter
enter

Alguém tem alguma ideia para isso?

UPDATE: este é o resultado de stty -a :

speed 38400 baud; rows 64; columns 160; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>;
eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 hupcl -cstopb cread -clocal -crtscts cdtrdsr
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff
-iuclc -ixany -imaxbel iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
echoctl echoke

Nenhuma das configurações que diferem de stty sane , no entanto, faz a diferença.

    
por tuespetre 09.01.2013 / 03:19

1 resposta

1

Edit2: link pode ajudar no que diz respeito à saída stty.  Eu particularmente olhei para o seu "min = 1" e as diferentes configurações de eco *

Você pode querer tentar algum invocatoin de stty (seu exemplo se parece um pouco com um modo "stty cbreak" ou "raw"). Tente inserir: stty sane

uma vez corrigido (se funcionar), você terá mais facilidade para investigar

Editar1: depois de adicionar as configurações de stty -a , mostrarei o que difere entre o seu e o meu.

(note que eu faço o meu em um AIX antigo xterm, então é claro que existem muitas diferenças! Mas poderia apontar o relevante ... Eu deixei você fazer o trabalho para ver qual poderia ser o culpado, já que eu não tem tempo agora, desculpe!)

Para fazer isso, eu listei todas as palavras-chave que o stty nos mostra em "WELIST", e então adicionamos um "" na frente de cada linha de cada stty, e as exibimos com:

for i in $( cat WELIST) ; do
   I_Have=$(grep "[ -]$i " IHAVE)
   You_Have=$(grep "[ -]$i " YOUHAVE)
   if [ "$I_Have" = "$You_Have" ]
   then
      printf "%-20s : %s\n" "$I_Have"   "BOTH"
   else
      if [ -z "$I_Have" ]
      then
         printf "%-20s : %s\n" "$You_Have" "ONLY you"
         continue
      fi
      if [ -z "$You_Have" ]
      then
         printf "%-20s : %s\n" "$I_Have"   "ONLY me"
         continue
      fi
      printf "%-20s : %s\n" "$I_Have"   "me"
      printf "%-20s : %s\n" "$You_Have" "you"
   fi
done

e dá:

 brkint              : me
-brkint              : you
 bs0                 : ONLY you
 cdtrdsr             : ONLY you
-clocal              : BOTH
 179 columns         : me
 columns 160         : you
 cr0                 : ONLY you
 cread               : BOTH
-crtscts             : ONLY you
 cs8                 : BOTH
-cstopb              : BOTH
 discard = ^O        : ONLY me
 dsusp = ^Y          : ONLY me
 echo                : BOTH
-echoctl             : me
 echoctl             : you
-echoe               : me
 echoe               : you
-echok               : me
 echok               : you
-echoke              : me
 echoke              : you
-echonl              : BOTH
-echoprt             : BOTH
 eof = ^D            : BOTH
 eol = <undef>       : BOTH
 eol2 = <undef>      : BOTH
 erase = ^?          : BOTH
 eucw 1:1:0:0        : ONLY me
 ff0                 : ONLY you
 flush = ^O          : ONLY you
-flusho              : ONLY me
-hupcl               : me
 hupcl               : you
 icanon              : BOTH
 icrnl               : BOTH
-iexten              : me
 iexten              : you
-ignbrk              : BOTH
-igncr               : BOTH
-ignpar              : BOTH
-imaxbel             : BOTH
-inlcr               : BOTH
-inpck               : BOTH
 intr = ^C           : BOTH
 isig                : BOTH
-istrip              : BOTH
-iuclc               : BOTH
 iutf8               : ONLY you
-ixany               : BOTH
-ixoff               : BOTH
 ixon                : BOTH
 kill = ^U           : BOTH
 line = 0            : ONLY you
 lnext = ^V          : BOTH
 min = 1             : ONLY you
 nl0                 : ONLY you
-noflsh              : BOTH
-ocrnl               : BOTH
-ofdel               : BOTH
-ofill               : BOTH
-olcuc               : BOTH
 onlcr               : BOTH
-onlret              : BOTH
-onocr               : BOTH
 opost               : BOTH
-parenb              : BOTH
-parext              : ONLY me
-parmrk              : BOTH
-parodd              : BOTH
-pending             : ONLY me
 quit = ^\           : BOTH
 reprint = ^R        : ONLY me
 60 rows             : me
 rows 64             : you
 rprnt = ^R          : ONLY you
 scrw 1:1:0:0:       : ONLY me
 speed 38400 baud    : BOTH
 start = ^Q          : BOTH
 stop = ^S           : BOTH
 susp = ^Z           : BOTH
 swtch = <undef>     : ONLY you
 tab0                : ONLY you
 tab3                : ONLY me
 time = 0            : ONLY you
-tostop              : BOTH
 vt0                 : ONLY you
 werase = ^W         : BOTH
-xcase               : BOTH
    
por 09.01.2013 / 09:25