通过SSH将按键发送到远程X会话


13

因此,我坐在一台Ubuntu笔记本电脑上的客厅里,同时还观看了由Ubuntu HTPC控制的电视。我有一个红外遥控器,可以在99%的时间内使用它进行控制。

但是,在遥控器上输入文本不是很容易。我不需要经常这样做,但是当我这样做时,步行15英尺以插入USB键盘并以这种方式进行会比较容易。但是...我在犯罪和医疗上都很懒惰,觉得步行到任何距离都不仅仅是不必要的,这表明他们赢得了机器人。我不再说了!

我可以通过SSH进入HTPC,现在...如何将按键发送到该远程计算机的X会话?

我应该提一下,我知道我可以使用VNC,但是电视的分辨率为1080p,笔记本电脑的分辨率为720p,因此这会带来一些缩放问题。从技术的角度来看,我宁愿有一个解决方案,该解决方案为我提供了一种将笔记本电脑临时变成远程键盘的方法。


我比你还懒。除了配置IR遥控器(我什至没有买!)之外,我还购买了Trust无线键盘
MadMike 2013年

Answers:


14

xdotool在指定了适当的X显示后,您应该能够使用该命令执行此操作,例如模拟当前活动窗口中的单个“向下箭头”按下

$ DISPLAY=:0 xdotool getactivewindow key Down

为了输入文字,可以使用xdotool type <string>例如

$ DISPLAY=:0 xdotool getactivewindow type 'your text here'

xdotool软件包应该可以从Universe存储库中获得。


我不否认它的工作原理,但是如果您想一次在一个网络位置键入一个键,那会有些痛苦。
奥利(Oli)

3
您可以使用xdotool type原样发送完整的字符串-参见上面的编辑。
钢铁司机

10

通过使用x2x和一些X11转发,我开始使用它。

ssh -X htpc x2x -to :0

当前唯一的缺点是我不得不陷入TTY中以杀死SSH才能退出它。仍在寻找完成后如何退出!否则,这是一种将输入从一台计算机传输到另一台计算机的不错,简单(和可快捷方式)的方法。

编辑:添加-nomouse使我能够关闭转发的x2x窗口,并且我可以使它失去焦点以快速返回其他内容,而无需关闭连接。


-nomouse似乎不再工作了;对我来说,在ubuntu 16.04 x2x下,无论我在哪个位置放置该标志,它都只会显示使用情况信息。
菲利普·路德维希
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.