本文教你如何实现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服务就会关闭了。