「VNC」- 服务搭建(显示已经存在的会话)

更新日期:2020年08月31日

问题描述

搭建VNC服务并无复杂之处。对于大多数VNC服务,在连接VNC服务后,它会尝试创建一个完整的会话、启动窗口管理器等等,而不是显示已经存在的会话。

但是我们希望连接VNC服务后,可以显示当前会话(桌面),而不是在连接成功后显示新桌面。

解决方案

如果想实现“在连接VNC服务时,显示已经存在的会话”,关键是找到正确的软件。

我们可以使用x11vnc来搭建VNC服务。它将附加到正在运行的会话,共享桌面。如果以root身份运行它以连接到xdm会话,则需要对Xauth进行一些研究,因为设置它可能有点繁琐。

接下来开始搭建 x11vnc 服务,实验环境为 Debian GNU/Linux 10 (buster) 发行版。

第一步、安装软件

安装 x11vnc 软件包:

apt-get install x11vnc

第二步、运行服务

运行 x11vnc 服务:

x11vnc -display $DISPLAY -usepw -listen <IP_of_interface> -autoport 5903

# -display : 要显示的屏幕。这里使用「$DISPLAY」获取当前显示器,通常为「:0」。
# -usepw   : 使用用户密码进行认证。服务启动后会提示你输入密码。
# -listen  : 要监听的IP地址。
# -autoport: 指定要监听的端口号。如果未指定,则会自动创建监听端口号,并在控制台输出监听的端口号。

如果要使用 xinetd 运行,可以参考 How to VNC to the primary display in ubuntu (display :0) 一文。

第三步、远程访问

使用VNC客户端进行连接即可,这里不再详细介绍。

参考文献


ToC

问题描述

解决方案

第一步、安装软件

第二步、运行服务

第三步、远程访问

参考文献