Weiterleiten von Maus- und Tastatureingaben an X-Sitzung

13

Ich greife über SSH auf meinen Pi zu.

Mein Netzwerk ist zu langsam, um den Desktop des Pi tatsächlich an meinen Laptop weiterzuleiten, sodass ein Monitor an meinen Pi angeschlossen ist. Wenn ich startxdurch Putty bin, sehe ich den Desktop auf meinem Pi. Alles ist gut.

Mit diesem Desktop kann ich jedoch nichts anfangen, da ich nur die Maus und die Tastatur meines Laptops habe.

Wie kann ich die Maus- und Tastatureingaben von meinem Laptop an den Desktop auf meinem Pi weiterleiten?

ACarter
quelle
Wenn Sie trotzdem einen Monitor anschließen, warum schließen Sie dann nicht eine Tastatur und eine Maus an? Normalerweise verwenden Sie ssh, wenn Sie keinen Zugriff auf den PI selbst haben.
Ash Burlaczenko
@Ash Ich habe keine Tastatur. Ich weiß, dass sie billig sind und alles, aber es würde es einfacher machen ...
31.
Wenn Sie nur eine einzige Tastatur und Maus haben, ist es möglicherweise sinnvoll, einen KVM-Switch zu erwerben, damit Sie hin und her gehen können.
Kibbee
Ich bin sicher, ich habe darüber schon einmal irgendwo geschrieben.
Jivings
@Kibbee Ich dachte, Sie könnten keinen KVM-Switch mit einem Laptop verwenden?
1.

Antworten:

11

Sie können ein großartiges Tool namens verwenden x2x. Dadurch wird der an das Remote-Gerät (den Raspberry Pi) angeschlossene Monitor im Wesentlichen als zweiter XBildschirm für Ihre vorhandene Sitzung behandelt, als wären zwei Monitore angeschlossen.

Installieren Sie x2xauf beiden Geräten:

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

SSH konfigurieren:

Bearbeiten /etc/ssh/sshd_configund kommentieren Sie auf dem Raspberry Pi die folgende Zeile:

X11Forwarding yes

Starten Sie dann den sshServer neu.

SSH auf den Pi von Ihrem anderen Gerät und führen Sie Folgendes aus x2x:

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

Ersetzen Sie die IP durch die Adresse Ihres Raspberry Pi.

Jetzt sollten Sie in der Lage sein, die Maus zwischen den beiden X-Sitzungen zu bewegen, indem Sie die Maus vom Bildschirm nach rechts (Osten) bewegen.

Jivings
quelle
Wenn ich dies sowohl unter Windows als auch unter Ubuntu mache, erhalte ich eine ähnliche Fehlermeldung wie x2x - error: can not open display :0. Ich habe x2x auf dem Pi und Ubuntu installiert und SSH ist auf dem Pi eingerichtet.
1.
@ACarter Ich glaube nicht, dass Sie Windows einbinden können (es sei denn, Sie verwenden xming), da an jedem Ende eine X-Sitzung ausgeführt werden muss.
Jivings
Muss ich dann die X-Sitzung unter Ubuntu explizit starten?
1.
@ACarter Ja, die Verbindung wird als Erweiterung Ihrer vorhandenen X-Sitzung behandelt.
Jivings
1
@ACarter Das tut mir leid. Es könnte etwas mit der DISPLAYVariablen zu tun haben . Versuchen Sie, echo $DISPLAYein Terminal einzugeben, und ersetzen Sie :0den x2xBefehl in durch diese Ausgabe.
Jivings
10

Synergie kann das ganz gut

Mit Synergy können Sie Ihre Maus und Tastatur ganz einfach auf mehrere Computer auf Ihrem Schreibtisch verteilen. Es ist kostenlos und Open Source. Bewegen Sie einfach Ihre Maus von der Kante eines Computerbildschirms auf einen anderen. Sie können sogar alle Ihre Zwischenablagen freigeben. Sie benötigen lediglich eine Netzwerkverbindung. Synergy ist plattformübergreifend (funktioniert unter Windows, Mac OS X und Linux).

John La Rooy
quelle
Wie hast du es für den Pi gebaut?
HeatfanJohn
@HeatfanJohn, Raspbian hat es im Repo
John La Rooy
Ah, sudo apt-get install synergy... cool!
HeatfanJohn
4

Eine schnelle Google führte mich schließlich hierher und nach einem kurzen Test funktionierte dies für mich.

Kurz gesagt, Sie müssen xrdp einrichten

sudo apt-get install xrdp

Nach der Installation wird der rdp-Dienst so eingestellt, dass er beim Booten startet. Starten Sie also Ihr RPi neu. Wenn Ihr RPi fertig gebootet ist, können Sie über die in Windows integrierte Remotedesktopanwendung (oder eine andere Remotedesktopanwendung eines Drittanbieters) eine Verbindung zu Ihrem RPi herstellen.

Ash Burlaczenko
quelle
Vielen Dank für Ihre Antwort, das ist eine nette Remote-Lösung, aber die Idee ist, dass ich den Desktop auf dem Bildschirm sehe, der mit dem Pi verbunden ist, aber ich kann über die Tastatur meines Laptops auf diesen Desktop zugreifen.
1.
1

Alter Thread ... ich weiß.

Ich habe ein Hilfsprogramm geschrieben fauxcon, das Ihre Tastatur (und bald auch Ihre Maus) an die Konsole eines anderen Computers weiterleitet, auf den Sie zugreifen möchten.

Auf diese Weise können Sie die Anzeige Ihres RPi (z. B.) auf einem Fernseher oder Monitor anzeigen und eingeben, als wären Sie mit einer Tastatur am physischen Gerät angemeldet.

Wenn man bedenkt, dass alles in meinem Haus drahtlos ist, ist es ziemlich ordentlich, mit einem Laptop auf der Couch zu sitzen und zu tippen, um zu sehen, wie es auf dem großen Bildschirm des RPi passiert.

Feedback erwünscht,

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

Lornix
quelle
1

Ich befand mich in einer ähnlichen Situation und wollte Synergie nicht nutzen, da ich bereits Synergie auf den Computern ausführte, an die ich die Tastatur senden wollte, und X nicht auf dem Host ausgeführt werden konnte. Ich fand, dass uinput-mapper die perfekte Lösung für meinen Fall ist.

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

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

Ich habe netcat anstelle von SSH verwendet, da ich mir keine Sorgen um die Sicherheit in meinem LAN mache und es scheint, als würde es die Tastatur abfangen, bevor Sie Ihr Passwort eingeben können. Muss als root ausgeführt werden oder im Idealfall nur das Recht haben, mit Eingabegeräten zu spielen.

Auf dem Computer, der eine Tastatur benötigt:

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

Dann auf dem Computer mit der Tastatur:

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

(wobei eventX Ihre Tastatur und 192.XXX der Computer ist, an den Sie die Tastatur senden)

Es gab keine Geschwindigkeitsprobleme und alle Tasten funktionieren korrekt. Ich glaube, es funktioniert auch mit Mäusen, aber ich musste das nicht benutzen.

Pinguine55
quelle