X11 Forwarding的使用

SSH的X11 Forwarding功能提供了一个非常好的方法,在你的本地主机上执行远程主机的GUI程序。

原理:
X 协议由 X server 和 X client 组成:
X server 管理主机上与显示相关的硬件设置(如显卡、硬盘、鼠标等),它负责屏幕画面的绘制与显示,以及将输入设置(如键盘、鼠标)的动作告知 X client。
X client (即 X 应用程序) 则主要负责事件的处理(即程序的逻辑)。
举个例子,如果用户点击了鼠标左键,因为鼠标归 X server 管理,于是 X server 就捕捉到了鼠标点击这个动作,然后它将这个动作告诉 X client,因为 X client 负责程序逻辑,于是 X client 就根据程序预先设定的逻辑(例如画一个圆),告诉 X server 说:“请在鼠标点击的位置,画一个圆”。最后,X server 就响应 X client 的请求,在鼠标点击的位置,绘制并显示出一个圆。

使用方法:
1. ssh -X xxx.xxx.xxx.xxx
xxx为远程机器ip地址, -X参数为开启ForwardX11功能
2. 使用MobaXterm
MobaXterm 自带 X Server
3. 其他远程工具
比如putty、SecureCRT,需要配置一下
putty: Connection->X11->Enable X11 forwarding
SecureCRT:Connection->Port Forwarding->Remote/X11->选中Forward X11 Packets

验证:
xclock
如果启动时钟界面失败,检查ssh配置
/etc/ssh/sshd_config
X11Forwarding Yes
修改完成后重启ssh服务
sudo service ssh restart

Tags: