J'ai besoin d'enregistrer chaque frappe et de le stocker dans un fichier dans le répertoire utilisateur ~, lorsque j'utilise mon compte, je ne suis pas sudoer et je ne peux en aucun cas installer des programmes (comme logKeys ). Comment pourrais-je le faire en utilisant un terminal?
REMARQUE: cette question n'est pas un doublon de l'autre question mentionnée; dans cette question, je demande à propos de chaque frappe, tandis que dans l'autre, le demandeur a posé des questions sur la frappe dans la session de terminal.
Réponses:
xinput test
peut signaler tous les événements du clavier au serveur X. Sur un système GNU:Si vous souhaitez obtenir des noms de clé à partir des codes de clé, vous pouvez post-traiter cette sortie avec:
Ajouter
> file.log
pour stocker dans un fichier journal. Ou| tee file.log
pour vous connecter et le voir.xinput
interroge la XinputExtension du serveur X. C'est aussi proche que possible de la norme (je ne connais aucune norme qui couvre les utilitaires X) ou d'une commande commune pour le faire. Cela ne nécessite pas non plus de privilèges root.Si le serveur X et xinput prennent en charge la version 2 de XinputExtension, vous pouvez utiliser à la
test-xi2
place detest
qui donne plus d'informations, notamment l'état des modificateurs (shift, ctrl, alt ...). Exemple:Vous pouvez traduire le keycode (in
detail
) en un keysym à l'aide dexmodmap -pke
nouveau, et leeffective
bitmask de modification en quelque chose de plus utile avec l'aide dexmodmap -pm
. Par exemple:produirait:
lorsque j'appuie sur Maj + Alt + q lorsque le verrouillage numérique est activé.
Notez que vous n'avez pas besoin de privilèges de super-utilisateur pour installer un programme. Si vous avez accès en écriture à quelque part sur le système de fichiers où l' autorisation d' exécution est accordé (votre répertoire personnel,
/tmp
,/var/tmp
...) , vous pouvez copier unexinput
commande à partir d' un système compatible et il l' exécuter.la source
xinput
1.6.1
ou plus récent--root
. Les utilitaires X peuvent être téléchargés individuellement sur xorg.freedesktop.org/releases/individual/app . Si vous ne voulez pas compiler depuis la source. Debian a un xinput 1.6.1 pour plusieurs architectures pour Linux ou kfreebsd.xmodmap
est dans l'implémentation de référence X depuis 1987 au moins. De quel système parlons-nous ici? Serait-ce que cexmodmap
n'est pas dans votre$PATH
(/usr/dt/bin
ou autre?).Avez-vous envisagé d'utiliser la
script
commande?la source