互动
最近评论
Administrator
stonewu
你可以通过 systemd 来添加开机自启动,并按照你描述的顺序运行两个程序。下面是完整步骤: 1. 创建启动脚本 在你的主目录下创建一个脚本,例如: nano ~/start_dji_windread.sh 写入以下内容: #!/bin/bash # 启动 DJI 程序 cd /home/nvidia/kfd-test/Payload-SDK-master-0903/build/bin sudo ./dji_sdk_demo_linux_cxx & # 等待 5 秒 sleep 5 # 启动 windread cd /home/nvidia/kfd-test/windread python3 wind_read.py & 保存后赋予执行权限: chmod +x ~/start_dji_windread.sh 2. 允许免密 sudo(仅针对 dji 程序) 因为 systemd 在启动时没有图形界面无法输入密码,可以为特定命令配置免密: sudo visudo 在文件末尾添加一行: nvidia ALL=(ALL) NOPASSWD: /home/nvidia/kfd-test/Payload-SDK-master-0903/build/bin/dji_sdk_demo_linux_cxx ⚠️ 注意:只针对该二进制文件免密,而不是对所有命令免密,降低风险。 3. 创建 systemd 服务 创建一个新的服务文件: sudo nano /etc/systemd/system/dji_windread.service 写入以下内容: [Unit] Description=Start DJI SDK demo and windread on boot After=network.target [Service] User=nvidia Group=nvidia Type=simple ExecStart=/home/nvidia/start_dji_windread.sh Restart=always RestartSec=10 [Install] WantedBy=multi-user.target 4. 重新加载并启用服务 sudo systemctl daemon-reexec sudo systemctl enable dji_windread.service 立即测试: sudo systemctl start dji_windread.service 查看运行状态: systemctl status dji_windread.service 5. 验证开机启动 重启系统: sudo reboot 重启后使用以下命令确认服务是否正在运行: systemctl status dji_windread.service ✅ 总结 用一个启动脚本封装启动顺序与延时。 用 visudo 为 dji_sdk_demo_linux_cxx 配置免密 sudo。 用 systemd 创建服务,设置为 multi-user.target 下开机自启动。 这种方式安全且可维护,重启后会自动先运行 DJI 程序,再延迟 5 秒启动 windread。
原则体系(持续完善中......)
两只地板票
250603-250606
你好啊!我是
toohardle
最新评论
头像
你可以通过 systemd 来添加开机自启动,并按照你描述的顺序运行两个程序。下面是完整步骤: 1. 创建启动脚本 在你的主目录下创建一个脚本,例如: nano ~/start_dji_windread.sh 写入以下内容: #!/bin/bash # 启动 DJI 程序 cd /home/nvidia/kfd-test/Payload-SDK-master-0903/build/bin sudo ./dji_sdk_demo_linux_cxx & # 等待 5 秒 sleep 5 # 启动 windread cd /home/nvidia/kfd-test/windread python3 wind_read.py & 保存后赋予执行权限: chmod +x ~/start_dji_windread.sh 2. 允许免密 sudo(仅针对 dji 程序) 因为 systemd 在启动时没有图形界面无法输入密码,可以为特定命令配置免密: sudo visudo 在文件末尾添加一行: nvidia ALL=(ALL) NOPASSWD: /home/nvidia/kfd-test/Payload-SDK-master-0903/build/bin/dji_sdk_demo_linux_cxx ⚠️ 注意:只针对该二进制文件免密,而不是对所有命令免密,降低风险。 3. 创建 systemd 服务 创建一个新的服务文件: sudo nano /etc/systemd/system/dji_windread.service 写入以下内容: [Unit] Description=Start DJI SDK demo and windread on boot After=network.target [Service] User=nvidia Group=nvidia Type=simple ExecStart=/home/nvidia/start_dji_windread.sh Restart=always RestartSec=10 [Install] WantedBy=multi-user.target 4. 重新加载并启用服务 sudo systemctl daemon-reexec sudo systemctl enable dji_windread.service 立即测试: sudo systemctl start dji_windread.service 查看运行状态: systemctl status dji_windread.service 5. 验证开机启动 重启系统: sudo reboot 重启后使用以下命令确认服务是否正在运行: systemctl status dji_windread.service ✅ 总结 用一个启动脚本封装启动顺序与延时。 用 visudo 为 dji_sdk_demo_linux_cxx 配置免密 sudo。 用 systemd 创建服务,设置为 multi-user.target 下开机自启动。 这种方式安全且可维护,重启后会自动先运行 DJI 程序,再延迟 5 秒启动 windread。
Administrator /
最近发布
诱多欺骗与真实拉升
诱多欺骗与真实拉升
读书观影笔记
读书观影笔记
核心逻辑-大佬语录
核心逻辑-大佬语录
做头分析与入场时机
做头分析与入场时机