J'essaie d'utiliser htop
dans tty1. Cependant, certaines touches de fonction ne semblent pas fonctionner normalement. F1et F2ne rien faire, et F3semble déclencher la configuration (qui devrait normalement être déclenchée par F2). De plus, F4et F5ne fonctionnent pas. De plus, lorsque j'essaie d'appuyer sur Escpour sortir de ces écrans, je dois appuyer deux fois dessus.
Dans un terminal normal ( terminator
), les touches de fonction fonctionnent correctement. Cependant, je dois appuyer Escdeux fois ici aussi, alors c'est peut-être un hareng rouge.
Comment puis-je utiliser ces touches de fonction dans tty1?
ÉDITER
En tty1, si j'appuie sur Ctrl+ vpuis F1sur F5, etc. j'obtiens la sortie suivante:
^[[[A
^[[[B
^[[[C
^[[[D
^[[[E
En terminator
, je reçois
^[OP
^[OQ
^[OR
^[OS
^[[15~
Les touches de fonction ci-dessus sont équivalentes (par exemple ^[[17~
pour F6).
EDIT 2
En réponse à Stéphane Chazelas commentaire .
$TERM
est le même dans tty1 que dans mon terminal de travail "normal". Ça l'estxterm-256color
.- Je n'utilise ni écran ni tmux.
- J'utilise
htop
1.0.3, bien que ma première modification semble indiquer qu'il s'agit d'un problème en amont dehtop
.
"Correspond
infocmp -L1 | grep key_f
à ce que ces clés vous envoient?
Je ne sais pas ce que vous entendez par "correspondre à ce que ces clés vous envoient", mais j'ai exécuté cette commande à la fois sur mon terminal normal et sur tty1, et la sortie était identique, comme ci-dessous.
key_f1=\EOP,
key_f10=\E[21~,
key_f11=\E[23~,
key_f12=\E[24~,
key_f13=\E[1;2P,
key_f14=\E[1;2Q,
key_f15=\E[1;2R,
key_f16=\E[1;2S,
key_f17=\E[15;2~,
key_f18=\E[17;2~,
key_f19=\E[18;2~,
key_f2=\EOQ,
key_f20=\E[19;2~,
key_f21=\E[20;2~,
key_f22=\E[21;2~,
key_f23=\E[23;2~,
key_f24=\E[24;2~,
key_f25=\E[1;5P,
key_f26=\E[1;5Q,
key_f27=\E[1;5R,
key_f28=\E[1;5S,
key_f29=\E[15;5~,
key_f3=\EOR,
key_f30=\E[17;5~,
key_f31=\E[18;5~,
key_f32=\E[19;5~,
key_f33=\E[20;5~,
key_f34=\E[21;5~,
key_f35=\E[23;5~,
key_f36=\E[24;5~,
key_f37=\E[1;6P,
key_f38=\E[1;6Q,
key_f39=\E[1;6R,
key_f4=\EOS,
key_f40=\E[1;6S,
key_f41=\E[15;6~,
key_f42=\E[17;6~,
key_f43=\E[18;6~,
key_f44=\E[19;6~,
key_f45=\E[20;6~,
key_f46=\E[21;6~,
key_f47=\E[23;6~,
key_f48=\E[24;6~,
key_f49=\E[1;3P,
key_f5=\E[15~,
key_f50=\E[1;3Q,
key_f51=\E[1;3R,
key_f52=\E[1;3S,
key_f53=\E[15;3~,
key_f54=\E[17;3~,
key_f55=\E[18;3~,
key_f56=\E[19;3~,
key_f57=\E[20;3~,
key_f58=\E[21;3~,
key_f59=\E[23;3~,
key_f6=\E[17~,
key_f60=\E[24;3~,
key_f61=\E[1;4P,
key_f62=\E[1;4Q,
key_f63=\E[1;4R,
key_f7=\E[18~,
key_f8=\E[19~,
key_f9=\E[20~,
Ctrl+V
puisF1
, et voyez ce qui est inséré. Répétez l' opération pourF2
,F3
,F4
etF5
, puis faire la même chose dans Terminator. Dites-nous ce que vous voyez.$TERM
là-dedans? Utilisez-vous un écran ou tmux? Quelle version de htop? Correspondinfocmp -L1 | grep key_f
à ce que ces clés vous envoient?Réponses:
En définissant:
vous dites
htop
(et toutes les autres applications de terminal visuel qui utilisent la base de données termcap ou terminfo) que votre terminal est un xterm 256 couleurs et non une console virtuelle Linux.htop
interrogera la base de données terminfo pour savoir sur quelle séquence de caractères est envoyée F1, F2... mais les obtiendraxterm
.xterm
envoie des séquences différentes de la console virtuelle Linux pour ces clés que vous pouvez vérifier en interrogeant la base de données terminfo à la main avecinfocmp
par exemple:Alors
htop
ne reconnaîtra pas\E[[A
comme un F1, il s'attendra\EOP
à cela.Ici, vous ne voulez pas affecter de valeurs à
$TERM
in~/.bashrc
.$TERM
devrait être défini par les émulateurs de terminaux (xterm
,terminator
) eux-mêmes, et pargetty
pour les consoles virtuelles Linux (devrait êtrelinux
là).Si vous n'êtes pas satisfait de la valeur choisie par un émulateur de terminal particulier
$TERM
, c'est la configuration de ces émulateurs de terminal que vous devez mettre à jour.la source
xterm-256color
.$TERM
surxterm-256color
, mais a été configuré pour utiliserESC[n~
les touches de fonction. J'ai changé les touches de fonction à utiliserXTerm R6
dans les paramètres et tout fonctionne maintenant.