Transférer la souris et le clavier à la session X

13

J'accède à mon Pi via SSH.

Mon réseau est trop lent pour renvoyer le bureau du Pi vers mon ordinateur portable, j'ai donc un moniteur connecté à mon Pi. Lorsque je passe startxpar Putty, je vois le bureau sur mon Pi. Tout est bon.

Cependant, je ne peux rien faire avec ce bureau, car je n'ai que la souris et le clavier de mon ordinateur portable.

Comment puis-je transférer les entrées de la souris et du clavier de mon ordinateur portable vers le bureau de mon Pi?

ACarter
la source
Si vous connectez quand même un moniteur, pourquoi ne pas connecter un clavier et une souris? Vous utilisez normalement ssh lorsque vous n'avez pas accès au PI lui-même.
Ash Burlaczenko
@Ash, je n'ai pas de clavier. Je sais qu'ils sont bon marché et tout, mais cela rendrait les choses plus faciles ...
ACarter
Si vous ne disposez que d'un seul clavier et souris, il peut être judicieux d'obtenir un commutateur KVM afin de pouvoir aller et venir.
Kibbee
Je suis sûr que j'en ai déjà parlé quelque part.
Jivings
@Kibbee Je pensais que vous ne pouviez pas utiliser un commutateur KVM avec un ordinateur portable?
ACarter

Réponses:

12

Vous pouvez utiliser un excellent outil appelé x2x. Cela traite essentiellement le moniteur connecté à l'appareil distant (le Raspberry Pi) comme un deuxième Xécran pour votre session existante comme si vous aviez deux moniteurs connectés.

Installez x2xsur les deux appareils:

sudo pacman -S x2x         # Arch Linux
sudo apt-get install x2x   # Debian/Raspbian 

Configurez SSH:

Sur le Raspberry Pi, éditez /etc/ssh/sshd_configet ajoutez / décommentez la ligne suivante:

X11Forwarding yes

Redémarrez ensuite le sshserveur.

SSH vers le Pi depuis votre autre appareil et exécutez x2x:

ssh -X 192.168.0.70 'x2x -east -to :0'

Remplacez l'IP par l'adresse de votre Raspberry Pi.

Vous devriez maintenant pouvoir déplacer votre souris entre les deux sessions X en déplaçant votre souris hors de l'écran vers la droite (est).

Jivings
la source
Lorsque je fais cela sur Windows et Ubuntu, j'obtiens une erreur similaire à x2x - error: can not open display :0. J'ai installé x2x sur le Pi et Ubuntu, et SSH est configuré sur le Pi.
ACarter
@ACarter Je ne pense pas que vous puissiez impliquer Windows (sauf si vous utilisez xming) car il a besoin d'une session X en cours d'exécution à chaque extrémité.
Jivings
Dois-je alors démarrer explicitement la session X sur Ubuntu?
ACarter
@ACarter Oui, il traite la connexion comme une extension de votre session X existante .
Jivings
1
@ACarter Je suis désolé pour ça. Cela pourrait être lié à la DISPLAYvariable. Essayez de taper echo $DISPLAYun terminal et remplacez le :0dans la x2xcommande par cette sortie.
Jivings
10

la synergie peut très bien faire cela

Synergy vous permet de partager facilement votre souris et votre clavier entre plusieurs ordinateurs sur votre bureau, et c'est gratuit et open source. Déplacez simplement votre souris du bord de l'écran d'un ordinateur vers un autre. Vous pouvez même partager tous vos presse-papiers. Tout ce dont vous avez besoin est une connexion réseau. Synergy est multiplateforme (fonctionne sur Windows, Mac OS X et Linux).

John La Rooy
la source
Comment l'avez-vous construit pour le Pi?
HeatfanJohn
@HeatfanJohn, raspbian l'a dans le repo
John La Rooy
Ah, sudo apt-get install synergy... cool!
HeatfanJohn
4

Un rapide google m'a finalement conduit ici et après un test rapide, cela a fonctionné pour moi.

En bref, vous devez configurer xrdp

sudo apt-get install xrdp

Une fois installé, il configurera le service rdp pour qu'il démarre au démarrage, donc redémarrez votre RPi. Lorsque votre RPi a terminé le démarrage, vous pourrez vous connecter à votre RPi via l'application de bureau à distance intégrée à Windows (ou toute autre tierce partie).

Ash Burlaczenko
la source
Merci pour votre réponse, c'est une solution à distance soignée, mais l'idée est que je vois le bureau sur l'écran connecté au Pi, mais je peux entrer sur ce bureau à partir du clavier de mon ordinateur portable.
ACarter
1

Vieux fil ... Je sais.

J'ai écrit un utilitaire que j'appelle fauxcon, qui transmet votre clavier (et bientôt votre souris) à la console d'un autre ordinateur dans lequel vous êtes connecté.

Cela vous permet de visualiser l'écran de votre RPi (par exemple) sur un téléviseur ou un moniteur, et de taper comme si vous étiez connecté à l'appareil physique avec un clavier.

Étant donné que tout dans ma maison est sans fil, il est plutôt agréable de s'asseoir sur le canapé avec un ordinateur portable et de taper, ce qui se produit sur grand écran sur le RPi.

Bienvenue,

fauxcon - Github - https://github.com/lornix/fauxcon

lornix
la source
1

J'étais dans une situation similaire et je ne voulais pas utiliser la synergie parce que j'exécutais déjà une synergie sur les ordinateurs auxquels je voulais envoyer le clavier et que X ne fonctionnait pas sur l'hôte. J'ai trouvé que uinput-mapper était la solution parfaite pour mon cas.

Github: https://github.com/MerlijnWajer/uinput-mapper

Mode d' emploi : http://blog.pi3g.com/2014/03/uinput-mapper-redirecting-keyboard-and-mouse-to-any-linux-system-using-a-raspberry-pi/

J'ai utilisé netcat au lieu de SSH car je ne suis pas trop inquiet pour la sécurité sur mon LAN et il semble intercepter le clavier avant de pouvoir taper votre mot de passe. Doit être exécuté en tant que root ou plus idéalement, juste avoir le privilège de jouer avec les périphériques d'entrée.

Sur l'ordinateur qui a besoin d'un clavier:

# nc -l -p 7005|./input-create 

Puis sur l'ordinateur avec le clavier:

# ./input-read -G /dev/input/eventX -D|nc 192.168.1.122 7005 

(où eventX est votre clavier et 192.XXX est l'ordinateur auquel vous envoyez le clavier)

Il n'y a eu aucun problème de vitesse et toutes les touches fonctionnent correctement. Je crois que cela fonctionne aussi avec les souris, mais je n'avais pas besoin de l'utiliser.

Pingouins55
la source