歡迎您光臨本站 註冊首頁

linux中的程序啟動器

←手機掃碼閱讀     火星人 @ 2014-03-23 , reply:0

借用windows的一個概念,那就是快捷方式,linux的程序啟動器和這個東西,有點相同,也有點不同。同是都是將應用程序用張小圖標表示起來,然後用滑鼠雙擊即可搞定。不同的地方就往下看吧。

Desktop Entry 文件是 Linux 桌面系統中用於描述程序啟動配置信息的文件.可以到其官方網站查看下官方的內容:http://standards.freedesktop.org ... ry-spec-latest.html

Desktop Entry 文件以".desktop"為後綴名。以 Linux GNOME 桌面系統為例,用戶打開應用程序瀏覽器后(上圖)會看見很多應用程序快捷方式。事實上,每個應用程序快捷方式都和一個 Desktop Entry 文件相對應。這些 Desktop Entry 文件通常被存放在 /usr/share/applications/ /opt/gnome/share/applications/ 等目錄下。從文件瀏覽器進入這些目錄,點擊相應的 Desktop Entry 文件同樣可以啟動相對應的應用程序。

假設當前"/usr/share/applications/"目錄下有一文件"gaim.desktop",用任意文件編輯軟體(如 vi 或 gedit)打開"gaim.desktop",將得到如下內容:
CODE:
[Desktop Entry]
Encoding=UTF-8
Name=Gaim Internet Messenger
Name[ar]=جايم مراسل الانترنت
Name[ca]=Missatger d'Internet Gaim
Name[ca@valencia]=Missatger d'Internet Gaim
Name[cs]=Gaim Internet Messenger
Name[da]=Gaim - internet beskeder
Name[de]=Gaim Internet-Sofortnachrichtendienst
Name[dz]=གེམ་ ཨིན་ཊར་ནེཊི་འཕྲིན་སྐྱེལ་པ།
Name[en_GB]=Gaim Internet Messenger
Name[eo]=Gaim Interreta Mesaĝilo
Name[es]=Gaim - cliente de mensajería de Internet
Name[et]=Gaim - Interneti sõnumivahetus
Name[eu]=Gaim interneteko mezularitza
Name[fa]=پیغام‌رسان اینترنتی گِیم
Name[fi]=Gaim-pikaviestin
Name[fr]=Gaim Messagerie Internet
Name[gl]=Gaim - Mensaxería na Internet
Name[he]=גיים למסרים באינטרנט
Name[hu]=Gaim azonnali üzenő
Name[it]=Gaim Internet Messenger
Name[ja]=Gaim インタ?ネット・メッセンジャ?
Name[ko]=게임 메신저
Name[lt]=Interneto pokalbių programa Gaim
Name[nb]=Gaim lynmeldingsklient
Name[nl]=Gaim - Expresberichten
Name[pl]=Komunikator Internetowy Gaim
Name[pt]=Mensageiro Internet Gaim
Name[pt_BR]=Mensageiro da Internet Gaim
Name[ro]=Mesagerul Gaim
Name[ru]=Gaim - клиент обмена мгновенными сообщениями
Name[sk]=Gaim Internet Messenger
Name[sl]=Spletni sel Gaim
Name[sq]=Lajmësjellësi Internet Gaim
Name[sv]=Gaim Internet Messenger
Name[th]=Gaim โปรแกรมข้อความด่วน
Name[zh_CN]=Gaim 互聯網通訊程序
Name[zh_TW]=Gaim ?路即?r通
GenericName=Internet Messenger
GenericName[ar]=مراسل الانترنت
GenericName[ca]=Missatger d'Internet
GenericName[ca@valencia]=Missatger d'Internet
GenericName[cs]=Internet Messenger
GenericName[da]=Internet beskeder
GenericName[de]=Internet-Sofortnachrichtendienst
GenericName[dz]=ཨིན་ཊར་ནེཊི་འཕྲིན་སྐྱེལ་པ།
GenericName[en_GB]=Internet Messenger
GenericName[eo]=Interreta Mesaĝilo
GenericName[es]=Cliente de mensajería de Internet
GenericName[et]=Interneti sõnumivahetus
GenericName[eu]=Interneteko mezularitza
GenericName[fa]=پیغام‌رسان اینترنتی
GenericName[fi]=Pikaviestin
GenericName[fr]=Messagerie internet
GenericName[gl]=Mensaxería na Internet
GenericName[he]=למסרים באינטרנט
GenericName[hu]=Azonnali üzenetküldés
GenericName[it]=Internet Messenger
GenericName[ja]=インタ?ネット・メッセンジャ?
GenericName[ko]=메신저
GenericName[lt]=Pokalbiai internete
GenericName[nb]=Lynmeldingsklient
GenericName[nl]=Expresberichten
GenericName[pl]=Komunikator Internetowy
GenericName[pt]=Mensageiro Internet
GenericName[pt_BR]=Mensageiro da Internet
GenericName[ro]=Mesagerie instant
GenericName[ru]=Клиент обмена мгновенными сообщениями
GenericName[sk]=Internet Messenger
GenericName[sl]=Spletni sel
GenericName[sq]=Lajmësjellës Internet
GenericName[sv]=Meddelandeklient
GenericName[th]=โปรแกรมข้อความด่วน
GenericName[zh_CN]=互聯網通訊程序
GenericName[zh_TW]=?路即?r通
Comment=Send instant messages over multiple protocols
Comment[ar]=أرسل رسائل قصيرة عبر بروتوكلات متعددة
Comment[ca]=Envieu missatges instantanis en múltiples protocols
Comment[ca@valencia]=Envieu missatges instantanis en múltiples protocols
Comment[cs]=Posílat instant message různými protokoly
Comment[da]=Send beskeder over flere protokoller
Comment[de]=Sendet Sofortnachrichten über mehrere Protokolle
Comment[dz]=གནད་སྤེལ་ལམ་ལུགས་སྣ་མང་གུ་ལུ་ འཕྲལ་མྱུར་འཕྲིན་དོན་ཚུ་གཏང་།
Comment[el]=Αποστολή άμεσων μηνυμάτων με τη χρήση πολλαπλών πρωτοκόλλων
Comment[en_GB]=Send instant messages over multiple protocols
Comment[eo]=Sendu tujmesaĝojn per pluraj protokoloj
Comment[es]=Cliente de mensajería instantánea multiprotocolo
Comment[et]=Välksõnumite saatmine mitmete protokollide kaudu
Comment[eu]=Bidali berehalako mezuak hainbat protokoloetan
Comment[fa]=ارسال پیغام اینترنتی با قراردادهای متعدد
Comment[fi]=Lähetä pikaviestejä monilla eri yhteyskäytännöillä
Comment[fr]=Envoie des messages instantanés en utilisant divers protocoles
Comment[gl]=Envía mensaxes instantáneas a través de múltiples protocolos
Comment[he]=מאפשרת לשלוח הודעות מיידיות דרך מספר רב של פרוטוקולים
Comment[hu]=Azonnali üzenetek küldése több protokoll használatával
Comment[it]=Client multiprotocollo per messaggi immediati
Comment[ja]=?數のプロトコルを介してインスタント・メッセ?ジを送信します
Comment[ko]=다중 프로토콜 메신저
Comment[lt]=Bendrauti keliais interneto pokalbių protokolais
Comment[nb]=Send lynmeldinger over flere protokoller
Comment[nl]=Multi-protocol programma voor expresberichten
Comment[pl]=Komunikator internetowy obsługujący kilka protokołów
Comment[pt]=Envie mensagens instantâneas sobre vários protocolos
Comment[pt_BR]=Envie mensagens instantâneas através de múltiplos protocolos
Comment[ro]=Trimiteţi mesaje instant prin orice protocol IM
Comment[ru]=Обмен мгновенными сообщениями с использованием множества протоколов
Comment[sl]=Pošlji neposredna sporočila prek več protokolov
Comment[sq]=Dërgoni mesazhe të atypëratyshëm protokollesh të ndryshëm
Comment[sv]=Sänder snabbmeddelande över många protokoll
Comment[th]=ส่งข้อความด่วนหลายรูปแบบ
Comment[zh_CN]=通過多種協議發送即時消息
Comment[zh_TW]=透?多?通??f定?送即?r?息
Exec=gaim
Icon=gaim.png
StartupNotify=true
Terminal=false
Type=Application
Categories=Network;InstantMessaging;
X-Ubuntu-Gettext-Domain=gaim
X-Ubuntu-Gettext-Domain=gaim

Desktop Entry 文件的內容是由若干{關鍵字,數值}配對的 Entry 組成的.

關鍵字"Version":[可選] 該數值指定了當前 Desktop Entry 文件所遵循的 Desktop Entry 文件標準版本。
關鍵字"Encoding":[1.0 版本不推薦使用] 該數值指定了當前 Desktop Entry 文件中特定字元串所使用的編碼方式。儘管Desktop Entry 文件標準 1.0 不再推薦使用該關鍵字,但由於歷史原因該關鍵字仍然廣泛出現在現有的 Desktop Entry 文件中。
關鍵字"Name":[必選]
該數值指定了相關應用程序的名稱。比如在清單1中關鍵字"Name"的數值是"Quick Start Tour"。打開文件瀏覽器,進入"/usr/share/applications"目錄,就可以看見"cbt.desktop"文件所定義的快捷方式的顯示樣式,如圖2所示。其中,快捷方式的顯示名稱由關鍵字"Name"的數值所決定,快捷方式所使用的圖標由下文中將要介紹的關鍵字"Icon"的數值來決定
關鍵字"GenericName":[可選]
該數值指定了相關應用程序的通用名稱。比如在清單1中關鍵字"GenericName"的數值是"User Tutorial"。
關鍵字"Comment":[可選]
該數值是對當前Desktop Entry的簡單描述。
關鍵字"Type":[必選]
關鍵字"Type"定義了Desktop Entry文件的類型。常見的"Type"數值是"Application"和"Link"。"Type = Application"表示當前Desktop Entry文件指向了一個應用程序;而"Type = Link"表示當前Desktop Entry文件指向了一個URL (Uniform Resource Locator)。
關鍵字"Exec":[可選]
關鍵字"Exec"只有在"Type"類型是"Application"時才有意義。"Exec"的數值定義了啟動指定應用程序所要執行的命令,在此命令是可以帶參數的。在本例中,關鍵字"Exec"的數值是字元串"gnome-open /usr/share/doc/manual/sled-gnome-cbt_en/index.html"。在shell中輸入該字元串並按回車鍵同樣可以啟動指定應用程序。
關鍵字"URL":[可選]
關鍵字"URL"只有在"Type"類型是"Link"時才有意義.
關鍵字"Icon":[可選]
該數值定義了當前Desktop Entry文件在應用程序瀏覽器或是在文件瀏覽器中所顯示的圖標。如果關鍵字"Icon"的數值是以絕對路徑的格式給出,那麼其數值所指定圖標文件將被使用;反之,Linux系統將使用"Icon Theme Specification"[2]在系統指定圖標目錄下定位所需要使用的圖標文件。比如在本例中關鍵字"Icon"的數值是"gaim",它實際對應著系統指定圖標目錄下的圖片文件"gaim.png"。
關鍵字"StartupNotify":[可選]
關鍵字"StartupNotify"的數值是布爾值(true 或是 false)。該關鍵字只有在"Type"類型是"Application"時才有意義。其數值的含義由規範"Startup Notification Protocol Specifications"[3]定義,在此不再詳述。
關鍵字"Terminal":[可選]
和"StartupNotify"一樣,關鍵字"StartupNotify"的數值也是布爾值,並且該關鍵字只有在"Type"類型是 "Application"時才有意義。其數值指出了相關應用程序(即關鍵字"Exec"的數值)是否需要在終端窗口中運行。本文將在下一節中給出關鍵字 "Terminal"的具體使用方法。
關鍵字"Categories":[可選]
關鍵字"Categories"只有在"Type"類型是"Application"時才有意義。"Categories"的數值指出了相關應用程序在菜單中顯示的類別。具體菜單分類由規範"Desktop Specification Menu"具體定義[4]。
關鍵字"OnlyShowIn"和"NotShowIn":[可選]
這兩個關鍵字分別定義了當前Desktop Entry是否在特定Linux 桌面系統(例如:Linux GNOME 或 Linux KDE)下顯示(由"OnlyShowIn"定義),或不顯示(由"NotShowIn"定義)。
現在,就簡單的複製一個原來的文件,修改一下。

cp /usr/share/applications/gaim.desktop /home/lee/Desktop
vi gaim修改後如下:
[Desktop Entry]
Encoding=UTF-8
Name=我的博客
Exec=firefox http://johnwoolee.cublog.cn
Icon=gaim.png
StartupNotify=true
Terminal=false
Type=Application
Categories=Network;InstantMessaging;
X-Ubuntu-Gettext-Domain=gaim
X-Ubuntu-Gettext-Domain=gaim

這樣就建立了一個到我的博客地址的一個桌面快捷方式。

這個會解決一些,我們無法用腳本bash實現雙擊滑鼠的個案。也許還有其他的好處。配置文件很清晰明了。

[火星人 ] linux中的程序啟動器已經有569次圍觀

http://coctec.com/docs/linux/show-post-117309.html