开发者

Embedding an icon in a Linux executable

I have written an application in Java and succesfully compiled it using gcj.

In (X)ubuntu's File Manager, my application appears with the default Linux executable icon, which I would like to replace with my own.

I have seen that other applications display a custom icon as the executable, such as Firefox, but have no idea how to approach the problem. Is there some sort of resource editor for Linux binaries?

Desktop Entry

I've tried creating a Desktop Entry file that executes the application as follows:

[Desktop Entry]
Version=1.0
Type=Application
Name=MyJavaApp
Comment=
Exec=./MyJavaApp
Path=./../../libs/
Terminal=true
Icon=./icon.png
X-KDE-Library=./../../libs/libswt.so

Double-clicking it makes a terminal pop up and disappear again, and that's it. I'm fairly sure the application doesn't launch because it can't find the required SWT library. I w开发者_StackOverflowas hoping to see the output in the terminal, but I can't launch it from there.

Furthermore, Ubuntu doesn't seem to acknowledge Icon. I have tried various resolution PNGs; no dice.


Executables on Linux do not have icons embedded (try to point your file manager to /usr/bin). What you have seen is probably a Desktop Entry. That's a text file describing the icon, program name and the executable.


On Ubuntu:

mouse right click the icon you don't like -> Properties -> in the opened window click the icon -> choose an icon you want


You cannot use ~ userhome, . here, .. up in file paths in desktop files. You must give the complete filepath from / root.
OR
Add all the pertinent filepaths to the $PATH environment variable, then just give the filenames in the desktop entries, e.g.:

Exec=MyJavaApp
Icon=MyJavaPic.png
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜