在redhat下使用x11vnc进行桌面共享

时间:2021-08-12 22:12:03
1.在redhat上安装x11vnc时,你需要注意以下几个方面:

(1)下载x11vnc的源码包:

网址如下所示:
http://sourceforge.net/projects/libvncserver/files/x11vnc/0.9.13/x11vnc-0.9.13.tar.gz/download

(2)进行配置检测,查看需要安装的辅助包:

2.在官网上查找后发现redhat系统上需要提前安装如下组件:
gcc
make
libc6-dev
libjpeg62-dev
libx11-dev
libxext-dev
libxrandr-dev
libxtst-dev
x-dev
xlibs-static-dev
zlib1g-dev
libssl-dev

如果是为了方便,可以直接使用如下命令:

[root@localhost mnt]# yum install "X*" -y

3.再安装完组建后使用tar对源码包进行解压:

[root@localhost mnt]# tar xvf x11vnc-0.9.13.tar.gz

4.进入到解压后的目录,然后进行配合和make安装:

[root@localhost mnt]# cd x11vnc-0.9.13/
[root@localhost x11vnc-0.9.13]# ls
acinclude.m4  _configs.sed   install-sh    NEWS                 tightvnc-1.3dev5-vncviewer-alpha-cursor.patch
aclocal.m4    config.status  libvncclient  README               TODO
AUTHORS       config.sub     libvncserver  README.LibVNCServer  x11vnc
ChangeLog     configure      ltmain.sh     RELEASE-NOTES        x11vnc.spec
classes       configure.ac   Makefile      rfb                  x11vnc.spec.in
compile       COPYING        Makefile.am   rfbconfig.h
config.guess  depcomp        Makefile.in   rfbconfig.h.in
config.log    INSTALL        missing       stamp-h1
[root@localhost x11vnc-0.9.13]# ./configure

编译安装源代码:

[root@localhost x11vnc-0.9.13]# ls
acinclude.m4  _configs.sed   install-sh    NEWS                 tightvnc-1.3dev5-vncviewer-alpha-cursor.patch
aclocal.m4    config.status  libvncclient  README               TODO
AUTHORS       config.sub     libvncserver  README.LibVNCServer  x11vnc
ChangeLog     configure      ltmain.sh     RELEASE-NOTES        x11vnc.spec
classes       configure.ac   Makefile      rfb                  x11vnc.spec.in
compile       COPYING        Makefile.am   rfbconfig.h
config.guess  depcomp        Makefile.in   rfbconfig.h.in
config.log    INSTALL        missing       stamp-h1
[root@localhost x11vnc-0.9.13]# make && make install

这里我们编写了一个脚本来对x11vnc的参数进行设置:

#!/bin/bash
nohup /usr/local/bin/x11vnc -display localhost:2 -autoport 5901 -viewonly -shared -forever -desktop "root" -auth guess --scale 1400x760 >/dev/null 2>&1 &

我们将本机的127.0.0.1:2的内容转发给127.0.0.1:1的窗口,这样用户可以通过访问vncserver服务的IP加端口1(例如:192.168.3.68:1)可以访问到192.168.3.68:2所共享的桌面。并且他们在访问的时候只可以进行观看,不能进行任何的操作,而且分辨率不会进行反复的调整跳变,用户体验非常不错。

注意:要达到这样的效果,首先需要安装tigervnc-server服务端,并且需要开放vncsever :2(即端口2)。

[root@localhost x11vnc]# vncserver :2

小结:

    总结本方法就是因为在每次使用vncserver向外进行窗口共享的时候,客户端的分辨率不同总是会让所有连接用户的窗口反复的进行调整跳转,十分的影响工作效率。而采用x11vnc和vncserver两个软件,配合使用可以杜绝此类事情的发生,如果有此类困惑的朋友可以试试此方法,有什么问题可以及时沟通。