为什么要进行这些配置?

当将Jetson作为生产环境使用时(对于我来说是参加竞赛),默认的许多设置都并不太合适,例如默认的休眠设置、软件更新弹窗等等……因此需要进行调整。

系统设置

性能模式

如果你使用默认的GNOME桌面环境,那么在右上角英伟达小Logo处的快捷栏就可以更改。

如果更换了桌面或使用CLI环境,可以通过jtop工具或nvpmodel命令手动更改。

安装jtop(需要重启):

sudo pip install -U jtop
sudo reboot

重启后即可使用jtop更改性能模式:

电源设置

主要更改Blank ScreenAutomatic Suspend设置,分别改为NeverOff即可完全关闭自动休眠。

禁用通知

适用于你需要使用Jetson显示GUI界面的应用场景,毕竟没有人希望GUI跑着跑着突然弹出一个系统通知……

音频设备(扬声器/麦克风)

适用于你需要使用Jetson播放音频(通过HDMI或DP或USB声卡而不是默认的音频设备)的场景。

网络上的教程都使用修改PulseAudio配置文件的方式,但实测这种方式非常容易翻车,修改失误容易导致PA服务无法启动,音频输入输出全失效……

这里推荐创建自启动脚本来更改这个设置。

首先找到你想要的设备:

pacmd list-sinks | egrep "name:|index"
pacmd list-sources | egrep "name:|index"

输出如下:

jetson@ubuntu:~$ pacmd list-sinks | egrep "name:|index"
    index: 0
        name: <alsa_output.platform-3510000.hda.hdmi-stereo-extra1>
  * index: 1
        name: <alsa_output.platform-sound.analog-stereo>
jetson@ubuntu:~$ pacmd list-sources | egrep "name:|index"
    index: 0
        name: <alsa_output.platform-3510000.hda.hdmi-stereo-extra1.monitor>
    index: 1
        name: <alsa_input.usb-USB_Camera_USB_Camera_01.00.00-02.analog-stereo>
    index: 2
        name: <alsa_output.platform-sound.analog-stereo.monitor>
  * index: 3
        name: <alsa_input.platform-sound.analog-stereo>

例如我希望设置默认输出设备(sink)为HDMI,其index为0;设置默认输入设备(source)为USB Camera其index为1,使用如下的命令即可:

pacmd set-default-sink 0    # 设置默认输出设备
pacmd set-default-source 1  # 设置默认输入设备

在设置中可以看到,输入命令之后默认设备已经成功更改。

但pacmd这个工具其实非常强大,还可以调整音量,例如我希望调整HDMI输出的音量为100%:

pacmd set-sink-volume 0 0x10000 # 此处0为设备index,0x10000为100%音量,0为静音

接下来创建一个脚本并将其设为开机自启:

nano ~/init_audio.sh
#!/bin/bash
sleep 10
# 设置默认Sink和Source
pacmd set-default-sink 0
pacmd set-default-source 1
# 更改输出音量
pacmd set-sink-volume 0 0x10000

给予脚本执行权限并设置自启动:

chmod +x ~/init_audio.sh
mkdir -p ~/.config/systemd/user
nano ~/.config/systemd/user/set-pulse-default.service

service文件(注意更改第7行的脚本路径):

[Unit]
Description=Set PulseAudio Default Sink and Source
After=pulseaudio.service

[Service]
Type=oneshot
ExecStart=/home/jetson/init_audio.sh

[Install]
WantedBy=default.target

启用服务:L

# 重新加载系统d用户单元文件:
systemctl --user daemon-reload
# 启用服务,使其在每次登录时自动运行:
systemctl --user enable set-pulse-default.service
# 立即启动服务以测试:
systemctl --user start set-pulse-default.service
# 检查服务状态以确保其运行正常:
systemctl --user status set-pulse-default.service

启用服务后程序会等待10秒,然后执行这几条更改PulseAudio设置的命令,将设置窗口开在一旁可以立刻看到设备被更改,即是成功了。

之后可以重启系统再看一下音频设备是否为自己想要的设备。

禁用自动更新

如果你也受够了Ubuntu启动时自动弹出的Software Update,那么建议直接彻底关闭软件更新。

参考:https://blog.csdn.net/Dontla/article/details/134965681

sudo systemctl disable unattended-upgrades.service #禁止开机启动无人更新
sudo systemctl stop unattended-upgrades.service #停止无人更新服务

sudo systemctl disable apt-daily.timer #禁止自动下载
sudo systemctl stop apt-daily.timer #停止自动下载
sudo systemctl disable apt-daily.service #禁止自动下载
sudo systemctl stop apt-daily.service #停止自动下载

sudo systemctl disable apt-daily-upgrade.timer #禁止自动更新
sudo systemctl stop apt-daily-upgrade.timer #停止自动更新
sudo systemctl disable apt-daily-upgrade.service #禁止自动更新
sudo systemctl stop apt-daily-upgrade.service #停止自动更新

sudo systemctl daemon-reload #最后执行

系统瘦身

Jetson Linux基于Ubuntu发行版,但默认自带的一些软件实在是用不上,比如LibreOffice(到底是谁想要在Jetson上用办公软件啊……),尤其是对于不自带固态硬盘的Jetson来说,这些非必要软件包挤占了很多本就寸土寸金的空间,因此只要下面这些软件包你不需要都建议直接卸载。

卸载LibreOffice

节省空间:300MB左右

sudo apt update
sudo apt purge libreoffice*