CentOS 5.5 下手工建立系統功能表中應用程式的“捷徑”

來源:互聯網
上載者:User

CentOS 5.5 下手工建立系統功能表中應用程式的“捷徑”
  9分鐘前   標籤:  捷徑  CentOS  手工  菜單  Linux 
    “捷徑”這個詞是借用 Windows 下的說法,但其在介面上的表現就是一個功能表項目,點擊以後會開啟視窗應用程式,比如瀏覽器、終端視窗等。
    在 CentOS5.5 下,每個功能表項目都用路徑 /usr/share/applications 下的一個文字檔來描述,這些檔案被稱為“案頭設定檔”,檔案的命名為 xxxxx.desktop,可見尾碼就是案頭的意思。案頭設定檔如果位於這裡,可以建立一個符號連結指向它,符號連結的檔案名稱格式也是 xxxxxx.desktop。
    比如,“應用程式/編程”分組下,有一個功能表項目“AT-SPI Browser”,對應檔案名稱是 fedora-sniff.desktop。既然是一個文字檔,我們用 gedit 文字編輯器開啟看一看:
    [root@localhost applications]# gedit fedora-sniff.desktop
    內容如下:
    [Desktop Entry]
    Version=1.0
    Encoding=UTF-8
    Name=AT-SPI Browser
    Name[en_CA]=AT-SPI Browser
    Name[en_GB]=AT-SPI Browser
    Comment=Browse your Assistive Technology-enabled desktop
    Comment[en_CA]=Browse your Assistive Technology-enabled desktop
    Comment[en_GB]=Browse your Assistive Technology-enabled desktop
    Exec=sniff
    Terminal=false
    Type=Application
    Icon=dogtail-head.svg
    StartupNotify=true
    Categories=Application;Development;X-Fedora;
    X-Desktop-File-Install-Version=0.10
    GenericName[zh_CN]=
    一目瞭然和無關緊要的東西不解釋了,看看重要的地方:
    Name=AT-SPI Browser 定義了功能表項目顯示的文本。Name[en_CA]和Name[en_GB]定義了其它語言中的字串。
    Exec=sniff 定義了可執行檔的名字,就是即將開啟的應用程式。
    Icon=dogtail-head.svg 定義了菜單文字前顯示的表徵圖。
    Categories=Application;Development;X-Fedora; 定義了菜單的分組,與“應用程式/編程”功能表項目對應。
    再來看一個例子。我的 CentOS 中還安裝了 Flashget for Linux,在系統功能表的“應用程式/Internet”下。我們開啟案頭設定檔 flashget.desktop 來看看常值內容:
    [Desktop Entry]
    Version=1.0.2
    Encoding=UTF-8
    Name=FlashGet
    Comment=網際快車
    Exec=/usr/bin/flashget
    Icon=/usr/share/flashget/flashget.png
    Terminal=false
    Type=Application
    Categories=Application;Network;FlashGet;
    StartupNotify=true
    Name[zh_CN]=網際快車FlashGet
    GenericName[zh_CN]=網際快車FlashGet
    Comment[zh_CN]=網際快車FlashGet
    其中的可執行檔、案頭設定檔都是由 rpm 包安裝時拷貝到各自的路徑下的。我們參考一下 rpm 包裡的檔案分布:
    [root@localhost home]# rpm -qlp flashget-1.0.2-0_cn.noarch.rpm
    warning: flashget-1.0.2-0_cn.noarch.rpm: Header V3 DSA signature: NOKEY, key ID 29c8d3f0
    /usr/bin/flashget
    /usr/share/applications/flashget.desktop
    /usr/share/flashget/README
    /usr/share/flashget/flashget
    /usr/share/flashget/flashget.png
    可見確實是和菜單設定檔是一致的。rpm 包裡包含什麼檔案、檔案安裝到何處,是由軟體作者根據需要和要求決定的。然後用 rpm 打包工具產生的軟體包。其中 flashget.desktop 檔案可以手工編輯,也可以用軟體來輔助產生,但必須按照不同版本 Linux 的要求拷貝到指定的路徑。
    知道了以上的玄機,我們就可以手工為一些“綠色”軟體,比如 QQ for Linux,來建立相應的系統功能表項,以方便使用。
    比如,我安裝的 Navicat9.0.12(MySQL管理用戶端) 位於 /home/navicat9_mysql_en 路徑下,可執行檔是 /home/navicat9_mysql_en/start_navicat(註:基於wine啟動並執行),於是我在 /usr/share/applications 下建立文字檔 navicat.desktop,內容如下:
    [Desktop Entry]
    Version=9.0.12
    Encoding=UTF-8
    Name=Navicat9.0.12
    Comment=Navicat9.0.12-MySQL資料庫管理員
    Exec=/home/navicat9_mysql_en/start_navicat
    Icon=dogtail-head.svg
    Terminal=false
    Type=Application
    Categories=Application;Development;Navicat;
    StartupNotify=true
    Name[zh_CN]=Navicat9.0.12 MySQL 資料庫管理器
    GenericName[zh_CN]=Navicat-MySQL資料庫管理員
    Comment[zh_CN]=Navicat-MySQL資料庫管理員
    於是,在“應用程式/編程”菜單分組下出現了功能表項目“Navicat9.0.12 MySQL 資料庫管理器”,點擊以後就會開啟 Navicat for MySQL 資料庫管理器程式。
    可以想見的是,建立案頭設定檔這些簡單又經常重複的工作,最好是由開發工具開完成。但開發工具也是由人開發的,程式員們也是在釐清了這些規則以後,才著手編寫開發工具的。程式最初就是為了代替重複性的繁雜勞動而誕生的。
    後記:進一步發掘的話,需要瞭解“Application;Development;”是在哪裡定義的。如果一個應用程式需要建立自己的菜單分組的話,就需要瞭解這些。
    作者:張慶(網眼) 西安 PHP 教育培訓中心 2010-8-21
    來自“網眼視界”:http://blog.why100000.com
    作者微博:http://t.qq.com/zhangking
    “十萬個為什麼”電腦學習網:http://www.why100000.com

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.