Billio比利奥
Billio比利奥

目录

Jetson Nano – 如何实现VNC远程桌面控制

[Jetson Nano]如何实现VNC远程桌面控制

本文教你如何实现VNC到你的Jetson Nano,这样就不需要连接屏幕来实现远程桌面控制啦。

树莓派官方系统默认是安装了RealVNC的服务,只需在电脑上到RealVNC官方下载软件VNC Viewer,即可方便VNC实现树莓派远程桌面控制。然而……Jetson Nano就没这么直接了。

事不宜迟,以下是搭建VNC服务的正式教程:

1. 安装VNC服务

首先在Jetson Nano桌面以下快捷键打开终端:
Ctrl + Alt + T

或,通过ssh远程到Jetson Nano的代码行,输入以下代码:

sudo apt update
sudo apt install vino

2. 搭建VNC服务程序

到用户主目录下,新创建bash执行文件

cd
nano openvino

进入nano界面,将以下代码复制到新建文本下:

#!/bin/bash
export DISPLAY=:0
gsettings set org.gnome.Vino enabled true
gsettings set org.gnome.Vino prompt-enabled false
gsettings set org.gnome.Vino require-encryption false
/usr/lib/vino/vino-server &

然后快捷键,保存文本:
Ctrl + x

回到终端,修改openvino文件权限为可执行,并执行

chmod +x ~/openvino
sudo reboot

重启一下Jetson Nano

3. 开启VNC服务

重新进入Jetson Nano的命令行,运行程序,开启VNC服务

~/openvino

(提示:以后每次开启系统或关闭VNC服务之后,需要运行此口令重新开启VNC服务)

报出提示“No such key “enabled”,忽略…
并如无意外出现以下运行提示:

jetson@jetson:~$ 18/11/2019 13时39分54秒 Autoprobing TCP port in (all) network interface
18/11/2019 13时39分54秒 Listening IPv6://[::]:5900
18/11/2019 13时39分54秒 Listening IPv4://0.0.0.0:5900
18/11/2019 13时39分54秒 Autoprobing selected port 5900
18/11/2019 13时39分54秒 Advertising security type: 'TLS' (18)
18/11/2019 13时39分54秒 Re-binding socket to listen for VNC connections on TCP port 5900 in (all) interface
18/11/2019 13时39分54秒 Listening IPv6://[::]:5900
18/11/2019 13时39分54秒 Listening IPv4://0.0.0.0:5900
18/11/2019 13时39分54秒 Clearing securityTypes
18/11/2019 13时39分54秒 Advertising security type: 'TLS' (18)
18/11/2019 13时39分54秒 Clearing securityTypes
18/11/2019 13时39分54秒 Advertising security type: 'TLS' (18)
18/11/2019 13时39分54秒 Advertising authentication type: 'No Authentication' (1)
18/11/2019 13时39分54秒 Re-binding socket to listen for VNC connections on TCP port 5900 in (all) interface
18/11/2019 13时39分54秒 Listening IPv6://[::]:5900
18/11/2019 13时39分54秒 Listening IPv4://0.0.0.0:5900
18/11/2019 13时39分54秒 Clearing securityTypes
18/11/2019 13时39分54秒 Clearing authTypes
18/11/2019 13时39分54秒 Advertising security type: 'TLS' (18)
18/11/2019 13时39分54秒 Advertising authentication type: 'No Authentication' (1)
18/11/2019 13时39分54秒 Advertising security type: 'No Authentication' (1)

以上代表我们的VNC服务已经成功开启!

Ctrl + c可返回口令行,继续进行其他口令操作
(这不会关闭VNC服务的,其进程已在后台持续运行当中)

3. 取得IP地址

ifconfig | grep -A 1 wlan0

## 得到以下信息:
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.199.119  netmask 255.255.255.0  broadcast 192.168.199.255

以上inet后面的192.168.199.119就是小编Jetson nano的ip地址

4. 打开VNC Viewer

接下来可以到我们电脑下载并打开VNC Viewer
跳出安全提示,按continue继续,
看到用户界面了,成功!
在这里插入图片描述

如果出现以下提示:
Reading version failed: not an RFB server?
在这里插入图片描述
代表我们之前在Jetson nano并未能成功开启VNC服务,需要回到前面debug一下了,或给我们留意 =)

5. 关闭VNC服务

如果我们需要关闭VNC服务,那我们得先找出vino-server后台程序编号是多少,然后将其kill掉。

回到Jetson Nano的口令行,输入以下:

ps -ef | grep vino

#得到以下信息:
jetbot        7096     1  0 13:39 pts/0    00:00:00 /usr/lib/vino/vino-server
jetbot       10082  6770  0 13:48 pts/0    00:00:00 grep --color=auto vino

以上7096就是我当前vnc服务程序运行的编号,
大家根据自己情况修改以下程序编号来kill掉这进程:

kill 7096

这样VNC服务就会关闭了。