Réponses:
Je l'ai découvert par moi-même.
Assurez-vous d'abord que vous avez chargé le module du noyau evdev sur les deux machines.
Sur la machine distante que vous exécutez:
$ cat /dev/input/by-path/platform-i8042-serio-0-event-kbd | nc <IP> 4444
Et sur le client:
$ nc -l -p 4444 > /dev/input/by-path/platform-i8042-serio-0-event-kbd
(Remarque: si vous utilisez netcat à partir de netcat-openbsd, par exemple dans Ubuntu ou Fedora, n'utilisez pas le '-p')
Cela fonctionne parfaitement, que je sois dans un ATS ou sur X.org. Et ça marche sans plus attendre!
Malheureusement, toutes les clés sont également tapées sur la machine distante. Existe-t-il un moyen de les désactiver temporairement pendant que nc fonctionne? J'ai pensé à quelque chose comme exécuter "cat -" sur la machine distante mais un Ctrl-C ferait bien sûr la fin.
Synergy partagera un clavier sur le réseau entre plusieurs machines. S'il ne fait pas directement ce que vous voulez, je suis sûr qu'il y a du code qui vous facilitera la configuration.
Jetez un œil à Synergy .
Synergy est un logiciel gratuit et open source qui vous permet de partager facilement votre souris et votre clavier entre plusieurs ordinateurs, où chaque ordinateur a son propre écran. Aucun matériel spécial n'est requis, tout ce dont vous avez besoin est un réseau local. Synergy est pris en charge sous Windows, Mac OS X et Linux. Rediriger la souris et le clavier est aussi simple que de déplacer la souris hors du bord de votre écran.
La suggestion ci-dessus d'utiliser nc (netcat) ne fonctionne pas pour moi.
Je peux ouvrir le flux d'entrée en utilisant cette commande:
nc -l -p 4444 > /dev/input/by-path/platform-i8042-serio-0-event-kbd
J'obtiens une autorisation refusée, même si je le fais en tant que sudo. La machine cible a une installation linux vraiment ancienne, donc peut-être que les fichiers du périphérique / dev / input étaient en lecture seule quand.
Cependant, j'ai pu résoudre ce problème en utilisant x2x, et le résultat est très convivial.
Vous devez faire "xhost +" sur la machine cible et également utiliser gdmsetup pour activer les connexions à distance (cela supprime l'indicateur -nolisten pour X la prochaine fois que gdm lance une session X).
Après cela, votre xserver est grand ouvert pour les connexions à distance, et x2x peut s'y connecter depuis la machine source (clavier)
x2x -to 192.168.1.3:0
Ce qu'il y a de bien avec x2x, c'est qu'il vous donne une petite fenêtre de contrôle sur la machine source, et les événements de clavier ne sont envoyés à la cible que lorsque cette fenêtre est focalisée. C'est une façon très pratique de le faire (je tape cette réponse depuis la machine source en ce moment, et aucune touche erronée n'atteint la machine cible, car j'ai la fenêtre de contrôle décentrée). De plus, un clic sur le centre de la fenêtre de contrôle commence également à transmettre les événements de souris, et un clic sur 2 boutons met fin à l'envoi des événements de souris. De plus, lorsque vous activez le transfert de souris avec un clic dans la fenêtre de contrôle, TOUS les événements du clavier sont envoyés à la cible et aucun à la source. Ainsi, ALT-TAB est envoyé à la cible sans défocaliser la fenêtre de contrôle sur la machine source.
J'ai des bureaux virtuels activés sur la machine source, donc je colle simplement la fenêtre de contrôle x2x sur un bureau distant et n'y vais que lorsque j'ai besoin de contrôler la machine cible.
Cette version de la solution est au niveau X, où la réponse ci-dessus est au niveau du périphérique Linux. Bien sûr, cela ne fonctionnera pas du tout si vous n'exécutez pas X sur la cible et la source.
nc -l 4444
, sans-p
. Selonman nc
,-p
est explicitement interdit en combinaison avec-l
. Sinon, c'est une solution fantastique et juste ce dont j'avais besoin :)