J'ai récemment commencé à louer de l'espace sur un serveur distant pour pouvoir travailler sur un projet. J'ai trouvé qu'un moyen relativement indolore d'y accéder sur une machine Windows est via PuTTY. Cependant, il y a une chose qui m'a toujours contrarié lors de son utilisation: pour apparemment aucune raison, des caractères aléatoires sont parfois insérés au niveau du curseur.
La plupart du temps, ce n'est qu'un tilde unique, mais il crache rarement ce qui ressemble à une séquence d'échappement ([[^ 8 ou similaire). Cela ne se produira que lorsque je serai concentré sur la fenêtre, que je tape ou à 20 pieds du clavier. S'il est laissé assez longtemps, il crachera des tildes à intervalles aléatoires (la moyenne est d'environ 1 minute).
Enfin, ce comportement semble incohérent lors de l'exécution de programmes tels que nano ou l'interface mysql: dans nano, au lieu d'insérer des tildes, il mettra des repères (ctrl- ^); dans mysql, les lignes deviendront non modifiables.
Ma question est la suivante: quelqu'un d'autre a-t-il connu ce genre de comportement dans PuTTY? Et si oui, que peut-on faire pour empêcher / corriger ce comportement?
Réponses:
J'ai eu le même problème avec PuTTY et j'ai découvert que cela était dû à une application que j'ai appelée "caféine" qui appuie efficacement sur la touche F13 toutes les minutes pour empêcher l'économiseur d'écran d'être activé (les stratégies de groupe m'empêchent de modifier le délai d'expiration de l'économiseur d'écran sur ma machine). La désactivation de l'application m'a résolu le problème.
la source
Si vous préférez faire tourner Putty and Caffeine, suivez ces étapes:
F15
Ctrl+V
(ceci est nécessaire pour obtenir le code spécial pour la clé. Par exemple, essayezCtrl+V
suivi deF12
)F15
est^[[28~
, où^[
est d'échappement). Arrêtez la caféine~
~/.inputrc
(créer un nouveau fichier s'il n'existe pas)"\e[28~":""
~
lors de l'utilisation du terminal Putty avec ce serveur Linuxla source
J'ai trouvé que la solution de shreyansp était la plus (mais pas tout à fait) satisfaisante :)
Voici ma tentative pour améliorer cela (bien sûr YMMV). J'espère que cela peut être utile à ceux qui recherchent une solution :)
Ma solution se comporte comme suit:
TL; DR: Ma solution est appliquée entre les étapes 2 et 3 (voir ci-dessous) avec le
-key:0E
paramètre caféine:Quittez la caféine et relancez-la avec:
caffeine.exe 5 -key:0E
(pour un test facile)caffeine.exe 50 -key:0E
(pour un économiseur d'écran obligatoire réglé à 1 minute)read
programme sur l'hôte distant et regardez comment aucune frappe n'est reçue toutes les 5 ou 50 secondes.read
avecCtrl+C
Shreyansp a proposé une solution où un correctif serait appliqué entre les étapes 5 et 10 (voir ci-dessous).
L'effet secondaire de cela (sur ma configuration) était que, à chaque frappe de touche, ce mastic transmis de la caféine à l'hôte distant:
que je voudrais normalement, mais seulement lorsque j'appelle la touche humaine (mais pas régulièrement) avec de la caféine :)
'"\e[28~"'
à'""'
(clé vide?) a provoqué le blocage de l'interaction de session à distance pendant plusieurs secondesAfin de tester facilement ce qui précède, quittez la caféine et relancez-la avec un intervalle de 5 secondes et le code de clé virtuelle 07:
caffeine.exe 5 -key:07
read
programme sur l'hôte distant et regardez comment les frappes sont reçues toutes les 5 ou 50 secondes.read
avecCtrl+C
Le «pipeline» de touches, si je comprends bien:
$TERM=xterm
,vt100
,vt102
,vt220
, etc.) se traduit par du « protocole de ligne » dans les codes clés.~/.inputrc
~/.bashrc
(basé sur la commande bind intégrée)screen
programme (qui comprend un$TERM=screen
pour l'étape 5. et revient en boucle à l'étape 6. à 10.)Remarque: Une fois arrivé à l'étape 4., il devient très difficile de contrôler avec précision les différentes couches de «traductions» / «mappages». Je recommanderais d'éviter cela si vous le pouvez.
Contexte:
J'ai utilisé
caffeine.exe -key:07
pendant des années avant de devoir gérer un pfsense 2.3.3-RELEASE-p1 (basé sur FreeBSD 10.3-RELEASE).Ensuite, a
caffeine.exe -key:07
été reçu de l'autre côté comme^[[28~
... qui semble être mappé àCtrl+^
(Set Mark) dans Nano.C'était assez ennuyeux (imaginez que quelqu'un appuie sur la touche Maj et la garde pendant que vous déplacez le curseur texte dans le Bloc-notes).
Auparavant, je l' ai fait de nombreuses personnalisations dans Putty Paramètres,
~/.tcshrc
,~/.inputrc
,~/.bashrc
,~/.nanorc
,~/.screenrc
pour obtenir ce que je considère les fonctionnalités de base (Backspace
,Delete
,Home
,End
,PgUp
,PgDown
,Ctrl+Left
,Ctrl+Right
, Numpad0-9
, Numpad./*-+
) travaillant régulièrement entre bash / nano / écran.Une fois que j'ai découvert ce
caffeine.exe -key:07
`` bug '', je n'ai plus voulu le retracer :)Testé sur:
Windows 8.1 64 bits Enterprise (6.3.9600) / Putty 0.66 / pfsense 2.3.3-RELEASE-p1 (basé sur FreeBSD 10.3-RELEASE) / bash 4.4.12-release / nano 2.7.3 / screen 4.04. 00
Les références:
Caféine:
Undefined
code qui fonctionne pour votre configuration)Readline / inputrc / bash / bashrc / (intégré) bind:
Mastic:
la source
Cela ressemble vraiment à une séquence d'échappement ou à un caractère de contrôle, ce qui pourrait expliquer pourquoi vous ne le voyez pas dans d'autres programmes comme le bloc-notes.
Je ne sais pas exactement quelles touches doivent être enfoncées pour obtenir cette sortie, mais je vais jouer un peu et essayer de le découvrir. Pouvez-vous nommer une autre séquence montrée? Le comportement de mysql et nano pourrait simplement être une autre interprétation des séquences d'échappement qui semblent être entrées.
Enfin, la question est de savoir ce qui cause ces entrées clés. Utilisez-vous, par hasard, un ordinateur portable qui, par exemple, contrôle automatiquement le rétro-éclairage à l'aide d'un logiciel propriétaire? J'ai vu des logiciels préinstallés étranges émuler les touches au lieu d'utiliser l'API. Vous voudrez peut-être utiliser quelque chose comme inputlog sur vous-même.
la source
~
(et entendre un beeb) que lorsque quelque chose comme\e[3~
est envoyé.~
serait pas indiquer une séquence d'échappement.)J'utilise l'option -key: 07 sur la ligne de commande pour lancer caffiene .. Semble arrêter le problème Putty.
Il suffit de mettre cela dans un fichier bat
caffeine.exe -key: 07
la source
caffeine.exe -key:0E
(voir ma réponse ci-dessous). Semble bien fonctionner avec Windows (8.1 64 bits) et Putty l'ignore avec bonheur :)Quelqu'un sur les forums Cisco suggère de modifier le paramètre de vitesse de la console pour résoudre ce problème.
http://www.dslreports.com/forum/r27090677-HELP-Cisco-1800-garbled-output-in-putty
Vous avez définitivement essayé toutes les variations de vitesse de la console dans Putty comme mentionné dans 1 ?
Remarque: Si le débit en bauds est différent du débit par défaut, des caractères impairs sont visibles sur CLI. Vérifier le tableau 1 pour définir les débits en bauds pour différentes valeurs Confreg.
la source
J'ai également eu le même problème et j'ai trouvé que caffeine.exe était bien le problème. Au début, je pensais que cela ne pouvait pas être causé par caffeine.exe car j'utilisais cela depuis plus de 2 ans sur mon ancien ordinateur portable. J'ai plutôt essayé de changer caffeine.exe -useshift, mais cela a envoyé ^ C. J'ai trouvé un autre programme, Mouse Jiggler, qui éloigne l'économiseur d'écran mais n'envoie plus de séquences d'échappement dans mes sessions Putty.
la source
La meilleure solution consiste à configurer les paramètres de votre session de mastic de sorte que Caffine n'interfère pas avec elle.
Dans Putty sous Terminal Keyboard, choisissez l'option SCO. Dans Putty sous Terminal Bell, changez l'action en None (pour désactiver le carillon).
Caffine fera toujours son truc et ne dérangera pas votre séance de mastic. (Je n'utilise pas de clés Fn pendant une session de mastic, donc je ne sais pas ce qui se passe si vous voulez utiliser des clés Fn).
la source
2017-09-20: Résolution de l'injection de char en démarrant la caféine avec «caffeine.exe -useshift -noicon» dans le planificateur de tâches déclenché à la connexion. Aucune icône, plus de caractères injectés dans mes sessions mintty / bash. C'était tellement ennuyeux. Merci à tous pour vos conseils.
la source