Pages : 1
#1 Le 14/04/2010, à 15:43
- JLK
Bug avec la commande cat
Salut à tous.
Je ne sais pas si vous avez le même bug que moi, mais si vous avez la curiosité de taper la commande cat suivi de d'un long -très long - fichier binaire (ça sert à rien, je sais), le terminal crash, ou la session tty se réinitialise avec des caractères bizarroïdes.
Par exemple pour voir les contenus des processus en cours, tapez :
sudo cat /proc/*
... et dîtes-moi si vous avez le même bug que moi.
Hors ligne
#2 Le 14/04/2010, à 15:53
- keny
Re : Bug avec la commande cat
Non, sa ne plante pas chez moi.
Essaye avec su peut-être.
« Les Français veulent l'égalité, et quand ils ne la trouvent pas dans la liberté, ils la souhaitent dans l'esclavage. » (Alexis de Tocqueville)
Hors ligne
#3 Le 14/04/2010, à 16:18
- Tenshy
Re : Bug avec la commande cat
si je me souviens bien, ca marche aussi avec vim, tu ouvres un fichier binaire volumineux, tu quittes et la même chose arrive...
Hors ligne
#4 Le 14/04/2010, à 16:20
- JLK
Re : Bug avec la commande cat
si je me souviens bien, ca marche aussi avec vim, tu ouvres un fichier binaire volumineux, tu quittes et la même chose arrive...
Alors, je ne uis pas le seul à avoir cette espèce de corruption d'affichage ?
Hors ligne
#5 Le 14/04/2010, à 16:29
- Tenshy
Re : Bug avec la commande cat
non, en tout cas chez moi ca le fait aussi (enfin faisait, ça fait un moment de celà que je l'ai plus retesté...)
après tout dépend peut-être aussi du terminal, personnelement je l'ai testé sous xterm, peut-être que sur un émulateur de terminal comme gnome-terminal ça ne fait pas la même chose... à tester...
Hors ligne
#6 Le 14/04/2010, à 16:34
- JLK
Re : Bug avec la commande cat
non, en tout cas chez moi ca le fait aussi (enfin faisait, ça fait un moment de celà que je l'ai plus retesté...)
après tout dépend peut-être aussi du terminal, personnelement je l'ai testé sous xterm, peut-être que sur un émulateur de terminal comme gnome-terminal ça ne fait pas la même chose... à tester...
Le bug existe également sous gnome-terminal. A la fin, la fenêtre est automatiquement fermé.
Hors ligne
#7 Le 14/04/2010, à 17:36
- kyncani
Re : Bug avec la commande cat
Je crois que ça provient de la discipline de ligne ou termios.
Cat (qui n'est pas buggé) envoie tous les caractères tels quels sur sa sortie, laquelle est interprétée par la discipline de ligne, entre autre, certains caractères spéciaux dits de contrôle font l'objet de traitement spéciaux.
Si tu veux voir comment est configuré ton terminal : stty -a </dev/tty
Je n'en sais pas beaucoup plus, c'est un petit peu obscur et viellot tout cela.
Si tu ne veux plus avoir ce genre de désagrément : 1) n'envoie pas de données binaires vers un terminal, certaines de ces données seront interprétées par le terminal 2) convertit toutes les données en ascii avant de les envoyer au terminal 3) utilise des éditeurs/dumpers prévus à cet effet pour examiner des données binaires. (éditeurs hexa)
Hors ligne
#8 Le 14/04/2010, à 18:10
- JLK
Re : Bug avec la commande cat
Je crois que ça provient de la discipline de ligne ou termios.
Cat (qui n'est pas buggé) envoie tous les caractères tels quels sur sa sortie, laquelle est interprétée par la discipline de ligne, entre autre, certains caractères spéciaux dits de contrôle font l'objet de traitement spéciaux.
Si tu veux voir comment est configuré ton terminal : stty -a </dev/tty
Je n'en sais pas beaucoup plus, c'est un petit peu obscur et viellot tout cela.
Si tu ne veux plus avoir ce genre de désagrément : 1) n'envoie pas de données binaires vers un terminal, certaines de ces données seront interprétées par le terminal 2) convertit toutes les données en ascii avant de les envoyer au terminal 3) utilise des éditeurs/dumpers prévus à cet effet pour examiner des données binaires. (éditeurs hexa)
1) Je faisais un essai rien que pour voir...
2) se référer au 1)
3) Idem.
4) Merci quand même.
Très instructif ton post.
Dernière modification par JLK (Le 14/04/2010, à 18:11)
Hors ligne
#9 Le 14/04/2010, à 19:40
- kyncani
Re : Bug avec la commande cat
Ok, donc au final ce qu'il faut retenir c'est qu'il ne faut pas envoyer des données binaires à un terminal car celui-ci va les interpréter et ça va le déconfigurer.
Si malgré tout on s'est trompé, on peut taper, souvent à l'aveugle, "reset" pour réinitialiser le terminal. Ca marche quasiment toujours.
Hors ligne
#10 Le 14/04/2010, à 21:48
- JLK
Re : Bug avec la commande cat
Ok, donc au final ce qu'il faut retenir c'est qu'il ne faut pas envoyer des données binaires à un terminal car celui-ci va les interpréter et ça va le déconfigurer.
Si malgré tout on s'est trompé, on peut taper, souvent à l'aveugle, "reset" pour réinitialiser le terminal. Ca marche quasiment toujours.
Attends je vais y faire une vérification sous tty (ça va ch*** des bulles )
Hors ligne
#11 Le 14/04/2010, à 22:04
- JLK
Re : Bug avec la commande cat
Bon sous tty, je suis entré dans la matrix (mais avec un générique 1000 fois mieux que le film !).
Le souci, c'est que tty1 est mort (écran noir)... Y a-t-il une combinaison de touche qui permet de redémarrer la session tty en cours ?
Dernière modification par JLK (Le 15/04/2010, à 15:46)
Hors ligne
#12 Le 15/04/2010, à 00:51
- JLK
Re : Bug avec la commande cat
Up !
Hors ligne
#13 Le 15/04/2010, à 08:27
- credenhill
Re : Bug avec la commande cat
taper dans le terminal (à l'aveugle si jamais)
stty sane Ctrl+j
ou
echo Ctrl+v Echap c <entrée>
Hors ligne
#14 Le 15/04/2010, à 18:20
- JLK
Re : Bug avec la commande cat
taper dans le terminal (à l'aveugle si jamais)
stty sane Ctrl+j
ou
echo Ctrl+v Echap c <entrée>
Ah merci. C'est efficace.
Il faudra que je teste quand ça refait l'écrant tout noir (j'ai rebooté entre temps...)
Hors ligne
#15 Le 16/04/2010, à 00:02
- JLK
Re : Bug avec la commande cat
J'ai réessayé le truc, et ça marche, mais je n'ai pas eu mon écran tty tout noir comme la dernière fois.
Sinon, les caractères deviennent roses couleur PQ genre Moltonel.
Une idée pour remettre les caractères en blanc ?
EDIT : j'ai trouvé la solution dans la documentation, ICI : http://doc.ubuntu-fr.org/consoles_virtuelles?s[]=tty
Dernière modification par JLK (Le 16/04/2010, à 01:52)
Hors ligne