X11vnc (简体中文)

From ArchWiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Tango-preferences-desktop-locale-modified.png这篇文章或章节的翻译不反映原文。Tango-preferences-desktop-locale-modified.png

原因:本文已与英文版本脱节(在 Talk:X11vnc (简体中文)# 中讨论)

x11vnc是一个VNC服务器,它允许人们使用任何VNC viewer远程查看并控制真实的X显示器(即与物理显示器、键盘和鼠标相对应的显示器)。虽然它已不再由原作者Karl Runge开发,但LibVNC和GitHub社区已经接管了开发工作。

x11vnc不会为远程控制创建一个额外的显示(或X桌面)。相反,它实时显示现有的X11显示器,与Xvnc不同,它是TigerVNC的一部分,是官方软件仓库中的替代VNC服务器。

还要注意的是,x11vnc并没有附带一个客户端。所有VNC viewer都可以完成这项工作,而不必使用其所有功能。TigerVNC的vncviewer是推荐的客户端。

设置 x11vnc

安装

安装位于官方软件仓库x11vnc 软件包。

运行

首先,通过startxDisplay manager (简体中文)来启动X 服务器。你可能需要将X设置为无头运行。

然后,运行以下命令,所有可用的选项在x11vnc(1)中都有解释。

$ x11vnc -display :0

另一个选项是将x11vnc命令放在一个脚本中,在登录时调用,例如:

x11vnc -wait 50 -noxdamage -passwd PASSWORD -display :0 -forever -o /var/log/x11vnc.log -bg

设置 X authority

您可以为VNC服务器设置X authority。 这可以通过-auth参数和相应的文件来实现,这取决于你的X 服务器是如何启动的。一般来说,分配X authority需要以root身份运行"'x11vnc'"。

启动 X

$ x11vnc -display :0 -auth ~/.Xauthority

如果失败,则你可能需要作为root来运行:

# x11vnc -display :0 -autho /home/USER/.Xauthority

其中 USER 是运行X 服务器的用户的用户名。

GDM

作为root,运行

# x11vnc -display :0 -auth /var/lib/gdm/:0.Xauth

设置密码

运行:

$ x11vnc -usepw

将会使用在~/.vnc/passwd找到的密码,或是在~/.vnc/passwdfile第一行找到的密码,如果这些文件都找不到,它会提示用户输入密码,密码将会保存在~/.vnc/passwd中。

VNC viewer应该在连接时提示输入密码。

访问

在其他机器运行VNC客户端,然后输入运行了x11vnc服务器的IP地址。点击连接,然后你需要设置。

SSH端口转发

为了安全地使用x11vnc,您首先需要安装并且配置好SSH

在启动x11vnc的时候,指定命令行选项“-localhost”,这将导致VNC服务只能绑定到本地网络界面。此时从外界直接连入的连接将被拒绝。

当您需要从另一台电脑上访问这个VNC服务的时候,首先用SSH登录到运行VNC的主机,将VNC服务监听的端口转发到您的本地主机。以下的例子中假设运行VNC的主机名为"foo",VNC监听5900端口上:

ssh foo -L 5900:localhost:5900

SSH连接建立以后,打开VNC客户端程序,但是不要让它连接到foo的5900端口,而是连接到本机(localhost)的5900端口。

这样,您就可以通过加密渠道安全地访问远程X服务了。

参见