将Jetson用于生产环境之前的配置
为什么要进行这些配置?
当将Jetson作为生产环境使用时(对于我来说是参加竞赛),默认的许多设置都并不太合适,例如默认的休眠设置、软件更新弹窗等等……因此需要进行调整。
系统设置
性能模式
如果你使用默认的GNOME桌面环境,那么在右上角英伟达小Logo处的快捷栏就可以更改。
如果更换了桌面或使用CLI环境,可以通过jtop工具或nvpmodel命令手动更改。
安装jtop(需要重启):
sudo pip install -U jtop
sudo reboot
重启后即可使用jtop
更改性能模式:
电源设置
主要更改Blank Screen
和Automatic Suspend
设置,分别改为Never
和Off
即可完全关闭自动休眠。
禁用通知
适用于你需要使用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,那么建议直接彻底关闭软件更新。
参考:
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*
- 感谢你赐予我前进的力量