linux ssh x11,CentOS使用SSH的X11转发远程执行GUI程序

一、简介

有些时候,有些程序可能需要依赖图形界面才能启动,例如安装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。 这样就实现了本地显示图像的目的。

二、使用教程

配置CentOS的sshd

修改sshd配置文件:/etc/ssh/sshd_config

找到如下配置信息并去掉前面注释:

X11Forwarding yes

安装所需软件包:

yum install -y xorg-x11-xauth #安装x11组件包

yum -y install wqy-zenhei-fonts* #安装中文字库

yum -y install ibus-libpinyin* #安装中文输入法

安装配置Xming

下载并安装Xming,地址:XLaunch.exe,若不知道具体参数保持默认下一步即可。

客户端配置

使用SSH客户端登陆CentOS,建议使用Xshell或Putty。

然后在SSH-X11转发中开启X11转发,然后在命令行运行带GUI的应用程序即可。

报错解决

若登陆提示The remote SSH server rejected X11 forwarding request.

那么运行以下命令:

yum install -y xorg-x11-xauth xorg-x11-utils xorg-x11-fonts-*

说明:使用X11 Forwarding需要安装rpm包xorg-x11-xauth,如果你在安装CentOS系统时,选择了安装X Window System,那这个包是默认安装的。

X11转发运行gedit演示:

01641c31b50d96ee71589d1fc46923e4.png

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值