Python 解释器 + Shell 脚本实现桌面打开软件

整体步骤

步骤 1:创建一键启动脚本(替代打包后的 exe)

/opt/darknet-master/train/目录下新建 ai_trainer.sh,内容:

复制代码
#!/bin/bash
set -e  # 出错时立即退出,便于排查

# ==================== 1. 强制配置环境(和你的开发环境完全一致) ====================
# 激活虚拟环境
source /opt/Auto-Label-Tool/envs/bin/activate

# 配置CUDA/Darknet环境变量(和终端运行一致)
export PATH="/usr/local/cuda-11.4/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-11.4/lib64:/opt/darknet-master:$LD_LIBRARY_PATH"
export CUDA_HOME="/usr/local/cuda-11.4"
export PYTHONPATH="/opt/darknet-master/train:$PYTHONPATH"

# ==================== 2. 运行核心代码 ====================
echo "===== AI训练助手启动中 ====="
python /opt/darknet-master/train/train.py

# ==================== 3. 收尾(可选) ====================
deactivate
echo "===== 程序运行结束 ====="
步骤 2:赋予脚本执行权限
复制代码
chmod +x /opt/darknet-master/train/ai_trainer.sh
步骤 3:创建桌面快捷方式(模拟 exe 双击)

在 Ubuntu 桌面新建 AI训练助手.desktop 文件(右键→新建文档→重命名),内容:

复制代码
[Desktop Entry]
Version=1.0
Type=Application
Name=AI训练助手
Comment=YOLO训练工具(替代PyInstaller打包版)
Exec=/opt/darknet-master/train/ai_trainer.sh  # 脚本绝对路径
Icon=/opt/darknet-master/train/AI.png        # 你的图标路径(可选)
Terminal=true  # 显示终端日志(便于排查问题)
Categories=Development;Utility;
Encoding=UTF-8
StartupNotify=true

赋予桌面文件权限:

复制代码
chmod +x ~/Desktop/AI训练助手.desktop
步骤 4:运行验证
复制代码
# 方式1:终端直接运行(推荐,查看完整日志)
/opt/darknet-master/train/ai_trainer.sh

# 方式2:双击桌面的「AI训练助手」图标(和exe双击体验一致)

创建.sh

步骤 1:进入目标目录

打开终端,执行以下命令切换到 /opt/darknet-master/train/ 目录:

复制代码
cd /opt/darknet-master/train/

⚠️ 若提示 Permission denied(权限不足),先提升权限:

复制代码
sudo su  # 切换到root用户(输入密码后回车)
cd /opt/darknet-master/train/  # 再次进入目标目录
步骤 2:创建并编辑 ai_trainer.sh

使用 nano 编辑器(简单易上手)创建并编辑脚本:

复制代码
nano ai_trainer.sh
步骤 3:粘贴脚本内容

在打开的 nano 编辑器中,粘贴以下完整脚本内容(按 Ctrl+V 粘贴):

复制代码
#!/bin/bash
set -e  # 出错时立即退出,便于排查

# ==================== 1. 强制配置环境(和你的开发环境完全一致) ====================
# 激活虚拟环境
source /opt/Auto-Label-Tool/envs/bin/activate

# 配置CUDA/Darknet环境变量(和终端运行一致)
export PATH="/usr/local/cuda-11.4/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-11.4/lib64:/opt/darknet-master:$LD_LIBRARY_PATH"
export CUDA_HOME="/usr/local/cuda-11.4"
export PYTHONPATH="/opt/darknet-master/train:$PYTHONPATH"

# ==================== 2. 运行核心代码 ====================
echo "===== AI训练助手启动中 ====="
python /opt/darknet-master/train/train.py

# ==================== 3. 收尾(可选) ====================
deactivate
echo "===== 程序运行结束 ====="
步骤 4:保存并退出 nano 编辑器
  1. Ctrl+O(保存文件),回车确认文件名;
  2. Ctrl+X(退出编辑器)。
步骤 5:赋予脚本执行权限

执行以下命令让脚本具备可运行权限:

复制代码
chmod +x ai_trainer.sh

⚠️ 若之前切换到了 root 用户,需确保权限对普通用户生效:

复制代码
chmod 755 ai_trainer.sh  # 所有用户可执行,所有者可读写
chown qt:qt ai_trainer.sh  # 将文件归属改为你的普通用户(qt)

Ubuntu 桌面新建 .desktop

步骤 1:切换到桌面目录

打开终端,执行命令进入桌面路径(Ubuntu 默认桌面路径为 ~/Desktop):

复制代码
cd ~/Desktop/
步骤 2:创建并编辑 .desktop 文件

使用 nano 编辑器创建文件(新手友好):

复制代码
nano AI训练助手.desktop
步骤 3:粘贴完整配置内容

nano 编辑器中,粘贴以下内容(需根据你的实际路径修改ExecIcon):

复制代码
[Desktop Entry]
Version=1.0
Type=Application
Name=AI训练助手
Comment=YOLO训练工具(替代PyInstaller打包版)
# 关键:替换为你的ai_trainer.sh脚本绝对路径
Exec=/opt/darknet-master/train/ai_trainer.sh
# 可选:替换为你的图标绝对路径(无图标可注释/删除该行)
Icon=/opt/darknet-master/train/AI.png
Terminal=true  # 显示终端窗口(便于查看运行日志/报错)
Categories=Development;Utility;AI;
Encoding=UTF-8
StartupNotify=true  # 启动时显示通知
Name[zh_CN]=AI训练助手
Comment[zh_CN]=YOLO训练助手,调用Darknet训练模型

⚠️ 核心参数说明:

  • Exec:必须是 ai_trainer.sh绝对路径(之前创建的脚本路径);
  • Icon:可选,填你的图标图片路径(如无图标,删除该行即可);
  • Terminal=true:必须保留,否则脚本运行时无日志,出错无法排查。
步骤 4:保存并退出编辑器
  1. Ctrl+O → 回车确认文件名;
  2. Ctrl+X 退出 nano
步骤 5:赋予可执行权限
复制代码
chmod +x ~/Desktop/AI训练助手.desktop
相关推荐
2603_965148117 小时前
如何解析JSON数据?API返回的商品信息处理教程
开发语言·数据库·python·自动化·json·api
jufeng13078 小时前
【系列:手搓自主 AI Agent:Hermes 架构原理剖析 · 第 8 篇】
python·ai agent·配置系统
circuitsosk8 小时前
跨境电商智能化实战:AI如何赋能客服自动回复、广告智能投放与供应链预测
大数据·人工智能·python·langchain·智能客服
2601_956319889 小时前
2026年零基础学量化:从看懂示例到写清条件和动作
人工智能·python
知无不研9 小时前
lambda表达式的使用(3)
开发语言·c++·lambda
过期的秋刀鱼!10 小时前
LangChain-D1-模型的工作流程
人工智能·python·langchain
萤火工厂目视化设计10 小时前
智能制造与企业文化目视化浪潮下:中小工厂的机遇与挑战
python·制造
cfm_291410 小时前
SpringAI + Ollama 本地大模型
java·开发语言·人工智能·语言模型
DeepVisionary11 小时前
从GPT-5.6 Sol的Ultrafast模式看推理速度竞赛:750 token/秒背后,Cerebras的晶圆级生意
python·自动化
C++ 老炮儿的技术栈11 小时前
基于Qt实现轻量化本地音乐播放器
开发语言·c++·qt·c·播放器·音乐