在mac上安裝sh腳本文件

要將 jd-gui.sh 腳本轉換為在 macOS ARM 系統上帶有自定義圖標的可點擊運行的程序,你可以通過創建一個應用程序包(.app)來實現。以下是詳細步驟:

步驟 1:創建應用程序包目錄結構

應用程序包實際上是一個特殊的目錄,其結構遵循一定的規范。首先,創建一個新的目錄,作為你的應用程序包。目錄名應以 .app 結尾,例如 JD-GUI.app

mkdir -p JD-GUI.app/Contents/MacOS

步驟 2:復制腳本到應用程序包

jd-gui.sh 腳本復制到 JD-GUI.app/Contents/MacOS 目錄中,并確保腳本具有可執行權限。

cp jd-gui.sh JD-GUI.app/Contents/MacOS/
chmod +x JD-GUI.app/Contents/MacOS/jd-gui.sh

步驟 3:創建應用程序包的 Info.plist 文件

Info.plist 文件是應用程序包的配置文件,它包含了應用程序的各種信息,如名稱、版本、圖標等。在 JD-GUI.app/Contents 目錄下創建 Info.plist 文件,并添加以下內容:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict><key>CFBundleExecutable</key><string>jd-gui.sh</string><key>CFBundleIconFile</key><string>icon.icns</string><key>CFBundleIdentifier</key><string>com.example.jdgui</string><key>CFBundleInfoDictionaryVersion</key><string>6.0</string><key>CFBundleName</key><string>JD-GUI</string><key>CFBundlePackageType</key><string>APPL</string><key>CFBundleShortVersionString</key><string>1.0</string><key>CFBundleVersion</key><string>1</string>
</dict>
</plist>

步驟 4:準備自定義圖標

你需要準備一個 .icns 格式的圖標文件。如果你只有其他格式的圖標(如 .png),可以使用 macOS 自帶的 iconutil 工具將其轉換為 .icns 格式。以下是轉換步驟:

  1. 創建一個臨時目錄,用于存放不同尺寸的圖標:
mkdir icon.iconset
  1. 將不同尺寸的圖標(如 16x16、32x32、128x128 等)復制到 icon.iconset 目錄中,并按照以下命名規則命名:
icon_16x16.png
icon_16x16@2x.png
icon_32x32.png
icon_32x32@2x.png
icon_128x128.png
icon_128x128@2x.png
icon_256x256.png
icon_256x256@2x.png
icon_512x512.png
icon_512x512@2x.png
  1. 使用 iconutil 工具將圖標集轉換為 .icns 文件:
iconutil -c icns icon.iconset -o icon.icns

步驟 5:將圖標文件復制到應用程序包

將生成的 icon.icns 文件復制到 JD-GUI.app/Contents/Resources 目錄中。

mkdir -p JD-GUI.app/Contents/Resources
cp icon.icns JD-GUI.app/Contents/Resources/

步驟 6:將應用程序包移動到應用程序文件夾

JD-GUI.app 移動到 /Applications 文件夾中,這樣你就可以在程序塢中找到它并點擊運行。

mv JD-GUI.app /Applications/

現在,你應該可以在程序塢中看到帶有自定義圖標的 JD-GUI 應用程序,點擊它即可運行 jd-gui.sh 腳本。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/84885.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/84885.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/84885.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

用bilibili一個講座視頻,生成一本科普書籍

用bilibili一個講座視頻,生成一本科普書籍 一、功能介紹1.1 智能文本處理1.2 知識提煉與結構化1.3 專業知識普及1.4 自動化書籍生成1,5 大規模處理能力二、技術特點三、應用意義3.1 教育領域3.2 研究領域3.3 內容創作3.4 企業應用四、創新價值五、使用場景示例六、操作步驟6.1 …

黑馬教程強化day3-1

目錄 一、File1.定義&#xff1a;2.創建File類的對象3.File提供的判斷文件類型、獲取文件信息功能4.File提供的創建的方法5.File類刪除文件的功能6.File提供的遍歷文件夾的方法代碼演示 二、遞歸&#xff08;了解遞歸算法&#xff0c;以便實現多級遍歷找文件&#xff09;1.定義…

milvus 總結

1. milvus 的默認 admin 角色賬號 root 的密碼 為 Milvus 2. 最開始使用命令&#xff1a; docker-compose -f milvus-standalone-docker-compose.yml up -d 啟動 milvus 后&#xff0c;使用 attu 登錄 Milvus 是不需要輸入賬號/密碼的&#xff0c;可以使用如下方式開啟 mi…

基于docker技術的單主機環境模擬測試批量客戶端

EX. 任務背景 近期接到一個需求是在一個高性能服務器上&#xff0c;模擬啟動多個待測試客戶端的場景&#xff0c;但這個客戶端程序有點特殊&#xff0c;設置了守護模式&#xff0c;并且需要管理員權限會監控系統的/dev/mem節點&#xff0c;單個環境中只能啟動一個。 當前的測…

windows上用vnc viewer 能連接mac,不能連ubuntu

如果 VNC Viewer 可以連接 macOS&#xff0c;但無法連接 Ubuntu&#xff0c;通常是由于 Ubuntu 上的 VNC 服務配置問題或網絡限制導致的。以下是逐步排查和解決方案&#xff1a; 1. 確認 Ubuntu 上已安裝并運行 VNC 服務 (1) 檢查是否安裝了 VNC 服務器 Ubuntu 常用的 VNC 服…

Electron-vite【實戰】MD 編輯器 -- 編輯區(含工具條、自定義右鍵快捷菜單、快捷鍵編輯、拖拽打開文件等)

最終效果 頁面 src/renderer/src/App.vue <div class"editorPanel"><div class"btnBox"><divv-for"(config, key) in actionDic":key"key"class"btnItem":title"config.label"click"config.a…

沒有寶塔面板的服務器上的WordPress網站打包下載到本地?

在服務器上部署的wordpress博客站&#xff0c;沒有寶塔面板&#xff0c;怎么將服務器上的wordpress打包下載到本地&#xff1f; 作者: 曉北斗NorSnow 曉北斗動態視覺設計師&#xff0c;嵐度視覺工作室執行人&#xff1b;主要從事展廳視頻制作、圖形工作站銷售、AIGC研究&#…

Atcoder Beginner Contest 410 題解報告

零、前言 經過七七四十九天的分別&#xff0c;本期 ABC 題解又和大家見面啦&#xff01; 經過七周的奮勇殺題&#xff0c;我終于達成了三個小心愿&#xff1a; 不吃罰時AK上金排名 100 100 100 以內 且 Rated&#xff08;悲催的是&#xff0c;我 ABC400 排名兩位數但沒Rate…

pyspark非安裝使用graphframes

pyspark版本3.1.3 需要文件 graphframes-0.8.2-spark3.1-s_2.12.jarspark-graphx_2.12-3.1.3.jar從 https://github.com/microsoft/adb2spark/raw/main/graphframes-0.8.2-py3-none-any.whl 下載graphframes-0.8.2-py3-none-any.whl。下載后把whl后綴改成zip&#xff0c;解壓…

[Linux入門] Linux磁盤管理與文件系統

目錄 Linux磁盤與文件系統管理詳解&#xff1a;從基礎到實踐 ??一、磁盤基礎簡述?? 1????硬盤類型??&#xff1a; ?2??機械硬盤結構??&#xff1a; 3????磁盤容量計算??&#xff1a; 公式&#xff1a;磁盤容量磁頭數柱面數每磁道扇區數每扇區字節數 …

【Flutter】性能優化總結

【Flutter】性能優化總結 Flutter 性能優化是提升應用流暢度、響應速度和用戶體驗的關鍵。可以從以下幾個方面進行優化&#xff1a; 一、UI 構建與布局優化 1、避免不必要的重建 使用 const 構造函數&#xff1a;如 const Text(Hello)&#xff0c;可以減少 Widget 重建。使用…

5、ZYNQ PL 點燈--流水燈

目錄 1、 概述 2 、硬件電路 3、 新建 VIVADO 工程 4、 添加工程文件 6、編寫流水燈功能的Verilog代碼 7 、添加管腳約束文件 8、 RTL 仿真 8.1 添加仿真測試源碼 8.2 仿真結果 9、 編譯并且產生 bit 文件 10、 下載程序 11、實驗結果 ?編輯12、總結 1、 概述 本…

HTML5 浮動

1. 常見網頁布局 1-3-1布局 1-2-1布局 2. 標準文檔流 3. display屬性? display&#xff1a; block 給span元素設置成block display&#xff1a; inline 給div元素設置成inline display&#xff1a; inline-block 給div和span元素設置為inline-block display&#xff1a; no…

若依使用RedisCache需要注意的事項

存入redis對象的時候會帶一個type字段&#xff0c;此處需要注意 存入方&#xff1a; 此處需要注意&#xff0c;存入redis的時候會帶一個type&#xff0c;也就是類的路徑名 redisCache.setCacheObject(screenPlayQueueName, userDemondDto,userDemondDto.getPlayDuration().in…

【STM32的通用定時器CR1的CKD[1:0]: 時鐘分頻因子 (Clock division)】

在 STM32 的通用定時器&#xff08;如 TIM2, TIM3, TIM4, TIM5 等&#xff09;中&#xff0c;CR1 (Control Register 1) 寄存器中的 CKD[1:0] (Clock division) 位域是一個與抗干擾和數字濾波相關的設置&#xff0c;它并不直接影響定時器計數器 (CNT) 的計數頻率&#xff08;計…

渲染學進階內容——機械動力的渲染系統(2)

Flywheel代碼 這篇來研究一下實例 InstanceHandle 接口深度解析 接口核心作用 InstanceHandle 是 Flywheel 渲染引擎中的 GPU實例句柄 接口,它提供了對底層渲染實例的直接控制能力。這個接口是**實例化渲染(Instanced Rendering)**系統的核心操作接口,與之前討論的 Vis…

Redis:極速緩存與數據結構存儲揭秘

Redis —— 這個強大又靈活的 開源、內存中的數據結構存儲系統。它常被用作數據庫、緩存、消息代理和流處理引擎。 核心特點 (為什么它這么受歡迎&#xff1f;)&#xff1a; 內存存儲 (In-Memory): 數據主要存儲在 RAM 中&#xff0c;讀寫操作直接在內存中進行。核心優勢&…

vulnyx Diff3r3ntS3c writeup

信息收集 arp-scan nmap 這里默認的話是只有80端口的&#xff0c;這個22端口是我拿到root后開的 獲取userFlag 直接上web看看 掃個目錄 把網頁拉到最下面可以看到一個文件上傳點 我們嘗試上傳一個php文件 失敗了&#xff0c;那xxx呢 上傳成功了&#xff0c;看來后端的后綴名…

【構建】CMake 構建系統重點內容

CMake 構建系統重點內容 1 基本語法與結構 cmake_minimum_required() 指定使用的最低 CMake 版本&#xff0c;防止不同版本行為不一致&#xff1a; cmake_minimum_required(VERSION 3.16)project() 定義項目名稱、語言和版本&#xff1a; project(MyApp VERSION 1.0 LANGU…

Packagerun:VSCode 擴展 快捷執行命令

Packagerun&#xff1a;VSCode 快捷命令擴展&#xff08;兼容cursor&#xff09; Packagerun 是一個為 前端和node開發者設計的 VSCode 擴展&#xff0c;旨在簡化 package.json 中腳本的執行&#xff0c;并支持自定義命令以提升開發效率。通過右鍵菜單、快捷鍵或自定義配置&am…