【QT 5 +Linux下軟件桌面快捷方式+qt生成軟件創建桌面圖標+學習他人文章+第二篇:編寫桌面文件.desktop】
- 1、前言
- 2、實驗環境
- 3、自我學習總結-本篇總結
- 1、新手的疑問,做這件事目的
- 2、了解.desktop
- 3、三個關鍵目錄以及文件編寫
- 1、目錄:/opt/
- 2、目錄: /root/Desktop 或者 ~/Desktop
- 3、目錄: /usr/share/applications/
- 4、桌面文件變成圖標
- 4、參照文章-感謝
- 5、實驗過程
- 1、進入目錄
- 2、放入圖標文件
- 3、編寫default.desktop文件
- 解釋如下:
- 1:[Desktop Entry]
- 2:Type=Application
- 3:Name=test1_hello
- 4:Exec=/opt/test/test1_hello
- 5:Icon=/opt/test/default.png
- 6:Comment=this is my test
- 7:Terminal=false
- 4、將整個文件夾拷貝到/opt/下
- 5、右鍵將桌面文件運行
- 6、驗證運行
- 解釋說明:
- 6、代碼鏈接
- 7、細節部分
- 1、無法理解的部分。
- 2 、桌面環境的安全限制
- 3 、.desktop文件的正確性
- 4、.desktop文件的可執行權限
- 8、總結
1、前言
qt軟件生成后,需要使用linuxdeployqt工具生產,才能放到其他電腦上運行,但是我們發現其實無法想win那樣,直接點擊exe一樣,直接運行,也無法直接生成快捷方式,linux下,有自己方式,須要我們自己去編寫這些。本篇為第二章,感興趣想要了解全程細節,可以從第一章開始看。
【QT 5 +Linux下軟件生成+qt軟件生成使用工具+學習他人文章+第一篇:使用linuxdeployqt軟件生成】
- 第一篇:使用linuxdeployqt軟件生成
- 第二篇:桌面文件.desktop,文件編寫與軟件圖標
- 第三篇:打包生成安裝的包(.deb)
2、實驗環境
實驗環境還是挺重要的,因為有時候,在你電腦上能運行的東西,在別人的電腦就不一定能運行,這一部分的原因就可能是實驗版本不一樣,另外也發現其他小伙伴,也會問些問題,之前有人大致環境裝的和我差不多,當時是win的環境,結果編譯遇到問題,就跑過來問是不是環境不對,這還是要具體問題具體分析的,當時看了看,發現是其他問題,總的來說,環境還是挺重要的。
系統環境:
環境問題還是要注意下的,不同環境下可能還真的可能不一樣。
QT軟件版本環境: Linux qt環境
3、自我學習總結-本篇總結
1、新手的疑問,做這件事目的
自開始學的時候,了解到要寫.desktop文件,感覺很是麻煩,為啥要寫這個文件,win下感覺就沒這么麻煩,后來漸漸了解了,其實win下,也做了相關的事情,只不過工具都自動給你做了,而linux下,這些事情需要自己做,主要是編寫這個名為“*.desktop”文件,找圖片。第二個原因就是給別人使用的時候,不可能像第一章一樣,在命令行下打開軟件。
2、了解.desktop
開始自己作為新手的時候,確實不知道這個是個啥,去網上大概了解下。
在Linux系統中,使用Qt創建桌面圖標通常意味著你需要創建一個桌面快捷方式(.desktop文件),該文件指向你的應用程序的可執行文件。這個過程包括編寫一個.desktop文件,其中包含了啟動應用程序所需的信息,比如應用程序的名稱、執行命令、圖標路徑等。
大概分為四個步驟。
- 創建.desktop文件:使用linuxdeployqt工具后,會創建默認的一個這樣文件
- 編輯.desktop文件:當然里面有些默認內容,需要自己更新和替換
- 使.desktop文件可執行:給文件運行權限
- 放置.desktop文件:我們想在桌面上直接點擊圖標,當然要放在桌面,另外給他人的還有目錄需要知道。
3、三個關鍵目錄以及文件編寫
三個目錄需要知道,另外還有目錄編寫。
1、目錄:/opt/
“/opt/”是軟件安裝時,軟件放置的默認目錄,相當于win下,我們安裝軟件時,其實需要選擇目錄,你不選擇時,軟件會有個默認安裝路徑。linux下也是這樣,所以我們需要知道。
如下我們可以看到,根路徑下,的opt內,其他軟件也是安裝在這里。
2、目錄: /root/Desktop 或者 ~/Desktop
編寫完成.desktop文件后,需要將這個.desktop文件放置在合適的位置,以便它可以被桌面環境識別并顯示。通常,需要將其放置在~/Desktop(個人桌面),方便在桌面上直接點擊。
3、目錄: /usr/share/applications/
編寫完成.desktop文件后,需要將這個.desktop文件放置在合適的位置,以便它可以被桌面環境識別并顯示。通常,需要將其放置在/usr/share/applications(所有用戶)目錄中,可以讓其他人使用。
4、桌面文件變成圖標
自己編寫,準確來說,改了好多遍后,發現放在桌面上的.desktop就是不變圖標,后來查到,有可能系統限制,需要,允許下。
之后才會變成圖標
參考文章:https://blog.csdn.net/weixin_43357860/article/details/115272304
4、參照文章-感謝
學習他人文章,至少有個大致規劃,知道哪步驟該什么,如下,為自己參照的文章。
https://blog.csdn.net/zyhse/article/details/106381937
5、實驗過程
根據參考文章,這塊都是一些解釋,操作上也有很多細節,前后相關性。
1、進入目錄
回到上篇說的目錄,你自己根據實際情況,進入到你生成軟件的目錄。如下為自己的目錄,其實默認文件如下。
2、放入圖標文件
按照上篇文章所說的,可以上網找一些圖標文件。
需要準備在顯示圖標,可以在相關網站上下一個。
相關鏈接:https://www.iconfont.cn/
或者第一篇博文中,已經下載過了,從工程里拿過來,圖片改個名字。
這樣圖標我們就準備好了
3、編寫default.desktop文件
我們右鍵,打開終端,然后在終端里編寫這個文件。
編寫內容如下:
[Desktop Entry]
Type=Application
Name=test1_hello
Exec=/opt/test/test1_hello
Icon=/opt/test/default.png
Comment=this is my test
Terminal=false
解釋如下:
1:[Desktop Entry]
這行表明文件是一個桌面快捷方式配置文件的開始。所有.desktop文件都以此行開始。
2:Type=Application
指定這個桌面條目的類型。Application意味著這個條目是一個應用程序。其他可能的類型包括Link(鏈接)和Directory(目錄)。
3:Name=test1_hello
定義了快捷方式或應用程序的名稱,這是在菜單和桌面上顯示給用戶的名稱。這里的應用名稱是test1_hello。
注意:后來打包時發現命名,軟件命名不能帶有數字字符和“_”,會報錯,不過至少不是本章要解決問題。
4:Exec=/opt/test/test1_hello
指定啟動應用程序時執行的命令或可執行文件的路徑。這里,應用程序的執行文件位于/opt/test/test1_hello。
5:Icon=/opt/test/default.png
定義應用程序圖標的路徑。當快捷方式被添加到桌面或應用程序菜單時,會顯示這個圖標。此例中,圖標文件位于/opt/test/default.png。
6:Comment=this is my test
提供了關于這個快捷方式或應用程序的額外信息或注釋,這個信息可能會在鼠標懸停在圖標上時顯示(取決于桌面環境)。這里的注釋是this is my test。
7:Terminal=false
指定應用程序是否應該在終端窗口中運行。false意味著應用程序將在圖形界面環境中運行,不需要打開一個終端窗口。如果設置為true,則應用程序會在一個新的終端窗口中啟動,這通常用于控制臺應用程序。
以上文件編寫與解釋。
4、將整個文件夾拷貝到/opt/下
編寫完文件,保存退出后,我們還在當前目錄下,按照順序操作指令,我們運行以下命令。
1133 vim default.desktop 1134 cat default.desktop 1135 ls1136 cd ../1137 ls1138 sudo mv test /opt/1139 sudo chmod 777 /opt/test/default.desktop 1140 cp /opt/test/default.desktop /usr/share/applications/1141 sudo cp /opt/test/default.desktop /usr/share/applications/1142 sudo cp /opt/test/default.desktop ~/Desktop/
命令行解釋
1133 vim default.desktop //編輯桌面文件
1134 cat default.desktop //查看桌面文件內容
1135 ls //查看文件
1136 cd …/ //返回上層
1137 ls
1138 sudo mv test /opt/ //將整個文件夾放到根目錄下的opt文件夾下
1139 sudo chmod 777 /opt/test/default.desktop //給桌面文件權限
1140 cp /opt/test/default.desktop /usr/share/applications/ //將桌面文件放到/usr/share/applications/目錄下
1141 sudo cp /opt/test/default.desktop /usr/share/applications/ //將桌面文件放到/usr/share/applications/目錄下 需要sudo權限
1142 sudo cp /opt/test/default.desktop ~/Desktop/ 將桌面文件放到~/Desktop/ 目錄下 也就是桌面上
如下為我自己時間操作情況
5、右鍵將桌面文件運行
如果第四步操作沒有問題的話,桌面上應該出現一個文件了。
然后我們右鍵點擊圖標,點擊“允許啟動”。它就會變成圖標了。
6、驗證運行
點擊圖標,沒什么問題,應該可以運行起來。
解釋說明:
這里最關鍵是編寫文件和將文件放到對應目錄下,那為啥要放到opt這個根目錄下,后來打包的時候就明白了,軟件默認安裝路徑就是這個,所以上述步驟,相當于,我們手動模擬了,工具“dpkg”,也就是安裝包工具,自動幫我們安裝位置的一個過程。你會發現后需要寫的時候,我們也要將第4步那些命令寫成文件。
6、代碼鏈接
工程文件:https://download.csdn.net/download/qq_22146161/88865906
7、細節部分
1、無法理解的部分。
其實在參考文章中,說到的有些東西還是無法理解,需要通過長時間使用,才能漸漸理解。
2 、桌面環境的安全限制
出于安全考慮,一些桌面環境可能限制了直接執行.desktop文件的能力,特別是當它們位于用戶的~/Desktop目錄下時。這種情況下,用戶需要通過右鍵菜單選擇執行,而不能通過雙擊直接啟動。查看你的桌面環境的文檔,了解是否有相關的安全設置,并學習如何調整這些設置以滿足你的需求。
這塊自己還需要查查,自己桌面的必須要設置,說明有些地方需要配置下,或者哪里需要改動的,后面找到在一點點加入。
3 、.desktop文件的正確性
桌面文件,需要多次再次確認.desktop文件,需要確認內容是否完全正確,特別是Exec、Type、Name等字段。任何小錯誤都可能導致桌面環境無法正確處理文件。自己在這個過程中,看我的步驟是一次就過了,其實我自己練習了很多次,才漸漸明白如何編寫。
如下,可以看到一個“/”斜杠,都會影響到。
4、.desktop文件的可執行權限
這塊不必再說了,沒權限,是指定運行不了。
8、總結
細微之處出魔鬼,勤加練習吧~~~!