暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

ssh Forward X11 实现远程主机GUI在本地展示 (C/S X)

digoal 2016-05-27
710

作者

digoal

日期

2016-05-27

标签

PostgreSQL , Linux , x11 , 可视化


背景

有些时候,有些程序可能需要依赖图形界面才能启动,例如安装Oracle时(其实oracle支持命令行安装),例如需要启动一个图形界面的浏览器如firefox。

作为服务端的系统,通常不会安装臃肿的图形界面。

那么如何在不安装图形界面的的情况下启动图形界面的?听起来很矛盾,但是实际上是可行的。

X Window System(常被简称为X11或X),是一套基于X display protocol的windowing system,X GUI环境的功能包括窗口的绘制、移动,以及与鼠标、键盘等输入设备的交互。

X采用C/S模型(这是关键):一个X server 和多个应用程序(client)通信。server接收client的请求绘制窗口,并将来自鼠标、键盘等设备的输入传递给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连接上。

了解原理后,我们就可以在本地自建X服务,然后服务器作为X client,把绘图的请求发给本地的X server。 这样就实现了本地显示图像的目的。

例子, 以本地为Windows为例,使用ssh连接到服务器, 把服务器的X请求转发到本地的 X server。

简单的几个步骤即可
1. 配置服务器的sshd,重启服务

```

vi /etc/ssh/sshd_config

X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost yes

service sshd restart

```

2. 在windows主机安装Xming, 启动X server

windows下的X server可以通过Xming软件来构建。

https://sourceforge.net/projects/xming/

1

2

3

4

5

3. 在windows主机安装securecrt或putty

4. 在windows主机配置securecrt或者putty,配置对应会话的转发X11,并重新连接会话

6

7

5. 在securecrt或putty命令行启动GUI命令

```
开启securecrt FORWARDX11后,会自动设置DISPLAY环境变量.

echo $DISPLAY

localhost:10.0

firefox

```

8

参考

https://sourceforge.net/projects/xming/

http://www.cnblogs.com/qcly/p/3219902.html

PostgreSQL 许愿链接

您的愿望将传达给PG kernel hacker、数据库厂商等, 帮助提高数据库产品质量和功能, 说不定下一个PG版本就有您提出的功能点. 针对非常好的提议,奖励限量版PG文化衫、纪念品、贴纸、PG热门书籍等,奖品丰富,快来许愿。开不开森.

9.9元购买3个月阿里云RDS PostgreSQL实例

PostgreSQL 解决方案集合

德哥 / digoal's github - 公益是一辈子的事.

digoal's wechat

文章转载自digoal,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论