Estoy tratando de usar htop
en tty1. Sin embargo, algunas de las teclas de función no parecen funcionar normalmente. F1y F2no hace nada, y F3parece desencadenar la configuración (que normalmente debería activarse F2). Además, F4y F5no funcionan. Además, cuando intento presionar Escpara salir de estas pantallas, tengo que presionarlo dos veces.
En un terminal normal ( terminator
), las teclas de función funcionan bien. Sin embargo, tengo que presionar Escdos veces aquí también, así que tal vez sea una pista falsa.
¿Cómo puedo usar estas teclas de función en tty1?
EDITAR
En tty1, si presiono Ctrl+ ventonces F1a F5, etc. conseguir el la siguiente salida:
^[[[A
^[[[B
^[[[C
^[[[D
^[[[E
En terminator
, me sale
^[OP
^[OQ
^[OR
^[OS
^[[15~
Las teclas de función por encima de esto son equivalentes (por ejemplo, ^[[17~
para F6).
EDITAR 2
En respuesta al comentario de Stéphane Chazelas .
$TERM
es lo mismo en tty1 que en mi terminal de trabajo "normal". Esxterm-256color
.- No estoy usando la pantalla o tmux.
- Estoy usando
htop
1.0.3, aunque mi primera edición parece señalar que es un problema corriente arribahtop
.
"¿
infocmp -L1 | grep key_f
Coincide con lo que esas llaves te envían?
No estoy seguro de lo que quieres decir con "hacer coincidir lo que esas teclas te envían", pero ejecuté este comando tanto en mi terminal normal como en tty1, y la salida fue idéntica, como se muestra a continuación.
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
entoncesF1
, y ver lo que se inserta. Repita paraF2
,F3
,F4
yF5
, a continuación, hacer lo mismo en terminador. Cuéntanos qué ves.$TERM
allí? ¿Estás usando screen o tmux? ¿Qué versión de htop? ¿infocmp -L1 | grep key_f
Coincide con lo que te envían esas llaves?Respuestas:
Configurando:
usted está diciendo
htop
(y cualquier otra aplicación de terminal visual que use la base de datos termcap o terminfo) que su terminal es una xterm de 256 colores y no una consola virtual de Linux.htop
consultará la base de datos terminfo para saber a qué secuencia de caracteres se envía F1, F2... pero los obtendráxterm
.xterm
envía secuencias diferentes que la consola virtual de Linux para esas claves que puede verificar consultando la base de datos terminfo a mano con,infocmp
por ejemplo:Por
htop
lo tanto , no reconocerá\E[[A
como un F1, esperará\EOP
por eso.Aquí, no desea asignar valores a
$TERM
in~/.bashrc
.$TERM
deben ser configurados por los propios emuladores de terminal (xterm
,terminator
) y porgetty
las consolas virtuales de Linux (deben estarlinux
allí).Si no está satisfecho con el valor que elige un emulador de terminal en particular
$TERM
, esa es la configuración de esos emuladores de terminal que debe actualizar.fuente
xterm-256color
.$TERM
paraxterm-256color
, pero estaba configurado para usarESC[n~
teclas de función. Cambié las teclas de función para usarXTerm R6
en la configuración y todo funciona ahora.