树莓派如何通过 VNC 共享屏幕?

在此树莓派屏幕共享教程中,我们将向您展示如何设置 VNC ,以便您共享屏幕。

如果您需要查看主屏幕上显示的内容,则共享屏幕非常有用。

通常,VNC 将在树莓派上创建一个新会话,这意味着您将无法从当前用户或连接到树莓派的任何其他用户的屏幕上看到正在发生的情况。

为了能够共享屏幕,我们使用了一个名为 Vino 的 VNC 软件包。 Vino 使用与其他相同的 VNC 协议,但是它没有重复创建新会话,而是重复了当前在主会话中显示的内容。

您可以使用设置 VNC 服务器的其他方法,但 Vino 非常可靠,可以完成工作。

请注意,要使用 Vino ,您必须运行具有 GUI 的 Raspbian 操作系统版本。您不能运行 Raspbian 的精简版或无头版。如果您只想共享终端,请查看我们的终端共享教程,该教程教您如何使用 tmate 。

设备清单

以下是我用于本树莓派屏幕共享教程的所有设备。别忘了,您的 Pi 也需要电源。

推荐的

  • 树莓派 2 或 3

  • Micro SD 卡

  • 电源

  • 以太网线 (推荐) 或 * Wifi 加密狗

可选的

  • 树莓派外壳

安装 Vino 进行 VNC 屏幕共享

1 在继续进行屏幕共享并在树莓派上运行之前,我们必须做的第一件事就是确保它正在运行最新的可用软件。

为此,请在树莓派的终端中运行以下命令。

sudo apt-get update
sudo apt-get upgrade

2 随着我们的树莓派完全更新,我们现在可以安装 Vino 。这是我们将用于在树莓派上为我们提供屏幕共享的 VNC 服务器。

我们必须安装 Vino ,因为树莓派上存在的默认连接不接受此行为,并且创建每个连接都是一个新会话。

在树莓派的终端上键入以下命令以进行安装。

sudo apt-get install vino

3 使用 gsettings 命令,我们可以控制 Vino 的各种设置;这使我们可以打开和关闭诸如密码验证和加密之类的功能。您可能需要执行其中一些操作才能让 Vino 与您的游戏完美搭配

启用通过密码登录

要启用通过密码登录,请在树莓派的终端上使用以下两个命令。确保将”** YOUR \ _PASS \ _HERE **” 替换为您要用于通过 VNC 登录的密码。

gsettings设置 org .gnome.Vino身份验证方法"['vnc']"
gsettings设置 org .gnome.Vino vnc密码"$(echo -n"YOUR_PASS_HERE"| base64)"

禁用通过密码登录

如果由于某种原因在通过 VNC 连接到树莓派时不需要任何身份验证要求,则可以输入以下命令。此命令将禁用密码要求。

gsettings设置 org .gnome.Vino身份验证方法"['none']"

禁用加密

某些 VNC 查看器 (例如 TightVNC) 不支持 Vino 使用的加密方法。为避免此问题,我们可以在树莓派上运行以下命令来禁用加密。

我们建议您先尝试启用此选项的 VNC Viewer,然后再尝试不启用它,因为加密确实具有明显的安全优势。

gsettings设置 org .gnome.Vino require-encryption为 false 

禁用用户确认

像加密一样,有时用户确认可能会导致 VNC Viewer 出现问题。如果通过 VNC 连接到树莓派时遇到问题,请尝试通过运行以下命令来禁用它。

gsettings设置 org .gnome.Vino提示启用 false 

4 现在,您可以使用以下命令来获取树莓派的本地 IP 地址。请记住,在键入此 Linux 命令时要大写”** I **”

主机名-I

5 现在,我们可以继续启动 Vino VNC 服务器。我们可以通过在树莓派上运行以下命令来实现。

/usr/lib/vino/vino-server6 现在是时候在您的设备上测试 Vino 服务器并使其开始运行了,我们的下一部分将继续介绍如何在 Windows 上使用 VNC 客户端。如果您已经有 VNC 客户端并且可以测试连接,则可以跳过下一部分。如果遇到问题,请尝试禁用加密或用户确认。

使用 VNC 客户端测试 Vino

1 在设备上,您要用来连接到树莓派,请下载兼容的 VNC 客户端。对于我们的指南,我们使用了流行的 Windows TightVNC 客户端。您可以从他们的官方网站上下载 TightVNC

将 VNC 客户端下载并安装到计算机后,即可继续执行本指南的下一步。

2 现在将 TightVNC 或任何其他 VNC 客户端安装到您的计算机上,将其启动。如果您使用的是 TightVNC ,应该会看到一个如下所示的屏幕。

在” 远程主机:**”(1 ) 旁边的文本框中,输入您的树莓派的 IP 地址。然后只需按”** Connect “按钮 (**2 )。

3 如果建立了成功的连接,那么您现在应该可以看到树莓派的桌面。

如果遇到错误” 不支持安全类型 “,请返回” 安装 Vino **” 部分的” 步骤 3 **”,并按照禁用加密的步骤操作。

4 如果您没有遇到任何错误,并且可以通过 VNC 客户端查看桌面,则可以安全地继续本教程的下一部分,该部分向您展示如何设置 Vino ,因此它会自动从以下位置开始开机。

在启动时启动 Vino

1 现在,要使 Vino 在树莓派上启动时启动,需要我们首先做一些事情。我们必须做的第一件事就是创建一个脚本,该脚本在被调用时将触发命令启动 Vino 服务器。

我们在 ** sudoers.d ** 目录中创建此文件,以确保将以任何用户正确的权限启动它。

通过在树莓派的终端中键入以下命令,开始在 **/etc/sudoders.d/** 中编写脚本。

sudo vim /etc/sudoers.d/vinosrv.sh

2 在此文件中,输入以下两行代码。

第一行只是告诉解释器,操作系统应该尝试运行应用程序 **/bin/bash 来读取文件。第二行执行 vino-server ** 应用程序。

#!/bin/bash

/usr/lib/vino/vino-server

3 确定后,您已经在文件中输入了正确的两行代码,可以按以下内容进行保存。按 ** Ctrl + X ,然后按 Y ,然后按 Enter ** 保存文件。

4 现在,我们需要使 vinosrv 文件可执行。这样,用户可以在自动启动时运行文件。为此,您只需在树莓派的终端上键入以下命令即可。

sudo chmod + x /etc/sudoers.d/vinosrv.sh

5 现在使文件成为可执行文件,我们现在将文件添加到 LXDE 的自动启动中。我们将其添加到此文件中是因为它可以确保在操作系统界面加载时加载 Vino -Server。

通过在树莓派上运行以下命令开始修改文件。

sudo vim /etc/xdg/lxsession/LXDE-pi/autostart

6 在此文件的底部添加以下行,这将确保在操作系统界面启动时加载 Vino 服务器。

@/etc/sudoers.d/vinosrv.sh

7 您的文件应该最终看起来像下面的内容,加上上面的行。

@lxpanel --profile LXDE-pi
@pcmanfm --desktop --profile LXDE-pi
@xscreensaver-不飞溅
@ point-rpi
@/etc/sudoers.d/vinosrv.sh

8 按 ** Ctrl + X ,然后按 Y ,然后按 Enter ** 保存文件。

9 现在,尝试通过在树莓派上运行以下行来重新启动树莓派。

sudo reboot

10 在树莓派重新启动后,尝试使用 VNC 客户端与树莓派建立连接。如果成功,您已经完成了在树莓派上设置 Vino 的操作,并成功启动了屏幕共享并开始运行。

希望在本树莓派屏幕共享教程结束时,您可以在 VNC 屏幕共享正常运行的情况下启动并运行树莓派,并使计算机成功连接到该计算机。

我希望这个有用的 Pi 指南可以帮助您进行所有设置,如果您对本教程有任何疑问或反馈,请与我联系。

分享到