Jetson Nano 启动VNC(tigervnc)

很多时候,Jetson Nano 2G/4G我们都是很少连接显示器的,但有时候又些设置在桌面操作会更加方便有效。所以在这分享前人总结的经验和技巧。

环境

硬件

使用的硬件版本是:
Jetson Nano 2G

软件

本文的测试环境,输入一下命令:

cat /etc/nv_tegra_release

返回Jetson Nano 的Jetpack系统版本信息,本示例如下:

# R32 (release), REVISION: 6.1, GCID: 27863751, BOARD: t210ref, EABI: aarch64, DATE: Mon Jul 26 19:20:30 UTC 2021

版本是Jetpack 6.1

安装

sudo apt install tigervnc-common tigervnc-standalone-server tigervnc-scraping-server

设定密码

vncpasswd

启动 vnc

使用以下命令,即可以开启VNC服务:

x0vncserver -display :0 -passwordfile ~/.vnc/passwd

现在可以打开VNC软件,输入IP地址就可以远程操作Jetson Nano的桌面了。

设置显示分辨率

此步骤不一定是必须的,在我尝试了这个修改后,Jetson Nano 启动后进入了命令行界面,而无法进入桌面。

所以,先备份原来的配置文件

sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.bak

再开始我们的修改分辨率的设置。即使出现问题,都可以恢复。

当显示器没有连接到Jetson,屏幕尺寸也会是默认尺寸,分辨率非常高,屏幕会显示的很小。因此,最好提前设置屏幕尺寸。更改配置文件如下:

修改配置文件

nano /etc/X11/xorg.conf

可以复制以下信息

# Copyright (c) 2011-2013 NVIDIA CORPORATION.  All Rights Reserved.

#
# This is the minimal configuration necessary to use the Tegra driver.
# Please refer to the xorg.conf man page for more configuration
# options provided by the X server, including display-related options
# provided by RandR 1.2 and higher.

# Disable extensions not useful on Tegra.
Section "Module"
    Disable     "dri"
    SubSection  "extmod"
        Option  "omit xfree86-dga"
    EndSubSection
EndSection

Section "Device"
    Identifier  "Tegra0"
    Driver      "nvidia"
# Allow X server to be started even if no display devices are connected.
    Option      "AllowEmptyInitialConfiguration" "true"
EndSection

Section "Monitor"
   Identifier "DSI-0"
   Option    "Ignore"
EndSection

Section "Screen"
   Identifier    "Default Screen"
   Monitor        "Configured Monitor"
   Device        "Default Device"
   SubSection "Display"
       Depth    24
       Virtual 1280 800
EndSubSection

如下图所示:

image-20211121181627630

又或者使用另一种方法设置分辨率,运行以下命令设置:

export DISPLAY=:0.0
xrandr --fb 1024x768

再启动vnc的服务,然后就可以vnc看到比较大的分辨率了。但这个缺点是重启就失效,需要重新设置。

参考:

https://dev.classmethod.jp/articles/jetson-remote-desktop-with-vnc/