2013-10-28 82 views
3

我有以下情況:我必須修改一個.desktop文件,該文件位於正在工作的應用程序的包中。桌面Linux發行版中.desktop文件的功能是什麼?

我有一個奇怪的問題,當我嘗試打開文件的內容時發生。如果我點擊它,然後我試着點擊「打開」,它給我的錯誤消息,這意味着在英語:「應用程序不可靠LAUNCHER」

打開.desktop文件的唯一方法是對我是運行以下shell命令:

sudo gedit myApplication.desktop 

這是爲什麼?爲什麼當我嘗試正常打開.desktop文件時出現錯誤消息?

的.desktop文件的內容是:

[Desktop Entry] 
Icon=myApplication 
Categories=Utility; 
Type=Application 
Exec=/usr/share/MyApplication/appl/launcher.sh 
Name[en_US]=Connect Data Space 
Name=My Application Name 
Comment[en_US]= 
Comment= 
StartupNotify=true 
Terminal=false 
OnlyShowIn=GNOME;Unity; 
StartupWMClass=MyApplication 
Actions=CheckUpgrade 

[Desktop Action CheckUpgrade] 
Name=Verifica Aggiornamenti 
Exec=java -jar /usr/share/MyApplication/appl/lib/shellExtBridge.jar -checkupgrade 
OnlyShowIn=GNOME;Unity; 

現在我有些疑惑:

1)圖標:讀了一些文件,在我看來,如果我把一個名爲myApplication.png的圖標在我的包的文件夾/usr/share/pixmaps裏面,它使用這個圖標,是不是?

2)Exec的:讀了一些文件,在我看來,這個領域指定點擊我的圖標時執行該文件的路徑,是不是?但在這種情況下,什麼文件被執行? /usr/share/MyApplication/appl/launcher.sh/usr/share/MyApplication/appl/lib/shellExtBridge.jar -checkupgrade

我認爲第一個文件被執行,但在第二個Exec語句中文件的功能是什麼?

一般來說,.desktop文件的功能是什麼?在我看來,它只是將我的應用程序圖標添加到Unity工具欄,以啓動我的應用程序點擊它。這是正確的,還是有.desktop文件的附加功能?

回答

1

.desktop文件是指向可執行文件並將圖標添加到該特定快捷方式的快捷方式。

你有沒有注意到/user/share/applications中的所有.desktop文件這裏有所有的快捷方式都在收集。你可以從那裏得到一些啓發。

  1. 取決於您將.desktop文件指向哪個圖標。 (我不知道這個,但圖標也可以存儲在/usr/share/icons

  2. 是的,它是正確的。執行字段指定應該執行哪個文件。這是[desktop entry]你應該看看所以它被執行

  3. ,我可以看到它會給你的快捷方式圖標,名稱,它將快捷方式指向/usr/share/MyApplication/appl/launcher.sh文件/usr/share/MyApplication/appl/launcher.sh文件。StartupWMClass屬性會這樣做,以至於您的應用程序實際上並沒有在統一中創建一個新的打開的應用程序圖標,而是會點亮您已創建的快捷方式。 check out this for more info about that

    類別屬性Categories=Utility;是爲了使gnome2,gnome-fallback,xfce和MATE桌面環境可以將快捷方式放在正確的位置(因爲它們有菜單)。

    我不知道桌面文件中的最後4行是什麼,但我認爲它們是在您運行應用程序更新程序時執行的。以便您的Java應用程序自行更新。或者,它會創建一個更新條目時,你對上的圖標,統一啓動單擊,這樣就可以通過小右鍵菜單更新(但我不知道)

我不是確定所有這些,如果我錯了,請糾正我。但有些信息比沒有更好:)

+0

最後四行是與快速列表相關的,只適用於支持它們的Destop環境。請參閱:https://wiki.gnome.org/Design/Whiteboards/Jumplists和http://standards.freedesktop.org/desktop-entry-spec/latest/ar01s09.html – airtonix

相關問題