zoukankan      html  css  js  c++  java
  • X11-forwarding

    1、为什么需要远程GUI服务

    当运行一些数据挖掘、机器学习或者仿真程序时,往往希望看到图表、统计结果、仿真效果图;当在交叉编译环境中,完成程序开发。如果这些程序或者开发环境安装在服务器中,而服务器处于性能和效率的原因没有安装图像化桌面,此时我们通过一些工具,实现远程使用GUI程序。

    2、原理介绍

    2.1 X协议

    Linux 本身是没有图形化界面的,图形化界面系统在 Linux 中只是一种应用程序。和 Windows 不同。Windows 图形界面是直接在系统内核中实现了(从 Windows 95 开始),是操作系统不可分割的一部分。目前,Linux 的图形化界面,底层都是基于 X 协议。

    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 的请求,在鼠标点击的位置,绘制并显示出一个圆。

    2.2 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 个版本。

    3、工具介绍

    3.1 MobaXterm

    MobaXterm 是一款开源、免费的、全功能终端软件。它与 PuTTY 类似,但却比 PuTTY 要强大得多,其中一个很实用的功能就是 MobaXterm 自带 X Server。
    本地机器采用 MobaXterm (自带 X server) 连接远程服务器。然后,在服务器上运行 GUI 程序 (即 X client),通过 SSH X11 Forwarding,转发到本地 (Windows 机器上的X Server)。

    3.2 Putty+Xming

    另外一种工具就是Putty+Xming,Putty相当于SSH+终端,但是还需要独立安装X Server,也就是程序Xming,当然他的工作原理和MobaTerm类似。

    Reference

    https://www.cnblogs.com/ipaomi/p/7830778.html
    http://blog.chinaunix.net/uid-30184041-id-4926167.html

  • 相关阅读:
    JAVA类和对象
    JAVA数组
    JAVA流程控制语句
    JAVA运算符
    JAVA数据类型-整数、浮点、字符串、boolean、引用数据类型
    JAVA变量
    JAVA文档注释的三种方式
    @Transactional注解失效的场景总结
    接口幂等性
    事务的四个特性、四种隔离级别和七种传播行为
  • 原文地址:https://www.cnblogs.com/wnwin/p/10941066.html
Copyright © 2011-2022 走看看