x11vnc - Linux下共享本地用户桌面($DISPLAY==:0.0)的工具

说明:

通过vncserver我们可以开启远程服务器的图形化桌面,如运行vncserver :1则打开了一个桌面号为1的远程图形化桌面,然后执行vncviewer server1.example.com:1就可以访问该桌面,从而执行一些必须在图形化下才能执行的操作,而且可以多个用户同时登录该桌面,方便协同合作。

但是这个方法无法把在本地登录的桌面($DISPLAY==:0.0)共享出去,执行vncserver :0会报如下错误。windows下的netmeeting/communicator有类似的共享功能,linux下则可以借助x11vnc来实现。

┌─[liao@tp]─[~/bin]─[18+5]─[99%=]
└─$ vncserver :0

You will require a password to access your desktops.

Password:
Verify:

Warning: tp:0 is taken because of /tmp/.X0-lock
Remove this file if there is no X server tp:0
A VNC server is already running as :0
┌─[✗]─[liao@tp]─[~/bin]─[18+5]─[99%=]
└─$ 

安装:

sudo pacman -S x11vnc

执行:

默认情况下,通过x11vnc共享桌面后,观众也能操作我们的机器,不过我们也能让x11vnc运行viewonly模式下,这样观众就只能看我们操作了。

#!/bin/bash
killall -9 x11vnc
#/usr/bin/x11vnc -nap -wait 50 -noxdamage -passwd x11vnc -display :0 -forever -o ~/.vnc/x11vnc.log -rfbport 9500 -bg

if test "$1" == "vo"; then
# viewonly
/usr/bin/x11vnc -nap -wait 50 -noxdamage -passwd x11vnc -display :0 -forever -o ~/.vnc/x11vnc.log -rfbport 9500 -viewonly -bg && \
echo "x11vnc has been running in VIEWONLY mode"
else
# interactive
/usr/bin/x11vnc -nap -wait 50 -noxdamage -passwd x11vnc -display :0 -forever -o ~/.vnc/x11vnc.log -rfbport 9500 -bg && \
echo "x11vnc has been running in INTERACTIVE mode"
fi

测试:

vncviewer server1.example.com:9500

REF:

1. x11vnc FAQ:
http://www.karlrunge.com/x11vnc/faq.html

2. X11vnc
https://wiki.archlinux.org/index.php/X11vnc

你可能感兴趣的:(x11vnc - Linux下共享本地用户桌面($DISPLAY==:0.0)的工具)