centos 7 显示远程窗口到本地


在Linux下,我们用字符终端界面可以完成99.99%的工作,但仍有0.01%的工作可能需要图形界面,比如oracle安装(也可以字符静默安装)、用友NC财务系统安装等,我们不希望因为要安装这些应用而安装厚重的Linux桌面(然后用vnc连接桌面),这时就需要利用X11,将Linux图形窗口转发到X11 server(例如Xmanager、SecureCRT)。下面我们讲解如何在Windows下利用 Xmanager + Xshell 远程连接到CentOS 7服务器,然后显示远程xclock图形时钟窗口到本地

希望大家可以通过这篇文章触类旁通(我就一知半解的写),以解决其他Linux相关问题

1 VNC 和 Xmanager 的区别

VNC和Xmanager都可以远程连接到UNIX或Linux并进行图形化操作,但两者的工作原理并不相同。

VNC是远程连入操作系统,所有操作在UNIX、Linux主机服务端进行,即使操作中网络断开,也不影响操作的进行;而Xmanager是通过端口将主机服务器的UI界面转发到本地电脑进行展现,如果操作中网络断开,操作将失败。

VNC以GPL授权,衍生出了几个VNC软件:
RealVNC:由VNC团队部份成员开发,分为全功能商业版及免费版。
TightVNC:强调节省带宽使用。
UltraVNC:加入了TightVNC的部份程序及加强效能的图型映射驱动程序,并结合Active Directory及NTLM的帐号密码认证,但仅有Windows版本。
Vine Viewer:MacOSX的VNC用户端。

2 环境准备

  • 服务器: CentOS 7 最小化安装
  • 客户端: Windows 10 + Xshell + Xmanager(预先安装好)

3 软件用途

  • tigervnc-server :vncserver的一种,远程窗口的基础(无需启动vncserver)
  • xhost :授权远程访问(默认可以访问)。xhost + 关闭访问控制,即授权所有IP皆可访问; xhost + 192.51.3.12 授权指定IP可以访问
  • xclock :图形窗口时钟,运行在当前用户,测试用
  • Xshell :windows下的shell终端连接工具
  • Xmanager :一款 X11 服务器。在windows下,将远程Linux图形窗口显示到本地的工具
  • xdpyinfo :查看x窗口显示信息(调试),这个也依赖变量$DISPLAY。(其实没啥用)

4 服务器端安装(root下)

[root@vt-192-168-11-16-zhf ~]# yum install tigervnc-server xhost
[root@vt-192-168-11-16-zhf ~]# yum install xclock

5 设置访问权限(当前用户下)

# 默认是允许的,所以此项非必须(系统与版本不同,也可能不同)
[root@vt-192-168-11-16-zhf ~]# xhost +
access control disabled, clients can connect from any host

6 检查变量(当前用户下)

# 检查变量
[root@vt-192-168-11-16-zhf ~]# echo   $DISPLAY
localhost:10.0

# 如果服务器端已经安装`tigervnc-server`,并且在客户端 Windows 下已经安装了`Xshell`、`Xmanager`,并使用`Xshell`连接到了服务器,则变量`$DISPLAY`默认已经设置好了,无需手动设置,Xshell会自动设置此变量,如下图
# 注意:连接后不要切换到其他用户,因为图形界面不能跨用户传输,而且变量`$DISPLAY`也会变为空,手动设置也没用。在什么用户下启动窗口程序,就必须用什么用户直接`Xshell`登录服务器,切记

Xshell设置

7 远程窗口显示测试(当前用户下)

[root@vt-192-168-11-16-zhf ~]# xclock
Warning: Missing charsets in String to FontSet conversion
OK

CentOS 7 时钟

8 排错

# 错误: 
- xhost:  unable to open display ""
- xdpyinfo:  unable to open display "".
- xdpyinfo:  unable to open display "192.168.2.9:0.0".
# 原因:
- 没有安装vncserver(tigervnc-server)
- 没使用支持显示远程窗口的shell工具连接服务器
- 上两条原因都会造成变量`DISPLAY`为空
- 变量`DISPLAY`不正确 :是不是你手动设置?`Xshell`重新登录服务器即可

9 问题

在服务器端不安装庞大的桌面系统的情况下,如何在Ubuntu(Linux)图形界面下远程登录到CentOS,并将CentOS下的xclock时钟图形窗口显示到本地(Ubuntu)?

10 最后

img

爱你!

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值