Mac OS Terminal - quebra de eco do teclado após ctrl-c com alguns aplicativos

6

Os únicos dois aplicativos com os quais eu consegui reproduzir o problema são tail e cat . Se eu tail -f log/development.log ou qualquer arquivo para esse assunto, e pressione CTRL-C para sair, quando eu digito comandos adicionais não há eco do teclado para a tela. Se eu apertar enter, os comandos são executados e geram saída, mas o eco do teclado ainda está quebrado.

Um detalhe interessante é que consegui restaurar o eco do teclado de algumas maneiras diferentes:

1) stty echo

2) irb

a execução de um desses comandos restaurará o eco do teclado até que um dos comandos incorretos seja encerrado com CTRL-C novamente.

Eu tentei configurar minha emulação de terminal para rxvt e xterm-color, mudando isso não parece fazer diferença.

    
por Michael Guterl 16.09.2010 / 01:30

4 respostas

2

Este é um bug na conclusão do MacPorts. O relatório de erros é aqui .

Eu o consertei alterando meu shell para /opt/local/bin/bash fornecido pela macports, usando este .

    
por 17.09.2010 / 00:08
3

Para redefinir seu terminal, use o reset comando.

Eu não entendo porque tail e cat estão causando este problema, pois eles não devem fazer nada para afetar as configurações de linha do terminal. Você está usando o Terminal.app ou outro terminal? Você está usando o Bash ou outro shell? Você está executando screen ? Você tem mais alguma coisa que possa estar usando maldições ou fazendo alguma outra manipulação de tela? Você tem um trap definido para Ctrl-C?

    
por 16.09.2010 / 03:42
1

Para resumir o que Michael descobriu: o estoque MacOS Bash, v3.2.48(1)-release , mais bash_completion como fornecido pelo MacPorts, faz com que alguns comandos ( tail(1) , cat(1) , etc.) desativem o eco TTY no shell após serem finalizados , como descrito em este bug . A correção é usar a versão MacPorts do Bash, como descrito aqui .

Por que vale a pena, eu encontrei o mesmo bug ao usar o bash-completion fornecido pelo Homebrew com a versão de estoque do Bash .

    
por 24.01.2011 / 20:29
0

Eu tenho esse problema dentro de byobu (tela de execução, acredito) dentro de uma sessão ssh para uma caixa linux. Se eu canalizar, digamos, um comando rsync exigindo uma senha para less , less pode ficar um pouco confuso. Ctrl-C me tira disso, mas o eco do teclado às vezes não funciona depois.

A solução de Michael Guterl resolve o problema:

stty echo

ps: Estou executando o bash integrado da apple: 4.2.45 (2) -release (i386-apple-darwin12.3.0)

    
por 19.11.2014 / 00:40