什么是X11-Forwarding

1 篇文章 0 订阅
59 篇文章 1 订阅

一、问题描述

当我们使用MobaXterm连接远程服务器,连接成功页面显示几个列表,其中包括X11-Forwarding,并且显示服务器禁用。那么它到底是什么东西呢?
img

二、什么是X11(X协议原理简介)

Linux 本身是没有图形化界面的,所谓的图形化界面系统只不过中 Linux 下的应用程序。这一点和 Windows 不一样。Windows 从 Windows 95 开始,图形界面就直接在系统内核中实现了,是操作系统不可或缺的一部分。Linux 的图形化界面,底层都是基于 X 协议。

2.1.X 协议由 X server 和 X client 组成:

  1. X server 管理主机上与显示相关的硬件设置(如显卡、硬盘、鼠标等),它负责屏幕画面的绘制与显示,以及将输入设置(如键盘、鼠标)的动作告知 X client。
  2. X client (即 X 应用程序) 则主要负责事件的处理(即程序的逻辑)。

2.2.案例说明

举个例子,如果用户点击了鼠标左键,因为鼠标归 X server 管理,于是 X server 就捕捉到了鼠标点击这个动作,然后它将这个动作告诉 X client,因为 X client 负责程序逻辑,于是 X client 就根据程序预先设定的逻辑(例如画一个圆),告诉 X server 说:“请在鼠标点击的位置,画一个圆”。最后,X server 就响应 X client 的请求,在鼠标点击的位置,绘制并显示出一个圆。

三、什么是X11 Forwarding

许多时候 X server 和 X client 在同一台主机上,这看起来没什么。但是, X server 和 X client 完全可以运行在不同的机器上,只要彼此通过 X 协议通信即可。

于是,我们就可以做一些“神奇”的事情,在本地显示 (X server)运行在服务器上的 GUI 程序 (X client)。这样的操作可以通过 SSH X11 Forwarding 来实现。X11 中的 X 指的就是 X 协议,11 指的是采用 X 协议的第 11 个版本

X11 Forwarding

3.1.X11 Forwarding

有了X11 Forwarding,通过SSH连接并运行Linux上有GUI的程序,就像是在Windows下运行GUI程序一样方便。很多时候,这样的机制可以方便有图形显示的程序的调试。但是要实现X11 Forwording,需要具备X Server的SSH客户端,推荐使用MobaXTerm软件,默认就带X Server程序,免费的非常好用。

X Client部分,要安装一下软件包,要打开SSH的配置文件,将X11Forwarding修改为Yes。

四、远程执行图形化程序

1.Linux服务器安装X11-Forwarding的支持,以及一个图形化小软件xclock。

yum install  xorg-x11-xauth xorg-x11-fonts-* xorg-x11-font-utils xorg-x11-fonts-Type1 xclock -y

image-202101290019577322.打开mobaxterm,连接服务器。

img

虽然安装了支持,但是我们ssh还没有启用x11-forwarding的功能。

3.在/etc/ssh/sshd_config里,将X11Forwarding改为yes

image-20210129001326754

4.重启sshd服务

systemctl restart sshd

5.重连服务器

X11-forwading开启成功

image-20210128235535822

6.远程开启图形化程序 xclock

xclock
image-20210129002148751

7.远程开启图形化程序 firefox-浏览器

firefox
image-20210129002518859

以上,请参考!


参考链接

  1. 什么是X11 Forwarding?
  2. X协议原理简介
  3. 使用X11-Forwarding,远程执行图形化程序
  • 11
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
您好!您想了解如何在使用SSH进行远程登录时启用X11转发,并在远程服务器上打开GUI应用程序。以下是在Linux和macOS上进行此操作的步骤: 1. 首先,在您的本地计算机上打开终端窗口并使用SSH登录到远程服务器: ``` ssh username@remote.server.com ``` 这将建立一个安全的SSH连接并将您登录到远程服务器的命令行界面。 2. 启用X11转发选项。在连接命令中添加"-X"参数,如下所示: ``` ssh -X username@remote.server.com ``` 这将启用X11转发选项,允许您在远程服务器上运行GUI应用程序并将其显示在您本地计算机的屏幕上。 3. 在远程服务器上安装GUI应用程序(如果尚未安装)。例如,要安装Firefox浏览器,请使用以下命令(对于Ubuntu和Debian Linux系统): ``` sudo apt-get update sudo apt-get install firefox ``` 4. 在远程服务器上启动GUI应用程序。例如,要在远程服务器上启动Firefox,请使用以下命令: ``` firefox & ``` 注意,"&"符号将应用程序启动到后台,以便您可以继续在终端窗口上使用命令行。 5. 应用程序现在应该在您本地计算机的屏幕上显示。如果应用程序未显示出来,则可能X11 forwarding 是一种远程连接协议,它可以允许用户在本地计算机上运行远程服务器上的图形界面程序。当你使用 SSH 连接到远程服务器时,可以启用 X11 forwarding 选项,这样远程服务器上的图形界面程序就可以显示在你本地计算机的窗口中。 要启用 X11 forwarding 选项,可以在使用 SSH 连接到远程服务器时使用 -X 选项,例如: ``` ssh -X user@remote_server ``` 在连接成功后,可以在远程服务器上打开任何图形界面程序,并且它们将显示在你本地计算机的窗口中。 要打开一个图形界面程序,只需在终端中输入程序名称即可,例如: ``` firefox ``` 这将在远程服务器上启动 Firefox 浏览器,并将其显示在你本地计算机的窗口中。 希望这可以帮助你理解如何在使用 X11 forwarding 时在远程服务器上打开图形界面程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

投身大海的魚

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值