Windows Xming + Xshell 实现远程 linux gui 界面本地展示

本文最后更新于:2021年12月11日 上午

Windows 远程登录服务器后,由于是使用终端远程登录,并且远程服务器没有图形界面,显示图像很不方便。本文记录使用 Xming +Xshell 6 实现远程打开Linux界面的方法。

基本环境

  • 本地电脑系统:window10

  • 远程服务器系统:Ubuntu16.04

实现思路

  • 服务器没有图形界面,但是相应显示的信息事实上是可以生成的,需要使用X11将该显示转发到其他可以显示的计算机,再由该计算机进行显示。

  • X 协议由 X server 和 X client 组成(这里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 的请求,在鼠标点击的位置,绘制并显示出一个圆。

工具下载安装与配置

XMing安装

  • –> Mutiple windows

需要记住安装时的display number 为 0。

  • –> Start no client

  • –>Clipbard

建议勾选一个 no access control可能会方便一些

  • –> 完成

XMing配置

这时还要设置IP充许,如果不设IP充许,将会被Xming拒绝而打不开:首先打开Xming安装文件夹找到 X*.hosts 文件(*号为上面Display Number 数字),如本例就是找到X0.hosts文件,打开并在localhost下面一行,添加Linux服务器的IP地址。

1
2
3
4
localhost
192.168.10.2
192.168.10.3
192.168.10.4

此处填需要被远程登录的服务器地址。

Xshell 6 安装

没啥可说的,装就完了。

Xshell 6 配置

  • 设置用户身份认证,账号密码、ssh key都可以的
  • 再SSH --> 隧道选项卡里设置转发X11连接到X DISPLAY:
1
localhost:0.0

此处的 0.0 可以设置为其他,记录下来和服务器端配置相当即可

远程配置

  • X shell 登录远程服务器
  • 设置DISPLAY:
1
export DISPLAY=本机IP地址:0.0 

本机IP为当前使用的计算机, 0.0 对应在X shell 中转发的 0.0

  • 建议将该设置添加到 ~/.bashrc 文件中

测试

此时可以用显示图形的应用测试是否配置成功,此处使用 xclock, xterm进行测试

  • 安装 x11-apps
1
2
3
apt-get install x11-apps
#
yum install xorg-x11-apps*
  • 运行
1
xclock

  • 安装 xterm
1
apt-get install xterm

  • 显示上述界面说明图形界面转发成功
  • 如果报错可以尝试安装图形界再面试一下
1
apt-get install xserver-xorg x11-xserver-utils

参考资料