Respuestas:
Hay un programa llamado key-mon que monitorea las teclas presionadas. Ha pasado algún tiempo desde que lo usé, pero funcionó bien y su pantalla es bastante atractiva.
Puede usar xev
(X eventos) para hacer esto.
Inicie la aplicación que desea supervisar, por ejemplo, xman &
.
Luego, use wmctrl -l
para enumerar X ventanas. Podría verse así:
0x00400009 0 VLAN-.... urxvt
0x00e0007a 0 VLAN-.... Iceweasel
0x00800011 0 VLAN-.... xman
Necesita la ID de ventana (hexadecimal) en la primera columna; para obtenerlo, puede usar grep
y buscar la línea en la cuarta columna (el nombre de la aplicación, que es mucho más natural para usar como humano): cuando tiene la línea, puede obtener la primera columna con cut
(la primera con -f1
un delimitador de espacios en blanco -d" "
para separar los campos).
Puede analizar los datos (para obtener la ID) de varias maneras, o incluso ingresar la ID manualmente, por supuesto. (Los ceros en la segunda columna anterior son el número de escritorio).
Entonces intenta
xev -id `wmctrl -l | grep xman | cut -d" " -f1` | tee event.txt
Mostrará las pulsaciones de teclas (y más) en el mismo terminal donde se invocó el comando; Además, con tee
, almacenará lo que ves en un archivo. Podría ser una buena idea dejar que la salida se muestre stdout
en el terminal ya que esto le mostrará instantáneamente la acción; Además, si no ejecuta el comando como un proceso en segundo plano (con &
), puede terminarlo fácilmente conCtrl-C.
NOTA Funciona para urxvt y xman, pero por alguna razón, falla para Iceweasel en la lista anterior (registra algo, pero no presenta eventos clave tan claros (de lejos) como es el caso con esos otros ejemplos.