在本教程中,详细记录了如何在Raspberry Pi上设置一个VNC服务器,远程连接树莓派的桌面。
VNC是一种特殊的协议,可以让一个设备远程控制另一个设备。该协议与Windows使用的远程桌面协议的工作方式不同。在Raspberry Pi上使用VNC有多种用途。例如,可以使用它来查看Pi的桌面,而无需将显示器连接到它。这消除了使用SSH作为访问Raspberry Pi的唯一方式。
在Raspberry Pi上设置VNC服务器是比较直接,需要我们安装和设置一个名为TightVnc server的软件包。TightVNC是一款可以将Pi设置为接受VNC连接的软件。它是轻量级的,免费的,开源的,非常适合树莓派。
如果你只是想要一个命令行方法,那么一定要看看如何使用SSH远程管理Raspberry Pi的教程。
需要注意的是,VNC会为连接创建一个虚拟桌面。如果你想共享Raspberry Pi的桌面,请查看我的Vino使用指南。虽然Vino实现了VNC协议,但它的工作原理是显示当前用户的桌面,而不是像TightVNC和其他服务器软件那样创建虚拟桌面。
设备清单
要完成本教程在Raspberry Pi上安装VNC服务器,你需要以下设备,点击链接可直达特别优惠购买。
建议
可选
这篇关于设置VNC的教程是在Raspberry Pi 4上测试的,Raspberry Pi 4上运行的是Raspberry Pi OS的最新可用版本(Buster版本)。如果你目前还没有安装操作系统,一定要查看我关于使用NOOBs安装操作系统的指南。
在Raspberry Pi上安装VNC服务器软件
按照本指南,你会发现在Raspberry Pi上安装和配置VNC服务器是多么简单。
1. 将VNC软件安装到树莓派之前,需要确保操作系统是最新的。
要更新设备上运行的软件包,需要运行以下两个命令。
sudo apt update
sudo apt upgrade
2. 一旦Raspberry Pi完成了所有更新的安装,就可以继续安装VNC服务器了。
由于 tightvncserver 包是通过 Raspbian 仓库提供的,需要做的就是运行以下命令。
sudo apt install tightvncserver
在Raspberry Pi上配置VNC服务器
现在已经将VNC服务器安装到了Raspberry Pi上,现在可以学习如何配置它,使它为连接做好准备。
1. 现在VNC服务器已经安装到了我们的Pi上,现在让我们继续配置它。
要开始配置过程,需要运行下面的命令。
vncserver :1
2. 现在需要设置一个密码,当通过VNC客户端远程连接到Raspberry Pi时需要密码授权。
确保您设置的密码不超过8个字符。任何超过8个字符的密码都将被截断(即8个字符之后的任何字母都将被删除)。
You will require a password to access your desktops.
Password:
由于这个密码会让别人访问你的Raspberry Pi的桌面,所以要确保这个密码是安全的。
3. 接下来要求再次重新输入密码进行验证。
Verify:
4. 接下来,会被问到是否要设置一个单独的仅供查看的密码。
仅限查看密码是用户可以使用VNC查看桌面,但不能与之交互。
在我的教程中,我跳过了这一步,输入n并按下ENTER键。
Would you like to enter a view-only password (y/n)?
5. 现在VNC服务器应该已经在Raspberry Pi上启动并运行了。
然而,每当重启Pi时,需要通过重新运行以下命令来重新启动软件。
vncserver :1
如果你想让软件在启动时自动启动,那么只需按照接下来的几步操作即可。否则,就可以去设置客户端的东西了。
让VNC服务器开机自启
每次要在Raspberry Pi上使用VNC时,都要运行上面的命令,这并不理想。为了解决这个问题,使VNC服务器软件在系统开机时自动启动。
下面的步骤很直接,带你完成让服务器在启动时启动的步骤。如果想在树莓派上停止使用VNC,我还展示了该如何停止和禁用该服务。
为VNC创建服务
由于使用的VNC服务器软件没有兼容systemctl的服务,需要自己编写。
不要担心,写服务配置非常简单。
1. 为了让VNC软件在开机时启动,需要在Raspberry Pi上为它写一个服务文件。
要开始创建服务,请运行以下命令。
sudo nano /etc/systemd/system/vncserver.service
把这个服务称为vncserver.service。
2. 在该文件中,需要输入以下几行:
[Unit]
Description=TightVNC remote desktop server
After=network.target
[Service]
User=pi
Type=forking
ExecStart=/usr/bin/vncserver :1
ExecStop=/usr/bin/vncserver -kill :1
[Install]
WantedBy=multi-user.target
这几行告诉服务管理器如何处理我们Raspberry Pi上的VNC服务器。
我是让它在网络可用后再启动VNC服务器软件。
运行VNC服务器的可用位置,/usr/bin/vncserver。
服务中定义的两个命令,我使用:1,这告诉它我们正在使用第一个VNC虚拟桌面。
我还告诉服务,当它要关闭时,它应该使用-kill参数来停止虚拟桌面。
3. 一旦完成了编写,可以按CTRL + X,然后按Y,然后按ENTER键保存。
在Raspberry Pi上启动VNC服务器
现在,可以运行以下命令来测试新的VNC服务是否有效。
sudo systemctl start vncserver
如果服务说失败了,可以试着检查一下它的状态,看看在哪里。
检查VNC服务器的状态
现在检查VNC服务的状态,看看它是否已经正确启动。
要检索服务的状态,请使用以下命令。
sudo systemctl status vncserver
如果现在一切都按原定计划进行,你应该看到的文字是Active:active(运行)。
如果服务被标记为失败,请查找 “A VNC服务器已经运行为:1 “的文字。这段文字意味着命令是正确的,但VNC服务器已经被启动。
可以运行下面的命令来杀死正在Raspberry Pi上运行的现有VNC桌面。
vncserver -kill :1
一旦运行中的VNC服务器被杀死,可以尝试再次启动服务。
告诉VNC服务器在开机启动
一旦验证了VNC服务现在正在运行,就可以告诉它在开机时自启动。使用下面的命令来启用服务。
sudo systemctl enable vncserver
停止VNC服务器
如果出于任何原因,想停止Raspberry Pi上的VNC服务器,需要做的就是使用以下命令。
sudo systemctl stop vncserver
在Raspberry Pi上禁用开机启动
如果不想让VNC服务器在开机时启动,可以使用下面的命令阻止它启动。
sudo systemctl disable vncserver
在电脑上设置VNC客户端
在计算机上安装和设置VNC客户端是一个非常简单的过程。有不少不同的VNC软件包,但在本教程中,我使用了RealVNC。
1. 开始前往RealVNC网站,下载与你的操作系统相关的VNC查看器客户端。
2. 下载好后,打开。(如果你也想要服务器软件,就需要下载完整的软件包)。
3. 在VNC服务器一栏中输入Raspberry Pi的IP地址,然后输入端口(:)1。
例如,我使用的设置是,192.168.1.108:1。
4. 现在点击Connect按钮,开始连接。
5. 然后,它应该给你一个警告信息,因为我之前没有连接到我的Raspberry Pi。
要继续,请点击 “Continue”按钮。
6. 然后它会要求输入之前安装VNC服务器软件时设置的密码。
输入密码以连接到您的设备。
7. VNC窗口应该加载了,现在就可以远程访问Raspberry Pi的界面了。
如果你确实遇到了什么问题,我下面有一个小的故障排除部分,你可以按照下面的方法试试。
疑难解答
- 无法连接:一定要仔细检查你输入的IP,确保它与Pi的相同。另外,请确保VNC服务器软件正在运行。大多数路由器也会动态地提供IP,所以IP可能会随着时间的推移而改变。要解决这个问题,可以设置一个静态IP,或者每次连接时检查IP地址。
- 在外网访问它 – 这将会引起安全问题,但可以通过设置端口转发来实现。请记住,VNC服务器是在端口1上运行的。
- 我想在我的VNC客户端上有一个不同的/更大的屏幕:当你启动VNCserver时,可以添加一个额外的参数,叫做
geometry
,然后添加你想要的屏幕大小宽度和高度(单位是像素)。命令是
vncserver :1 -geometry 1440x900
我们希望此时,你已经成功地在Raspberry Pi上安装并运行了VNC服务器软件,现在你可以用它来查看你的桌面。如果你觉得这个教程有什么不对的地方,欢迎在下面留言。
欢迎转载,请留下出处链接:Labno3 » 树莓派远程桌面连接,详细步骤安装TightVnc管理VNC协议