對於我的一個Linux應用程序,我有應用程序二進制文件,一個launcher.sh腳本(用於LD_LIBRARY_PATH)和一個.desktop文件,全部在同一個文件夾中。如何爲Linux桌面條目文件指定帶有RELATIVE路徑的圖標?
我想使用相對路徑而不是圖標的絕對路徑。
我已經試過:
Icon=app.svg
Icon=./app.svg
Icon=$PWD/app.svg
Icon=$(dirname %k)/app.svg
但這些工作(僅Icon=/path/to/app.svg
)。如果無法指定相對路徑,並且我必須使用解決方法,那麼我認爲每次運行launcher.sh腳本時都可以重新生成.desktop文件中的圖標路徑。
什麼是最好的方法來做到這一點?使用sed
或其他替代工具,使用僞正則表達式,例如Icon=([valid path chars]+)\n
也許?
感謝這......儘管如此,這是一個糟糕的規範。 – 2011-08-11 13:49:38
當然是......我不能相信沒有人想過添加相對路徑支持(顯然)。 – 2011-08-12 01:22:45
嗯,我在其他地方讀過這是一個安全問題:如果你移動了.desktop文件,並且意外地打開了一個不同於你認爲的可執行文件的可執行文件,我想這是一個公平的觀點。但是,然後指定圖標的另一種方法會很好。 – 2011-08-12 13:23:48