Loading... # 简介 此指南的目的是在 Linux 系统中,通过 **Systemd 服务** 实现开机后自动执行以下操作: 1. 切换到 `/home/huoyu/Image_transmission` 目录。 2. 激活名为 `video` 的 Conda 环境。 3. 执行 Python 脚本 `python send_camera_and_mic_p2p_ultimate.py`。 ## 🛠️ 步骤一:创建并配置启动脚本 创建一个 Shell 脚本来封装所有命令,确保 Conda 环境能正确初始化。 ### 1. 创建脚本文件 在 `/home/huoyu` 目录下创建脚本文件: ```sh nano /home/huoyu/start_video_transmission.sh ``` ### 2. 写入脚本内容 根据您最终确认的 **Miniconda 路径** `/home/huoyu/miniconda3/etc/profile.d/conda.sh` 写入以下内容: ```sh #!/bin/bash # 1. 设置正确的 HOME 路径 export HOME=/home/huoyu # 2. 激活 conda 环境 # 使用您找到的准确路径来初始化 Shell 环境 source /home/huoyu/miniconda3/etc/profile.d/conda.sh # 3. 切换到工作目录 cd /home/huoyu/Image_transmission # 4. 激活目标 conda 环境 conda activate video # 5. 执行 Python 脚本 python send_camera_and_mic_p2p_ultimate.py exit 0 ``` ### 3. 赋予执行权限 ```sh chmod +x /home/huoyu/start_video_transmission.sh ``` ## ⚙️ 步骤二:创建 Systemd Service 文件 创建一个 Systemd 单元文件,定义服务的运行方式和自启配置。 ### 1. 创建 Service 文件 使用 `sudo` 权限在系统服务目录创建文件: ```sh sudo nano /etc/systemd/system/huoyu_video_service.service ``` ### 2. 写入 Service 内容 确保文件中包含 **`[Install]` 段落** 和 **`WantedBy=multi-user.target`** ,这是设置开机自启的关键。 ```sh [Unit] # 描述你的服务 Description=Huoyu Video Transmission Service # 在网络服务和文件系统挂载完成后启动 After=network.target [Service] # 服务类型:simple 表示主进程就是服务本身 Type=simple # 服务的启动用户(非常重要) User=huoyu # 服务的启动群组 Group=huoyu # 启动时执行的命令 (指向你创建的脚本) ExecStart=/home/huoyu/start_video_transmission.sh # 脚本的工作目录 (可选) WorkingDirectory=/home/huoyu/Image_transmission # 标准输出和标准错误输出重定向 (方便调试) StandardOutput=journal StandardError=journal # 进程重启策略:如果脚本退出,总是尝试重启 Restart=always # 重启延迟时间 RestartSec=3 [Install] # 多用户环境就绪时启动 (即开机后) # **【重点】这一行是 enable 命令成功的关键** WantedBy=multi-user.target ``` ## ✅ 步骤三:启用和启动服务 完成文件创建后,通知 Systemd 并启用服务。 ### 1. 重新加载 Systemd 配置 让 Systemd 读取新的服务文件: ```sh sudo systemctl daemon-reload ``` ### 2. 设置开机自启 启用服务,使其在下次开机时自动运行: ```sh sudo systemctl enable huoyu_video_service.service ``` ### 3. 立即启动服务 无需重启,立即启动服务进行测试: ```sh sudo systemctl start huoyu_video_service.service ``` ### 4. 检查服务状态和日志 检查服务是否正在运行: ```sh sudo systemctl status huoyu_video_service.service ``` 实时查看服务的日志输出,以便调试: ```sh sudo journalctl -u huoyu_video_service.service -f ``` --- 最后修改:2025 年 11 月 30 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏