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 可以去下载免费版:https://xming.en.softonic.com/download
- Xshell 6个人免费版:https://www.netsarang.com/download/free_license.html
XMing安装 {#XMing安装}
- --> Mutiple windows
需要记住安装时的display number 为 0。
-
--> Start no client
-
-->Clipbard
建议勾选一个
no access control
可能会方便一些
- --> 完成
XMing配置 {#XMing配置}
这时还要设置IP充许,如果不设IP充许,将会被Xming拒绝而打不开:首先打开Xming安装文件夹找到 X*.hosts 文件(*号为上面Display Number 数字),如本例就是找到X0.hosts文件,打开并在localhost下面一行,添加Linux服务器的IP地址。 此处填需要被远程登录的服务器地址。
Xshell 6 安装 {#Xshell-6-安装}
没啥可说的,装就完了。
Xshell 6 配置 {#Xshell-6-配置}
- 设置用户身份认证,账号密码、ssh key都可以的
- 再SSH --> 隧道选项卡里设置
转发X11连接到
:X DISPLAY
:
此处的 0.0 可以设置为其他,记录下来和服务器端配置相当即可
远程配置 {#远程配置}
- X shell 登录远程服务器
- 设置DISPLAY:
本机IP为当前使用的计算机, 0.0 对应在X shell 中转发的 0.0
- 建议将该设置添加到
~/.bashrc
文件中
测试 {#测试}
此时可以用显示图形的应用测试是否配置成功,此处使用 xclock, xterm进行测试
- 安装 x11-apps
- 运行
- 安装 xterm
- 显示上述界面说明图形界面转发成功
- 如果报错可以尝试安装图形界再面试一下
参考资料 {#参考资料}
文章链接:
https://www.zywvvd.com/notes/system/linux/remote-linux-gui/remote-linux-gui/