在 windows 下使用 Xming+Putty 显示 Linux 下软件图形界面

 

From: http://www.blogjava.net/ivanwan/archive/2012/04/26/376670.html

From: http://www.bubuko.com/infodetail-807886.html

 

 

安装 Xming 和 Putty

 

        看 Wiki 系统地了解了一下 X Window System。X Window System(常被简称为X11或X),是一套基于X display protocol的windowing system,X GUI环境的功能包括窗口的绘制、移动,以及与鼠标、键盘等输入设备的交互。X 协议当前版本为MIT在1987年9月制定的11版----这就是X11的来历,最新版则是2008年9月发布的X11R7.4。
        X采用C/S模型:一个X server 和多个应用程序(client)通信。server接收client的请求绘制窗口,并将来自鼠标、键盘等设备的输入传递给client。
        初学X的用户经常被描述如何远程使用Linux GUI环境的文档搞糊涂:Linux主机上的应用程序被称为client,而用户终端计算机被称为server,看上去好像说反了。实际上,X是从程序结构而非用户或硬件环境的角度来描述的,在用户终端上工作的X server为应用程序提供服务,所以被看作server,而Linux主机上的应用程序接受服务,所以被看作client。
        X server和client可以位于同一计算机上,例如在Linux主机上使用KDE等桌面环境就是这种模式。X server也可以通过同构网络、异构网络或Internet与client通信。
        X server与client之间的通信是不加密的,这个问题可以通过SSH解决。SSH是Secure Shell的简称,SSH可以看作是通信被加密压缩版的telnet。我需要用到SSH的forwarding功能,当X server与client所在计算机都支持SSH协议时,X server与client之间不安全的TCP/IP连接可以转送到(forwarding)二者之间建立的SSH连接上。

        Xming是一个在Microsoft Windows操作系统上运行X Window System(也常称为X11或X X的工作站)的自由软件,可用于在Windows运行Linux的程序(需要在本地Windows上运行一个X Server,即是本程序)。
        Linux 以及各种Unix like的操作系统现在都用基于X Window图形界面。但是由于体积臃肿导致在Linux运行3D游戏十分困难。但是得益于其接口良好、扩展性和可移植性优秀的特点(重要的是具有网络透 明性),利用它可以很方便的远程启动Linux的图形程序。

        说了一堆概念,现在可以挽起袖子干活了。

        Linux主机(A, IP: 192.168.1.201)

        Windows客户机(B, IP: 192.168.1.101)

        现在做的就是在 B 上安装一个X server,一个SSH客户端,在A上启用SSH的X11 forwarding。

X server我选择的是Xming,这是一个免费的windows平台上的X server。需要安装两个组件,主程序和字体
Xming X server, Xming-6-9-0-31-setup.exe
Xming Fonts, Xming-fonts-7-3-0-22-setup.exe

 

Xming 用OpenGL展示界面 
Xming-fonts 标准X字体,部分传统的X应用的显示也需要这些字体 
Xming-mesa 用更慢的Mesa展示界面, 有时X转发会更好 
Xming-portable-PuTTY 提供X界面转发ssh程序 
Xming-tools-and-clients 提供一些X应用专用的工具 

 

通过SSH来使用Xming

 

  • 1) 保证Linux server中 /etc/ssh/sshd_config 
X11Forwarding yes 
  • 2) Putty 中 X11 forwarding: 

Putty Configuration-->Preffered SSH protocal version->SSH版本是2. 
Connection-->SSH-->X11-->Enable X11 forwarding,X display location填上localhost:0,下面的协议选择MIT-Magic-Cookie-1. 

  • 3) windows下起linux下的图形界面 

启动Xming,"Display number"中的数字,使用默认的0. 
使用 Putty 连接 Linux server,在 putty 终端下运行 
set DISPLAY=10.160.13.229:0(注意:这里IP是Xming安装程序所在的主机的IP地址,即:X Server的IP地址,这里就是你的windows 的地址,X Client 是 linux 服务器 ) 

(DISPLAY 环境变量格式如下hostname: displaynumber.screennumber,我们需要知道,在某些机器上,可能有多个显示设备共享使用同一套输入设备,例如在一台PC上连接 两台CRT显示器,但是它们只共享使用一个键盘和一个鼠标。这一组显示设备就拥有一个共同的displaynumber,而这组显示设备中的每个单独的设 备则拥有自己单独的 screennumber。displaynumber和screennumber都是从零开始的数字。这样,对于我们普通用户来说, displaynumber、screennumber就都是0。 
hostname 指 Xserver 所在的主机主机名或者ip地址, 图形将显示在这一机器上, 可以是启动了图形界面的Linux/Unix机器, 也可以是安装了Exceed, X-Deep/32等Windows平台运行的Xserver的Windows机器.如果Host为空, 则表示Xserver运行于本机, 并且图形程序(Xclient)使用unix socket方式连接到Xserver, 而不是TCP方式. 
使用TCP方式连接时, displaynumber为连接的端口减去6000的值, 如果displaynumber为0, 则表示连接到6000端口; 
使用unix socket方式连接时则表示连接的unix socket的路径,如果displaynumber为0, 则表示连接到/tmp/.X11-unix/X0 . 
creennumber则几乎总是0. ) 

然后运行gvim,发现 linux下的 gvim 显示在你的 windows 桌面上了。 


如果出现: 

Xlib: connection to "10.160.13.229:0.0" refused by server Xlib: No protocol specified 
在右下角点击Xming server的view log,发现有如下消息 
AUDIT: ... Xming: client 4 rejected from IP 10.160.23.18 
这个10.160.23.18正是 linux server 的地址 

 

解决办法: 

右键桌面上的Xming图标,修改Xming的命令,取消权限控制,使用 -ac 选项: 
C:\Program Files\XMing\Xming.exe :0 -clipboard -multiwindow -ac 
然后启动 Xming,发现可以在windows下显示linux的图形界面了。

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/496585.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql存储过程参数与属性同名问题_存储过程中参数与表名相同的二义性问题

写了一个很简单的存储过程,发现执行了,但是表的数据没有改变,存储过程如下:procedure sp_upd_update_jsgl(mc in varchar2,--名称sm in varchar2--说明)isbeginupdate jsgl set smsm where mc mc ;endwhere后面的名称执行的时候mc…

2017美国人工智能和机器学习行业种子投资首次下降

来源:199IT互联网数据中心根据Crunchbase的数据,风险投资对机器学习和人工智能的热情已经开始趋于平静,至少在美国是这样。但这可能并不是一件坏事。尽管人工智能和机器学习成为学术研究的热点领域已经有数十年了,但是尚未成为风险…

Java加密与解密的艺术~AES实现

AES算法成为DES算法的替代者,其实现也成为其他对称加密算法实现的参考模型。 AES 实现 /*** 2009-10-5*/ package org.zlex.chapter07_3;import java.security.Key;import javax.crypto.Cipher; import javax.crypto.KeyGenerator; import javax.crypto.SecretKey;…

AUTOSAR从入门到精通-存储配置(NvM)(二)

目录 前言 原理 NVM与其他模块之间的关联 NVM的组成 Block的三种管理类型 NV Block与RAM Block之间的数据同步(读出与写入) NvRam Block与Nv Block的mapping接口

利用多核多线程进行程序优化

利用多核多线程进行程序优化2008 年 11 月 17 日 大家也许还记得 2005 年 3 月 C 大师 Herb Sutter 在 Dr.Dobb’s Journal 上发表了一篇名为《免费的午餐已经结束》的文章。文章指出:现在的程序员对效率、伸缩性、吞吐量等一系列性能指标相当忽视,很多性…

DOS 批处理

From: http://www.jb51.net/article/97204.htm From: http://www.92to.com/bangong/2016/04-08/2998914.html 百度文库:目前为止最全的批处理教程 批处理经典入门教程 批处理的本质,是一堆DOS命令按一定顺序排列而形成的集合。 批处理,也称…

python range 步长为负数_Python入门第7课,循环结构学习,for语句range函数的3种用法...

上课前,大陈带领学生们一起回顾和梳理前面学过的知识。体验课,Python与人工智能初体验。第1课,输出语句及赋值语句。第2课,输入语句学习。第3课、第4课,学习条件控制if语句。第5课、第6课,阶段练习及讲解。…

机器学习,就用Python!五大专家详解其优势何在

编译 :AI科技大本营(公众号ID:rgznai100)那么,为什么 Python 语言在机器学习领域会如此受欢迎?Python 领域资深专家 Mike Driscoll 组织了一次访谈会,邀请了五位 Python 专家和机器学习社区人士…

WinCE 5.0 virtual memory space

要深入了解WinCE的memory结构,就不得不在这里先画个virtual memory space的图。这个图是针对WinCE 5.0的。由于WinCE 6的结构做了很大变化,关于WinCE 6的内容将在以后介绍。 关于这个图的来源,有两点要说明。其一,绘制这个图的…

硬件安全 (1) —— SHA-1算法在FPGA上的实现

SHA-1 算法在FPGA上的实现 - 1 背景介绍 散列函数(英语:Hash function)又称散列算法、哈希函数,是一种从任何一种数据中创建小的数字“指纹”的方法。散列函数把消息或数据压缩成摘要,使得数据量变小,将数…

Java加密与解密的艺术~RSA模型分析

我们仍以甲乙两方收发消息为例。为完成加密消息传递,甲乙双方需要以下操作: 1)、由消息发送方(甲方)构建密钥对。 2)、由消息发送方(甲方)公布公钥至消息接收方(乙方&…

jmp连mysql_令人迷惑的ATT的jmp:直接跳转和间接跳转 [转]

最近看链接器源码中,对位置无关代码PIC(共享库)的链接问题,发现对call和jmp很多不常用的用法,这里试验并总结了一下各种用法。我们最常用的jmp形式,就是 jmp后面跟个标签!这个没什么可说的!假如标签叫做myl…

区分关联、依赖和聚集关系

在建立对象模型时,很容易把依赖、关联和聚集关系混淆。当对象A和对象B之间存在依赖、关联或聚集关系时,对象A都有可能调用对象B的方法,这是三种关系之间的相同之处,除此之外,它们有着不同的特征。 1.依赖关…

MarkDown 语法手册

From: https://blog.csdn.net/witnessai1/article/details/52551362 From: http://www.jianshu.com/p/1e402922ee32/ 菜鸟教程:Markdown 教程:https://www.runoob.com/markdown/md-tutorial.html Markdown 语法手册:https://www.zybuluo.com…

硬件安全(1)—— SHA-1算法在FPGA上的实现-2

SHA-1算法在FPGA上的实现-2 在上一篇文章中&#xff0c;我详细介绍了SHA-1算法的计算过程。SHA-1算法主要由消息填充(Message Padding)和哈希计算(Hash Function Engine)两部分组成。消息块标准长度规定为512bits一组。消息填充在实现过程中需要区分长度不足一个消息块( < …

Mysql -uroot -p 登陆不上_mysql的登陆和退出命令格式

mysql登陆的命令格式为&#xff1a;mysql -h [hostip] -u [username] -p [password] [database]1.普通登陆mysql数据库命令格式&#xff1a;mysql -u 用户名 -p 密码&#xff0c;例如: mysql -u root -p root如果在-p后没有提供密码&#xff0c;则会在执行命令后要求用户输入密…

Java加密与解密的艺术~RSA实现

RSA 实现 /*** 2008-6-11*/ package org.zlex.chapter08_2;import java.security.Key; import java.security.KeyFactory; import java.security.KeyPair; import java.security.KeyPairGenerator; import java.security.PrivateKey; import java.security.PublicKey; import …

Eclipse Ant组件出现unable to find a javac compiler的解决方法

解决方法是在一个外国人的blog上看来的&#xff0c;记到我的博客方便大家搜索&#xff0c;呵呵。该作者解释原因是Ant不能和JRE一起使用&#xff0c;而需要使用JDK来作为Runtime JRE, 但是这个原因似乎也不是真正的原因&#xff0c;只是这个方法可以解决问题&#xff0c;解决方…

IBM发布未来五年五大科技预测

来源&#xff1a;人工智能和大数据未来五年五大科技预测之AI偏见&#xff1a;AI 偏见将会爆发。但只有公正的 AI 才能生存。 5年之内&#xff0c;有偏见的AI系统和算法将不断增多&#xff0c;就像早前的计算机病毒增多一样。但我们将采取相应的应对措施&#xff0c;提出新的解决…

今天开始学OpenWRT - 21/03/8

背景简介 OpenWRT是一个运行在嵌入式设备上的Linux操作系统。相较于之前简单的、固化的路由器系统&#xff0c;OpenWRT提供了一个完整的可编写的文件系统&#xff0c;包括安装包管理。这使用户从供应商提供的应用程序选择和配置中解放出来&#xff0c;并允许用户通过使用软件包…