VNC

跳转到:导航搜索

概述

openSUSE 中的 VNC 主要基于 TigerVNC 项目。

TigerVNC 的服务器组件位于 xorg-x11-Xvnc 软件包中

  • libvnc.so:X 服务器的 VNC 扩展。
  • Xvnc:内置 VNC 扩展的无头 X 服务器。
  • vncserver:简化启动 Xvnc 及其内部图形会话的脚本。
  • x0vncserver:共享其运行的 X 服务器屏幕的 X 客户端应用程序。

还有x11vnc包含以下内容的软件包x11vnc应用程序。此应用程序的工作原理与x0vncserver.



参数

所有 TigerVNC 组件都接受手册页中记录的参数Xvnc手册页。

重要参数

  • SecurityTypes:要使用的加密模式和身份验证方法的列表。常用值是
    • TLSVnc(默认):加密,需要由密码PasswordFile参数指定的密码。
    • VncAuth:未加密,需要由密码PasswordFile参数指定的密码。
    • TLSNone:加密,不需要密码。
    • :未加密,不需要密码。
  • PasswordFile:存储密码(以及可选的只读密码)的文件的路径。您可以使用“vncpasswd”命令生成该文件。



配置

根据您的用例,可以进行各种配置。除非另有说明,以下所有配置均使用xorg-x11-Xvnc软件包。


共享真实屏幕

以下配置通过 VNC 共享真实屏幕的内容。

如果您在多个虚拟终端上运行多个 X 服务器,则只有当前活动的 X 服务器会通过 VNC 保持活动。其他 X 服务器将显示为黑色/冻结。这是 X 服务器的限制。


临时

用例:当您想要临时共享桌面时。

要在 您的 X 会话内 启动屏幕共享,请运行以下命令

$ x0vncserver -PasswordFile /home/username/.vnc/passwd

它将打印出可用于连接的 VNC 显示号。

此命令默认使用加密和密码保护。您必须首先设置密码。

或者您可以使用 x11vnc 软件包中的 x11vnc

$ x11vnc -passwdfile /home/username/.vnc/passwd


始终共享

用例:当您希望每个真实的 X 会话都可以通过 VNC 访问时。

  • 取消注释/etc/X11/xorg.conf.d/10-libvnc.conf.
  • 中的“Module”和“Screen”部分。SecurityTypesPasswordFile设置适当的值选项,检查以获取文档和附加选项。
  • 重启 X 服务器。注销并重新登录就足够了。

您可以使用与 X 显示号匹配的 VNC 显示号连接到它(第一个会话为 :0,第二个会话为 :1,依此类推)。



附加的无头会话

以下配置共享它们自己的会话,这些会话独立于真实屏幕的内容。可以同时运行无限数量的会话。

Icon-warning.png
警告: Gnome 无法在同一台计算机上以同一用户身份多次启动。如果您已经在某个会话中运行 Gnome,则尝试从另一个会话再次登录将失败。这也适用于 Mate。其他桌面环境可能没有此限制。


手动启动的永久会话

用例:当您需要一个个人永久会话,该会话将持续到您手动终止它为止。

$ vncserver
New 'hostname:2 (username)' desktop is hostname:2
Starting applications specified in /home/<username>/.vnc/xstartup
Log file is /home/<username>/.vnc/hostname:2.log

这将启动 VNC 服务器并根据您的 ~/.vnc/xstartup 文件启动会话。如果它不存在,它将创建一个默认文件,该文件将

  1. 尝试使用您的 ~/.xinitrc。
  2. 尝试使用 /etc/X11/xinit/xinitrc。
    1. 如果您正在图形会话中(设置了 WINDOWMANAGER 变量),它将尝试启动相同类型的会话。
    2. 它将选择一个已安装的窗口管理器(基于任意优先级列表)。
  3. 退回到 twm 和 xterm。

Xvnc 默认会使用加密和密码保护。您必须首先设置密码。请参阅 [Security]。

永久会话将分配下一个可用的 VNC 显示号(在上面的示例中为 :2)。您可以使用它来连接到会话。

您可以通过在会话内注销或运行以下命令来终止会话

$ vncserver -kill :<显示号>
Icon-warning.png
警告:如果您正在使用 Tumbleweed,在新版 TigerVNC (1.11.0) 中,vncserver 的设计已更改,现在它作为 systemd 服务启动。
查看此处以了解如何使用它。


自动启动的一次性会话

用例:当您希望允许用户连接、通过登录启动其会话并在断开连接时自动终止会话时。会话自动生成,单个用户无需提前准备任何内容。

在 YaST 中,导航到“远程管理 (VNC)”并选择“允许远程管理”。自 Leap 42.2 起,此选项被称为“允许无会话管理的远程管理”。

Icon-warning.png
警告:此功能使用 XDMCP 从您的显示管理器获取登录屏幕。SDDM,即默认的 KDE5 显示管理器,不支持 XDMCP。如果您想使用此 VNC 配置,则需要切换到其他显示管理器。

VNC 服务器侦听显示号 :1。每个连接都会分配一个新会话。客户端断开连接时,会话将终止。无法两次连接到正在运行的会话。

默认使用加密。不需要 VNC 密码,因为用户通过 VNC 中的显示管理器登录。


自动启动的可选永久会话

此配置自 Leap 42.2 起可用。

用例:当您希望允许用户连接,通过登录启动其会话并可选地将其标记为永久时。会话自动生成,单个用户无需提前准备任何内容。

在 YaST 中,导航到“远程管理 (VNC)”并选择“允许会话管理的远程管理”。

Icon-warning.png
警告:此功能使用 XDMCP 从您的显示管理器获取登录屏幕。SDDM,即默认的 KDE5 显示管理器,不支持 XDMCP。如果您想使用此 VNC 配置,则需要切换到其他显示管理器。

VNC 服务器监听显示号 :1。如果有正在运行的永久会话,您将看到重新连接或启动新会话的选项。默认情况下,新会话将在您断开连接时终止。您可以使用 vncmanager-controller 工具将您的会话配置为永久。

默认使用加密。不需要 VNC 密码,因为用户通过 VNC 中的显示管理器登录。



使用 VNC 安装

在安装屏幕上,编辑内核行并添加“vnc=1”,然后按 F10 或 CTRL-x 引导。系统不会显示正常的图形安装程序,而是会要求您设置一个临时 VNC 密码,如果您有多个网络设备(例如,以太网 + Wi-Fi),系统会询问您要使用哪个设备。之后,您将看到您的 IP 和端口,您可以通过它们访问 VNC 安装程序。如果您想通过 Web 浏览器使用 VNC 进行安装,还会提供一个基于 Web 的端口。

更多信息可在文档中找到。

故障排除

登录屏幕显示黑屏。

确保您的显示管理器正在运行并已启用 XDMCP。

如果您使用 YaST 启用了 VNC,它将自动启用 XDMCP,但您必须重新启动显示管理器才能使其生效。例如,通过注销并重新登录。

SDDM (Simple Desktop Display Manager) 是 KDE5 中的默认显示管理器,它不支持 XDMCP。您必须切换到其他显示管理器才能在 VNC 会话中获得登录屏幕。

未为 VNC 认证配置密码

tigervnc 服务器的默认安全类型是TLSAuth. TLSAuth使用加密并需要使用密码进行身份验证。

您必须使用vncpasswd命令创建密码文件并将其提供给 VNC 服务器,使用PasswordFile参数指定的密码。