【服务器】本地安装X11 服务器-Windows
- X11 服务器概述
- X Window System 简介
- 本地安装X11 服务器
- 另:采用 MobaXterm (自带 X server) 连接远程服务器
- 简单说明流程:
- 参考
X11 服务器概述
X11 服务器 是 X Window System(简称 X11 或 X)架构中的一个关键组件,用于在图形用户界面(GUI)环境中绘制窗口、处理输入事件(如鼠标和键盘操作)并显示图形内容。它通常用于类 Unix 系统(如 Linux 和 BSD),但也可以在 Windows 和 macOS 系统上通过额外的软件安装来实现。
X Window System 简介
X Window System 是一种网络透明的图形显示系统,它允许应用程序通过网络向远程计算机发送图形操作命令,并在本地显示这些图形界面。X11 是这一系统的第11个版本,因此通常被称为 X11。
1、X11 的网络透明性
X11 的一个重要特性是网络透明性。它允许你在一台计算机上运行图形化的应用程序,但将其图形界面通过网络显示在另一台计算机上。
- X 客户端:运行图形应用程序的计算机,称为 X 客户端。它负责生成图形界面的内容,并通过网络将这些内容发送给 X 服务器。
- X 服务器:负责显示图形界面并处理输入设备(如鼠标和键盘)。X 服务器 可以运行在本地,也可以运行在远程计算机上,通过网络接收来自 X 客户端 的图形请求。
2、X11 服务器的作用
X11 服务器 负责在用户的计算机上显示图形界面,并处理输入设备(如键盘和鼠标)的操作。它接收来自 X 客户端 的图形请求,将这些请求转换为实际的图形显示操作,并将用户的输入传递回 X 客户端。在 X11 模型中,服务器和客户端的角色可能与其他计算模型中的定义稍有不同:
- X11 服务器:运行在用户的本地计算机上,负责显示图形界面。
- X11 客户端:运行在远程服务器上,负责生成图形操作的应用程序(例如 ncview、Matplotlib 等图形应用)。
3、X11 服务器的工作流程
假设你正在通过 SSH 从本地计算机连接到远程服务器,并希望在远程服务器上运行一个图形化应用(如 ncview)。此时,X11 系统的工作流程如下:
- 客户端(远程服务器):你在远程服务器上启动一个图形化应用程序,应用程序生成图形请求。
- 通过网络转发:这些图形请求通过 SSH X11 转发 被发送到你本地的计算机。
- 服务器(本地计算机):你的本地计算机上运行着 X11 服务器,它接收来自远程应用程序的图形请求,并在本地显示这些图形。
- 用户输入:本地输入设备(鼠标、键盘)的操作被发送回远程 X 客户端,使得远程应用程序能够根据用户输入进行交互。
本地安装X11 服务器
如果你在 Windows 或 macOS 上连接远程服务器,你需要在本地安装一个 X11 服务器 来显示远程的图形界面。
1、Windows 用户:推荐安装 Xming 或 VcXsrv 作为 X11 服务器。
Windows 系统本身不支持 X11,但可以通过安装第三方 X11 服务器来实现对远程 X 客户端 的支持。常见的 X11 服务器 实现包括:
- Xming 下载链接
- VcXsrv 下载链接
安装完成后,启动 Xming 或 VcXsrv,然后通过 SSH 带 -X 或 -Y 选项连接到远程服务器。
2、macOS 用户:可以安装 XQuartz,这是 macOS 上的 X11 服务器。
- XQuartz 下载链接
安装并启动 XQuartz,然后通过终端使用 ssh -X 或 ssh -Y 连接远程服务器。
另:采用 MobaXterm (自带 X server) 连接远程服务器
如果你在本地使用 MobaXterm 来连接远程服务器,并且已经通过 SSH X11 Forwarding 进行连接,那么你不需要额外下载和安装其他的 X11 服务器。这是因为 MobaXterm 本身已经自带了一个集成的 X11 服务器,可以直接用来显示从远程服务器转发过来的图形界面。
简单说明流程:
**1、MobaXterm 的 X11 服务器:**MobaXterm 内置了一个 X11 服务器,因此它可以自动处理从远程服务器转发过来的图形界面,无需额外安装 Xming、VcXsrv 或其他 X11 服务器。
**2、启用 X11 Forwarding:**当你通过 MobaXterm 使用 SSH 连接远程服务器时,默认情况下,X11 Forwarding 是启用的。如果没有特殊配置问题,这意味着你可以直接在远程服务器上启动图形化应用程序(如 ncview),并在本地显示其界面。
3、检查 X11 Forwarding 是否启用:
- 在 MobaXterm 中,默认已经启用了 X11 Forwarding。但你可以在连接时确认这一点:
- 在 MobaXterm 中,点击 Session > SSH,然后确保 X11-Forwarding 选项被勾选。
连接后,你可以通过以下命令检查 DISPLAY 变量是否已正确设置:
echo $DISPLAY
如果 X11 Forwarding 正常工作,你会看到类似 localhost:10.0 这样的输出,这意味着远程服务器的图形会通过 SSH 转发到本地的 MobaXterm 中显示。
4、运行图形化应用:
连接到远程服务器后,你可以直接运行图形化的程序(比如 ncview、xclock 等),它们的图形界面会显示在本地的 MobaXterm 窗口中。
ncview myfile.nc
如果一切正常,ncview 的图形窗口会在本地的 MobaXterm 上显示。
参考
1、博客园-远程显示(操作) 服务器 GUI 程序(图形化界面) (基于 X11 Forwarding + Centos + MobaXterm)