Python解釋器+Shell腳本實(shí)現(xiàn)桌面打開軟件過程
整體步驟
步驟 1:創(chuàng)建一鍵啟動(dòng)腳本(替代打包后的 exe)
在/opt/darknet-master/train/目錄下新建 ai_trainer.sh,內(nèi)容:
#!/bin/bash set -e # 出錯(cuò)時(shí)立即退出,便于排查 # ==================== 1. 強(qiáng)制配置環(huán)境(和你的開發(fā)環(huán)境完全一致) ==================== # 激活虛擬環(huán)境 source /opt/Auto-Label-Tool/envs/bin/activate # 配置CUDA/Darknet環(huán)境變量(和終端運(yùn)行一致) 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. 運(yùn)行核心代碼 ==================== echo "===== AI訓(xùn)練助手啟動(dòng)中 =====" python /opt/darknet-master/train/train.py # ==================== 3. 收尾(可選) ==================== deactivate echo "===== 程序運(yùn)行結(jié)束 ====="
步驟 2:賦予腳本執(zhí)行權(quán)限
chmod +x /opt/darknet-master/train/ai_trainer.sh
步驟 3:創(chuàng)建桌面快捷方式(模擬 exe 雙擊)
在 Ubuntu 桌面新建 AI訓(xùn)練助手.desktop 文件(右鍵→新建文檔→重命名),內(nèi)容:
[Desktop Entry] Version=1.0 Type=Application Name=AI訓(xùn)練助手 Comment=YOLO訓(xùn)練工具(替代PyInstaller打包版) Exec=/opt/darknet-master/train/ai_trainer.sh # 腳本絕對(duì)路徑 Icon=/opt/darknet-master/train/AI.png # 你的圖標(biāo)路徑(可選) Terminal=true # 顯示終端日志(便于排查問題) Categories=Development;Utility; Encoding=UTF-8 StartupNotify=true
賦予桌面文件權(quán)限:
chmod +x ~/Desktop/AI訓(xùn)練助手.desktop
步驟 4:運(yùn)行驗(yàn)證
# 方式1:終端直接運(yùn)行(推薦,查看完整日志) /opt/darknet-master/train/ai_trainer.sh # 方式2:雙擊桌面的「AI訓(xùn)練助手」圖標(biāo)(和exe雙擊體驗(yàn)一致)
創(chuàng)建.sh
步驟 1:進(jìn)入目標(biāo)目錄
打開終端,執(zhí)行以下命令切換到 /opt/darknet-master/train/ 目錄:
cd /opt/darknet-master/train/
若提示 Permission denied(權(quán)限不足),先提升權(quán)限:
sudo su # 切換到root用戶(輸入密碼后回車) cd /opt/darknet-master/train/ # 再次進(jìn)入目標(biāo)目錄
步驟 2:創(chuàng)建并編輯ai_trainer.sh
使用 nano 編輯器(簡(jiǎn)單易上手)創(chuàng)建并編輯腳本:
nano ai_trainer.sh
步驟 3:粘貼腳本內(nèi)容
在打開的 nano 編輯器中,粘貼以下完整腳本內(nèi)容(按 Ctrl+V 粘貼):
#!/bin/bash set -e # 出錯(cuò)時(shí)立即退出,便于排查 # ==================== 1. 強(qiáng)制配置環(huán)境(和你的開發(fā)環(huán)境完全一致) ==================== # 激活虛擬環(huán)境 source /opt/Auto-Label-Tool/envs/bin/activate # 配置CUDA/Darknet環(huán)境變量(和終端運(yùn)行一致) 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. 運(yùn)行核心代碼 ==================== echo "===== AI訓(xùn)練助手啟動(dòng)中 =====" python /opt/darknet-master/train/train.py # ==================== 3. 收尾(可選) ==================== deactivate echo "===== 程序運(yùn)行結(jié)束 ====="
步驟 4:保存并退出nano編輯器
- 按
Ctrl+O(保存文件),回車確認(rèn)文件名; - 按
Ctrl+X(退出編輯器)。
步驟 5:賦予腳本執(zhí)行權(quán)限
執(zhí)行以下命令讓腳本具備可運(yùn)行權(quán)限:
chmod +x ai_trainer.sh
若之前切換到了 root 用戶,需確保權(quán)限對(duì)普通用戶生效:
chmod 755 ai_trainer.sh # 所有用戶可執(zhí)行,所有者可讀寫 chown qt:qt ai_trainer.sh # 將文件歸屬改為你的普通用戶(qt)
Ubuntu 桌面新建 .desktop
步驟 1:切換到桌面目錄
打開終端,執(zhí)行命令進(jìn)入桌面路徑(Ubuntu 默認(rèn)桌面路徑為 ~/Desktop):
cd ~/Desktop/
步驟 2:創(chuàng)建并編輯.desktop文件
使用 nano 編輯器創(chuàng)建文件(新手友好):
nano AI訓(xùn)練助手.desktop
步驟 3:粘貼完整配置內(nèi)容
在 nano 編輯器中,粘貼以下內(nèi)容(需根據(jù)你的實(shí)際路徑修改Exec和Icon):
[Desktop Entry] Version=1.0 Type=Application Name=AI訓(xùn)練助手 Comment=YOLO訓(xùn)練工具(替代PyInstaller打包版) # 關(guān)鍵:替換為你的ai_trainer.sh腳本絕對(duì)路徑 Exec=/opt/darknet-master/train/ai_trainer.sh # 可選:替換為你的圖標(biāo)絕對(duì)路徑(無圖標(biāo)可注釋/刪除該行) Icon=/opt/darknet-master/train/AI.png Terminal=true # 顯示終端窗口(便于查看運(yùn)行日志/報(bào)錯(cuò)) Categories=Development;Utility;AI; Encoding=UTF-8 StartupNotify=true # 啟動(dòng)時(shí)顯示通知 Name[zh_CN]=AI訓(xùn)練助手 Comment[zh_CN]=YOLO訓(xùn)練助手,調(diào)用Darknet訓(xùn)練模型
核心參數(shù)說明:
Exec:必須是ai_trainer.sh的絕對(duì)路徑(之前創(chuàng)建的腳本路徑);Icon:可選,填你的圖標(biāo)圖片路徑(如無圖標(biāo),刪除該行即可);Terminal=true:必須保留,否則腳本運(yùn)行時(shí)無日志,出錯(cuò)無法排查。
步驟 4:保存并退出編輯器
- 按
Ctrl+O→ 回車確認(rèn)文件名; - 按
Ctrl+X退出nano。
步驟 5:賦予可執(zhí)行權(quán)限
chmod +x ~/Desktop/AI訓(xùn)練助手.desktop
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python使用MyQR生成動(dòng)態(tài)二維碼的示例代碼
二維碼作為信息傳遞的重要載體,結(jié)合動(dòng)態(tài)圖像技術(shù)可以創(chuàng)造出極具創(chuàng)意的交互體驗(yàn),本文用Python的MyQR庫生成動(dòng)態(tài)二維碼,并通過代碼示例介紹的非常詳細(xì),需要的朋友可以參考下2025-09-09
OpenCV-Python直方圖均衡化實(shí)現(xiàn)圖像去霧
直方圖均衡化可以達(dá)到增強(qiáng)圖像顯示效果的目的。最常用的比如去霧。本文就來實(shí)現(xiàn)直方圖均衡化實(shí)現(xiàn)圖像去霧,感興趣的可以了解一下2021-06-06
Python文本進(jìn)度條實(shí)現(xiàn)過程
文章介紹了使用`print()`函數(shù)實(shí)現(xiàn)簡(jiǎn)單的非刷新文本進(jìn)度條的方法,并按照任務(wù)執(zhí)行百分比來更新進(jìn)度條,提供了單行動(dòng)態(tài)刷新和帶刷新的文本進(jìn)度條的示例,此外,還設(shè)計(jì)了不同風(fēng)格的進(jìn)度條更新函數(shù),以適應(yīng)不同的需求和偏好2026-04-04
分享4個(gè)方便且好用的Python自動(dòng)化腳本
自動(dòng)化測(cè)試是把以人為驅(qū)動(dòng)的測(cè)試行為轉(zhuǎn)化為機(jī)器執(zhí)行的一種過程,直白的就是為了節(jié)省人力、時(shí)間或硬件資源,提高測(cè)試效率,這篇文章主要給大家分享介紹了3個(gè)方便且好用的Python自動(dòng)化腳本,需要的朋友可以參考下2022-02-02
Python與Java接入AI模型的MCP協(xié)議的原理與實(shí)現(xiàn)
MCP(Model Context Protocol) 是一種專為遠(yuǎn)程控制和管理 AI 大模型而設(shè)計(jì)的通信協(xié)議,本文小編就為大家大家介紹一下Python和Java 中接入AI大模型的MCP協(xié)議的具體方法吧2025-05-05
python模塊詳解之pywin32使用文檔(python操作windowsAPI)
pywin32是一個(gè)第三方模塊庫,主要的作用是方便python開發(fā)者快速調(diào)用windows API的一個(gè)模塊庫,這篇文章主要給大家介紹了關(guān)于python模塊詳解之pywin32使用文檔的相關(guān)資料,文中將python操作windowsAPI介紹的非常詳細(xì),需要的朋友可以參考下2024-01-01
pytorch 實(shí)現(xiàn)查看網(wǎng)絡(luò)中的參數(shù)
今天小編就為大家分享一篇pytorch 實(shí)現(xiàn)查看網(wǎng)絡(luò)中的參數(shù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-01-01
Python異常信息的不同展現(xiàn)方法總結(jié)
在日常開發(fā)的過程中,當(dāng)代碼報(bào)錯(cuò)時(shí),我們通常要不斷打印、閱讀traceback提示信息,來調(diào)試代碼,這篇文章介紹了如何實(shí)現(xiàn)一個(gè)Exception?Hooks,使得traceback模塊的提示信息更加精確;同時(shí)還介紹了一些第三方庫,這些庫也提供了Exception?Hooks的功能2022-11-11

