NVIDIA Jetson Xavier NX 简单配置
1.使用NVIDIA SDK Manager刷入系统
这部分比较基础,需要良好的网络环境和基本的软件安装操作能力,主要分为以下步骤:
安装Ubuntu 20.04 x64虚拟机
在虚拟机中安装NVIDIA SDK Manager
使用micro-B数据线将板子连接到电脑,并且设置默认连接到虚拟机
如果安装过系统,需要将Jetson Xavier NX的REC/GND引脚短接,开机强制进入恢复模式,才能连接电脑刷机使用SDK Manager下载并给板子刷入系统,此过程需要具备良好的网络环境
“Flash Jetson Linux“阶段完成后,会重新连接一次设备,但此时板子可能还没准备好,虽然能ping通但是ssh是无法连接的,SDK Manager会自动重新尝试,不用干预,等系统准备好会自动连接上ssh。
此时需要注意及时将其连接到虚拟机并设为默认连接到虚拟机,建议直接更改VMWare设置:漫长的等待……
安装完成
2.连接SSH
在你的电脑上安装一个XShell软件(传送门)或使用其他SSH客户端,在你还没有配置WiFi网络的时候,只能通过USB连接到开发板然后通过RNDIS网络连接SSH。
接下来,你就可以进行其他操作了,例如连接网络、安装远程桌面服务等。
3.连接网络
方法一:RJ45有线网络
直接插网线即可。
方法二:WiFi无线网络
使用以下命令:
sudo nmcli device wifi # 搜索无线网络
sudo nmcli device wifi connect WIFI名称 password WIFI密码 # 连接无线网络,注意替换成自己的WIFI名称和密码
ifconfig # 查看在网络中的IP地址
4.更换国内源
首先按照国际惯例创建一个备份,然后直接使用sed
替换即可。
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo sed -i "s/ports.ubuntu.com/mirrors.ustc.edu.cn/g" /etc/apt/sources.list
# 更新软件包列表不是必需的,但建议执行一下
sudo apt update
5.配置远程桌面服务
远程开发当然比接显示器、键盘鼠标方便许多,不过在Linux上配置会比较麻烦,这里建议直接安装一个NoMachine软件。当然你也可以选择方法二或方法三自己配置一下。
方法一:使用NoMachine软件作为远程桌面服务
在Jetson Xavier NX上下载并安装NoMachine
下载链接可以在这里找到:https://downloads.nomachine.com/linux/?id=30&distro=Arm
也可以直接复制以下命令下载:
wget https://download.nomachine.com/download/8.11/Arm/nomachine_8.11.3_3_arm64.deb
sudo apt install nomachine*.deb
在你的电脑上安装NoMachine软件
直接打开https://www.nomachine.com/官网,点击大大的”Download Now”下载按钮,下载安装即可。
注意:安装过程中安全软件可能会拦截NoMachine创建用户账户的请求,如果你不需要远程控制你的电脑只需要作为客户端使用,可以忽略,但如果后续需要此功能,那么必须卸载重装NoMachine。
方法二:使用系统自带的vino作为VNC服务器
自带的性能比较差,实测通过USB网络连接的情况下,肉眼可见FPS只有5不到……
推荐跳过此步骤,按照后面的教程配置。
# 安装vino(默认自带)
sudo apt update
sudo apt install vino
# 每次登录自动启动VNC服务器
mkdir -p ~/.config/autostart
cp /usr/share/applications/vino-server.desktop ~/.config/autostart
# 更改VNC服务器设置和设置密码
gsettings set org.gnome.Vino prompt-enabled false
gsettings set org.gnome.Vino require-encryption false
gsettings set org.gnome.Vino authentication-methods "['vnc']"
gsettings set org.gnome.Vino vnc-password $(echo -n '这里替换成你的密码'|base64) # 别忘了把密码部分替换为你自己要设置的密码
sudo reboot # 重启以让设置生效
更改默认分辨率
根据官方文档README-vnc.txt
,如果没有连接到显示器,则默认的分辨率设定为640x480,实在是有点小,除非你的板子始终有显示器连接,否则但凡有headless使用场景都建议更改一下默认分辨率。
这里更改的是X11默认的分辨率,无论你使用自带的vino还是后安装的vnc服务器,都是修改此配置文件。
# 系统默认不带nano编辑器,需要自行安装,这里直接使用自带的vim
sudo vim /etc/X11/xorg.conf
在文件末尾,添加以下内容:
Section "Screen"
Identifier "Default Screen"
Monitor "Configured Monitor"
Device "Tegra0"
SubSection "Display"
Depth 24
Virtual 1920 1080 # 填写你需要的分辨率,这里以1920x1080为例
EndSubSection
EndSection
输入完后,按ESC
输入wq
回车保存文件。
方法三:使用xfce4桌面+xrdp作为远程桌面服务器
如果你已经打开了系统默认的vino作为服务器,先关闭:
sudo rm -rf ~/.config/autostart/vino-server.desktop
sudo reboot # 重启生效
然后安装xrdp
和xfce4
sudo apt install xrdp -y
sudo apt install xfce4 -y
然后修改xrdp
的配置文件startwm.sh
# 找到以下两行注释掉
# test -x /etc/X11/Xsession && exec /etc/X11/Xsession
# exec /bin/sh /etc/X11/Xsession
# 然后在文件末尾添加
startxfce4
重新启动xrdp
服务:
sudo service xrdp restart
在Windows电脑上启动远程桌面(Win+R运行mstsc
)
实测使用自带的gnome是无法连接Xorg的,Xvnc则是从来没成功过,不过这样至少Xorg能稳定使用。
Xfce4没有Gnome那么花里胡哨,没什么过渡动画,但因此也更适合远程桌面环境。
优化Xrdp流畅度
尽管Xfce4没什么动画,但默认配置下Xrdp看起来还是不怎么流畅,需要调整Xrdp的配置。
编辑/etc/xrdp/xrdp.ini
6.安装jtop(jetson-stats)
安装pip
和jetson-stats
:
sudo apt install python3-pip
sudo -H pip3 install jetson-stats
sudo reboot # 需要重启以启动服务
重启后,使用jtop
命令进入:
7.更改省电设置
8.禁止Ubuntu自动更新
之前的系统因为自动更新了内核,后来WiFi没法用重新刷了一次机……
后来,又是自动更新导致蓝牙没法用……
索性,既然JetPack5.1.3自带的内核没什么大问题,就直接禁止更新好了:
10.禁用或启用开机自启桌面(Headless Mode)
如果你在初次启动刚刷好的系统时,没有插入显示器(HDMI或DP),那么Jetson默认会被配置为Headless模式,也就是不启动系统桌面,即使后续插上显示器也只会进入终端,需要手动才可以启动桌面。但你也可以手动配置:
sudo systemctl set-default multi-user.target # 禁用桌面开机自启
sudo systemctl set-default graphical.target # 启用桌面开机自启
禁用开机桌面自启之后,启动就不会进入桌面了,而是终端。
如果你需要启动默认进入桌面(误配置为了HeadlessMode),执行上面第二行命令即可。
其他
后续等待更新……
- 感谢你赐予我前进的力量