> 文档中心 > centos 7 显示远程窗口到本地

centos 7 显示远程窗口到本地

文章目录

    • 1 VNC 和 Xmanager 的区别
    • 2 环境准备
    • 3 软件用途
    • 4 服务器端安装(root下)
    • 5 设置访问权限(当前用户下)
    • 6 检查变量(当前用户下)
    • 7 远程窗口显示测试(当前用户下)
    • 8 排错
    • 9 问题

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

centos 7 显示远程窗口到本地

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

[root@vt-192-168-11-16-zhf ~]# xclockWarning: Missing charsets in String to FontSet conversionOK

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)?