Comment réinitialiser un ATS cassé?


15

Mon Slackware TTY peut être cassé facilement en exécutant:

cat some_binary_file

Après la commande, l'intégralité du TTY n'affichera plus de caractères lisibles mais répondra toujours aux événements du clavier.

Même si je me déconnecte et me reconnecte, le TTY est toujours cassé et n'affiche plus de caractères lisibles. Je dois redémarrer la machine pour rétablir le fonctionnement normal du téléscripteur.

Existe-t-il une solution sans redémarrer la machine entière?

Réponses:


13

Exécutez echo ^v^o, c'est-à-dire echopuis Ctrl-vet puis Ctrl-o, Entrée. Vous ne verrez pas le Ctrl-v. Il s'affichera comme echo ^O. Ctrl-vle met en mode verbeux, en passant par les caractères de contrôle, et Ctrl-oréinitialise le terminal.


4
Juste un petit indice: si le TTY est complètement inutilisable ou une console de journalisation, vous pouvez le réinitialiser facilement à partir de tout autre TTY avec echo ^v^o > /dev/ttyNN étant le numéro du terminal.
Torben

Cela ne fonctionne pas pour moi sur MacOSX (10.11.6) / iTerm2 (3.0.12) / bash (4.1.2)
Ed Randall

25

Habituellement, l'exécution resetréinitialise le terminal. Cependant, certaines liaisons de clés .inputrcpourraient être perdues.


Solution super simple qui a corrigé mon volet tmux oh-my-zsh écrasé.
Shadoninja

C'est mieux que la réponse acceptée à mon avis. Lorsque vous ne pouvez pas voir ce que vous tapez, il est plus facile de taper resetet d'appuyer sur Entrée que d'essayer d'utiliser des combinaisons de touches, de plus, cela fonctionne à 100%.
Sergio

12

Vous pouvez essayer la commande de réinitialisation ANSI:

printf "\033c"

c'est le seul qui a travaillé sur OpenBSD 5.4
execNext

1
Cela a également fonctionné à partir du shell (bash) sous la forme echo -e '\ 033c'
Ed Randall

3
@EdRandall Oui. Notez que "echo -e" n'est pas supporté par tous les shells tout en printfayant l'avantage d'être portable donc fonctionne quel que soit le shell, y compris bash.
jlliagre

J'imagine que cela n'a rien à voir avec le diacritique des mouettes dans l'IPA? U + 033C ‹◌̼› \ N {
COMBINER SEAGULL

@TRiG En effet. Rien à voir non plus avec la célèbre citation d'Eric Cantona. ;-)
jlliagre

5

Mon terminal n'affichait aucun des caractères que j'avais saisis. Aucune des autres astuces n'a fonctionné. Celui-ci fonctionne:

stty sane

A travaillé pour moi. J'ai parfois un terminal dans un état qui ne répond pas, mais aucune des autres suggestions n'a pu me redonner la sortie. Les autres suggestions que j'ai essayées, mais qui n'ont pas fonctionné:

echo ^v^o
reset
printf "\033c"

Source: /unix//a/79686/53236


0

Il y a en fait quelques problèmes potentiels, et cela pourrait être lié à votre environnement. Tout d'abord, comme @Jesper a répondu, vous voulez le faire stty sane. Cependant, vous ne pourrez peut-être même pas configurer correctement l'environnement avec cela.

Cela est dû à la différence entre /bin/bashet /bin/sh. Après avoir ouvert votre terminal, exécutez /bin/bashpuis essayez stty sane. Cela devrait tout réparer. Enfin, je recommande d'ajouter une telle chose à .bashrc

Une autre option serait d'installer un logiciel sain tty.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.