将鼠标和键盘输入转发到X会话


13

我正在通过SSH访问我的Pi。

我的网络太慢,无法将Pi的桌面实际转发回我的笔记本电脑,因此我的显示器已连接到Pi。当我startx通过腻子时,我在Pi上看到了桌面。一切都很好。

但是,我无法在此台式机上做任何事情,因为我只拥有笔记本电脑的鼠标和键盘。

如何将鼠标和键盘输入从笔记本电脑转发到Pi上的台式机?


如果仍要连接显示器,为什么不连接键盘和鼠标呢?当您无权访问PI本身时,通常使用ssh。
Ash Burlaczenko

@Ash我没有键盘。我知道它们很便宜,但一切都会使它变得更容易...
ACarter 2012

如果只有一个键盘和鼠标,则可以使用KVM切换器来回切换。
Kibbee

我敢肯定,我之前已经写过有关此的文章。
Jivings

@Kibbee我以为您不能在笔记本电脑上使用KVM切换器?
ACarter 2013年

Answers:


12

您可以使用名为的出色工具x2x。这实际上将连接到远程设备(Raspberry Pi)的监视器作为X您现有会话的第二个屏幕,就好像您连接了两个监视器一样。

x2x在两个设备上安装:

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

配置SSH:

在Raspberry Pi上,编辑/etc/ssh/sshd_config并添加/取消注释以下行:

X11Forwarding yes

然后重新启动ssh服务器。

从其他设备SSH到Pi并运行x2x

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

用Raspberry Pi的地址替换IP。

现在,您应该可以通过将鼠标从屏幕右移(向东)来在两个X会话之间移动鼠标。


在Windows和Ubuntu上执行此操作时,出现类似于的错误x2x - error: can not open display :0。我已经在Pi和Ubuntu上安装了x2x,并且在Pi上设置了SSH。
ACarter 2013年

@ACarter我不认为您可以参与Windows(除非您使用xming),因为它需要在两端运行X会话。
Jivings 2013年

那我是否需要在Ubuntu上显式启动X会话?
ACarter 2013年

@ACarter是的,它将连接视为您现有 X会话的扩展。
Jivings

1
@ ACarter,对此我感到抱歉。这可能与DISPLAY变量有关。尝试打字echo $DISPLAY在终端和替换:0x2x与该输出命令。
Jivings

10

协同作用可以很好地做到这一点

Synergy使您可以轻松地在桌上的多台计算机之间共享鼠标和键盘,并且它是免费的和开源的。只需将鼠标从一台计算机的屏幕边缘移到另一台计算机的屏幕上即可。您甚至可以共享所有剪贴板。您只需要一个网络连接。Synergy是跨平台的(可在Windows,Mac OS X和Linux上运行)。


您是如何为Pi制作的?
HeatfanJohn

@ HeatfanJohn,raspbian在回购中拥有它
John La Rooy

啊,sudo apt-get install synergy好酷!
HeatfanJohn

4

一个快速的Google最终将我到了这里,经过快速测试后,这对我有用。

简而言之,您需要设置xrdp

sudo apt-get install xrdp

安装完成后,它将把rdp服务设置为在启动时启动,因此请重新启动RPi。RPi完成启动后,您将可以通过Windows内置(或任何其他第三方)远程桌面应用程序连接到RPi。


感谢您的回答,这是一个很好的远程解决方案,但是我的想法是我在屏幕上看到连接到Pi的桌面,但是我可以从笔记本电脑的键盘输入该桌面。
ACarter 2013年

1

旧线程...我知道。

我编写了一个名为的实用程序fauxcon,它将您的键盘(很快,鼠标)转发到您要插入的另一台计算机的控制台。

这样,您就可以在电视或监视器上查看RPi的显示(例如),并像键入使用键盘登录物理设备一样进行键入。

考虑到我家中的所有东西都是无线的,坐在笔记本电脑上的沙发上然后打字就很整洁了,因为它出现在RPi的大屏幕上。

欢迎反馈,

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


1

我当时处于类似情况,并且不想使用协同作用,因为我已经在要向其发送键盘的计算机上运行了协同作用,并且主机上没有运行X。我发现uinput-mapper是我的案例的完美解决方案。

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

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

我使用netcat而不是SSH,因为我不太担心LAN上的安全性,并且在输入密码之前,它似乎会拦截键盘。必须以root身份运行,或更理想的情况是必须具有与输入设备配合使用的特权。

在需要键盘的计算机上:

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

然后在计算机上使用键盘:

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

(其中eventX是您的键盘,而192.XXX是您要将键盘发送到的计算机)

它没有速度问题,所有键均正常工作。我相信它也可以与鼠标一起使用,但是我不需要使用它。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.