Jetson nano 入手系列之5—远程可视化访问:jupyter lab与VNC
- 1. jupyter lab
- 1.1 安装jupyter lab
- 1.2 配置jupyter_lab
- 1.3 打开jupyter lab
- 1.3.1 ip地址方式打开
- 1.3.2 cmd中ssh方式打开
- 2. vino与VNC Viewer
- 2.1 vino的安装
- 2.2 Desktop Sharing配置与设置
- 2.3 启动vino server
- 2.4 安装并打开vnc viewer
- 2.5 设置开机自动启动vnc server
- 2.5.1 以文件方式进行配置
- 2.5.2 在界面中进行配置
- 参考文献
jupyter lab与VNC这两大工具都是用于远程可视化访问,就写在一起了。
1. jupyter lab
1.1 安装jupyter lab
sudo pip3 install jupyter jupyterlab
sudo jupyter labextension install @jupyter-widgets/jupyterlab-manager
sudo jupyter labextension install @jupyterlab/statusbar
sudo jupyter lab --generate-config #生成jupyter_lab_config.py
sudo jupyter-lab password #将密码保存在jupyter_server_config.json
1.2 配置jupyter_lab
cd ~/.jupyter
sudo vim jupyter_lab_config.py
将下列语句添加在文件尾部:
# 允许远程连接
c.ServerApp.allow_remote_access = True
# 允许远程连接者使用root权限
c.ServerApp.allow_root = True
# 服务器监听所有本机IP
c.ServerApp.ip = '*'
# 启动server不打开浏览器
c.ServerApp.open_browser = False
# 设置通信端口
c.ServerApp.port = 8888
1.3 打开jupyter lab
1.3.1 ip地址方式打开
$ jupyter lab --no-browser
在浏览器中输入以下网址,就可以成功打开了:
http://ip:8888/lab
#ip为开发板ip地址,如192.168.0.1
1.3.2 cmd中ssh方式打开
putty终端输入:
$ jupyter lab --no-browser
cmd中输入:
ssh -NL 8080:localhost:8888 username@ip
#ip为开发板ip地址,如192.168.0.1
浏览器中输入:
http://localhost:8080/lab
两种方式都可以,输入密码之后就可以访问了。
2. vino与VNC Viewer
2.1 vino的安装
sudo apt update
sudo apt install vino
输入以下配置信息:
gsettings set org.gnome.Vino prompt-enabled false
gsettings set org.gnome.Vino require-encryption false
这个配置也可以通过dconf-editor进行界面操作实现(参考了jetson nano配置远程桌面连接):
sudo apt-get install dconf-editor
dconf-editor
2.2 Desktop Sharing配置与设置
■ 1) jetson nano 的 Desktop Sharing需要配置才能打开:
sudo vim /usr/share/glib-2.0/schemas/org.gnome.Vino.gschema.xml
添加下列语句到红框位置(不是完全在文件末尾,否则下一步编译出错):
<key name='enabled' type='b'>
<summary>Enable remote access to the desktop</summary>
<description>
If true, allows remote access to the desktop via the RFB
protocol. Users on remote machines may then connect to the
desktop using a VNC viewer.
</description>
<default>false</default>
</key>
■ 2) 编译配置文件
sudo glib-compile-schemas /usr/share/glib-2.0/schemas
■ 3) 设置desktop sharing
可以通过打开界面,添加/修改VNC连接的密码(打开vnc viewer访问远程设备的时候要用到这个密码)。
另外也可以通过命令行进行密码设定/修改:
gsettings set org.gnome.Vino authentication-methods "['vnc']"
gsettings set org.gnome.Vino vnc-password $(echo -n 'password'|base64)
2.3 启动vino server
在主机端(jetson nano)的terminal执行以下语句:
/usr/lib/vino/vino-server
若出现下图,就代表正常启动了。
注意
: 此步骤一定要在主机端(jetson nano)的terminal执行,而不能通过远程访问输入命令执行,否则会出以下错误:
同时若此时通过ip登录vnc viewer也会出错。
2.4 安装并打开vnc viewer
官网下载安装对应平台软件即可,下载安装过程不再细述。
打开软件,点击File–New connection…,打开属性窗口分别输入jetson nano的ip及自定义的name,点击OK就可以了。
打开界面中,点击对应的访问设备图标,输入密码,根据需要选择是否记住密码,点击OK。
远程访问桌面成功!
2.5 设置开机自动启动vnc server
到目前为止,要想在远程访问jetson nano,必须在主机端(jetson nano)的terminal执行以下语句:
/usr/lib/vino/vino-server
2.5.1 以文件方式进行配置
gsettings set org.gnome.Vino enabled true
mkdir -p ~/.config/autostart
vim ~/.config/autostart/vino-server.desktop
在打开文件中添加下列内容:
[Desktop Entry]
Type=Application
Name=Vino VNC server
Exec=/usr/lib/vino/vino-server
NoDisplay=true
重启,直接在windows端打开vnc,查看是否直接可以访问jetson nano。
2.5.2 在界面中进行配置
这里参考了jetson nano开启VNC。
■ 1) 新建一个文件openvino:
sudo vim ~/openvino
在打开文件中添加内容
#!/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
xrandr --fb 1280x1024
/usr/lib/vino/vino-server &
xrandr --fb 1280x1024
此句用于配置远程桌面分辨率。
■ 2) 通过界面添加启动项
分别点击以下图标:
打开界面中点击Add,添加以下信息:
■ 3) 查看~/.config/autostart/文件夹
如果我们使用了文件以及界面添加自动启动两种方式,此时可以打开文件夹 ~/.config/autostart/
,就会发现这两个添加项,都出现在了这个目录中。
可见两种方式实际作用是一样的。
保留其中一个即可,建议保留第二种,里面已经添加了分辨率设置命令。
参考文献
[1] How to run Jupyter Notebooks on remote server — SSH
[2] Running Jupyter Notebook on a remote server
[3] jetson nano开启VNC
[4] jetson nano配置远程桌面连接