Python解释器+Shell脚本实现桌面打开软件过程
作者:a_zzzzzzzz
本文介绍了在Ubuntu系统上创建一个模拟Windows可执行文件(.exe)的脚本(.sh),并通过桌面快捷方式实现一键启动,整个过程包括创建脚本、赋予执行权限、创建桌面快捷方式以及运行验证
整体步骤
步骤 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编辑器
- 按
Ctrl+O(保存文件),回车确认文件名; - 按
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 编辑器中,粘贴以下内容(需根据你的实际路径修改Exec和Icon):
[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:保存并退出编辑器
- 按
Ctrl+O→ 回车确认文件名; - 按
Ctrl+X退出nano。
步骤 5:赋予可执行权限
chmod +x ~/Desktop/AI训练助手.desktop
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
