J'ai un petit problème dans l'écran GNU. Une session d'écran GNU s'exécute sur mon RaspberryPi. Maintenant, parfois, lorsque je le rejoins, si je clique sur le terminal (j'utilise Terminator sur Fedora), je vois des caractères étranges écrits. Ces caractères dépendent des coordonnées de ma souris… On dirait un mauvais décodage de l'événement click envoyé à GNU Screen. Ces personnages incluent des choses comme
kM#kM - Z3#Z3 - q-#q-
etc…
J'ai d'abord pensé que c'était un problème avec mon, tty
alors je suis allé ouvrir une nouvelle session d'écran GNU sur mon RaspberryPi: pas de problème du tout.
J'ai fait un stty -a
sur les deux sessions et j'ai vu qu'il y avait une différence. J'ai ensuite fait un stty -g > ~/stty-good-settings
sur la bonne session et l' stty `cat ~/stty-good-settings`
ai chargé sur la mauvaise avec (j'ai comparé les valeurs après cela, les paramètres ont été chargés avec succès) mais j'ai toujours le problème dans l'une des sessions d'écran et pas dans l'autre!
Je ne suis pas sûr de ce qui se passe, si cela est dû à ma TERM
valeur (la même dans les deux), mes tty
paramètres, mon terminal…
la source
tmux
de temps en temps. À un moment donné, les multiplexeurs terminaux semblent aller banane et décoder les entrées de manière incorrecte (xterm
peut-être aussi quelque chose à dire ici).reset
règle généralement cela pour moi.reset
fonctionne aussi en écran! Merci pour le correctif, cependant, j'aimerais savoir pourquoi ...Réponses:
Quelque chose qui s'exécute à l' intérieur de l' écran GNU a décidé qu'il s'exécutait à la place dans un xterm (ou similaire) et a activé le mode Application Mouse. (Ou quelque chose que vous exécutez dans ce terminal avant de vous attacher à l'écran GNU, peut-être même avant ssh, qui ne s'est pas correctement réinitialisé.) C'est souvent le cas si $ TERM n'est pas «screen» mais par exemple «xterm» ou «screen. xterm ”. Ce dernier est vu sur les systèmes Debian (et dérivés) qui ont
ncurses-term
installé; essayez de purger ce package (sur l'hôte et le raspi).Sinon,
reset
(comme cela a déjà été dit) ouprintf \\x033c
peut aider temporairement. Ou, bien sûr, les séquences d'échappement appropriées pour indiquer à votre émulateur de terminal de désactiver le mode souris.la source
reset
a fait l'affaire. Merci.reset
a sa place, mais efface votre écran. Si vous utilisezxterm
ou quoi que ce soit compatible , la chose la plus courte et la moins intrusive à utiliser seraitCela n'est pas explicitement indiqué dans la section Suivi de la souris des séquences de contrôle XTerm , mais
xterm
vous permet de réinitialiser (désactiver) le mode souris en désactivant l'un des modes possibles qui pourraient être activés. Ceux-ci sont documentés sous forme de constantes nommées:et
9
est le plus court.Le mode souris est activé par de nombreuses applications. Si l'on sort sans l'éteindre, cela produit les caractères étranges que vous avez vus. Les applications ncurses désactivent le mode souris
endwin
, dans lequel toutes les applications curses bien comportées appellent. D'autres applications peuvent ne pas utiliser (n) curses ou oublier d'appelerendwin
.Les applications ncurses vérifient si le mode xterm-mouse est disponible en testant la
kmous
capacité (qui fait partie de lascreen
description du terminal). C'est la façon standard de tester la fonctionnalité depuis 1999 , il est donc peu probable qu'une application active accidentellement le mode souris. Il indique plutôt une application qui a oublié de faire son travail.Il n'y a d'ailleurs aucune
screen.xterm
entrée dans lencurses-term
paquet Debian (le garder est plus utile que le supprimer). Voici une liste de toutes les entrées liées à l'écran dans ce package. La plupart sont utilisés pour corriger les écarts descreen
comportement pour différents terminaux:la source