Application icons are not show in application menu / launcher if installed on wine

If I install an .exe file on wine a desktop program application shortcut (launcher) is created on the desktop including the icon (picture) of the application. In the application menu it is shown the progrom application shortcut as well but with picture icon.

What is wrong there that no picture icon is shown there?

Or at least as a workaround how can I copy the desktop shortcut to the application launcher?

You move that .desktop file to ~/.local/share/applications/ in your home directory, edit it and make the path for the icon to point to the proper location from the wine installed program.

If using PlayOnLinux, then you will have ~/.PlayOnLinux/icones/full_size/ for each installed application. Canā€™t recall how just .wine is handling those ā€¦

1 Like

Thanks, but it does not work. After moving it to the folder ~/applications you can (still) start the desktop icon in this folder but it still does not appear in the application launcher (see attachment).

Typo? Or did you actually use this incorrect path?

1 Like

Yes, of course, I have used the full path

/home/rulinux/.local/share/applications/

Can you provide an example of such a .desktop file in ~/.local/share/applications/


What if you run this, and then re-open the launcher:

update-desktop-database

I run ā€˜sudo update-desktop-databaseā€™. It is still the same problem.

You got the advice to run that command, but nobody mentioned sudo ā€¦ donā€™t run sudo commands in your home directory.
Also, was asked for an example of the desktop file as the content of it, as text. Open it in a text editor and as i said already

or share that content.

1 Like

Like @bogdancovaciu says, I never wrote sudo.

In regards to sharing an example of such a .desktop file, I implied its contents. (No need to take a screenshot and point to one of the icons with a red arrow.) :wink:

If I run only ā€™ update-desktop-databaseā€™ this messages comes up. So no use.

The databases in [/home/rulinux/.local/share/flatpak/exports/share/applications, /var/lib/flatpak/exports/share/applications, /usr/local/share/applications, /usr/share/applications, /var/lib/snapd/desktop/applications] could not be updated.

Okay, I think youā€™re making too many assumptions and trying to jump ahead. I mean that sincerely, so apologies if it sounds rude.

Donā€™t worry about output of ā€œcould not updateā€ or ā€œcannot accessā€. We just want to use ā€œtrial-and-eliminationā€ to clue us nearer to a solution.


Regardless of what the terminal messages output, Iā€™m assuming that after you ran update-desktop-database, the entries still do not display in the menu launcher? If so, that rules one thing out.


But we still need to see the contents of such a .desktop file. It might have an option in there that tells it only to display in a certain environment, such as KDE, etc.

Sometimes communication is not clear for everyone. :sweat_smile: Maybe it is this what you mean!? This file is executable and works properly but it is not shown correctly in application launcher with picture icon.

[Desktop Entry]
Name=PhotoLine
Exec=env WINEPREFIX="/home/rulinux/.wine" wine C:\\\\Program\\ Files\\\\PhotoLine\\\\PhotoLine.exe 
Type=Application
StartupNotify=true
Path=/home/rulinux/.wine/dosdevices/c:/Program Files/PhotoLine
Icon=EBC7_PhotoLine.0
StartupWMClass=photoline.exe

Can you double-check this is a real directory? From what I recall, there is no colon ( : ) by default in this path.

Shouldnā€™t it beā€¦?
Path=/home/rulinux/.wine/dosdevices/c/Program\ Files/PhotoLine

(You also didnā€™t escape the white spaces with backslashes.)

UPDATE: Could also be drive_c like this:
Path=/home/rulinux/.wine/dosdevices/drive_c/Program\ Files/PhotoLine


Wait. Why are you even defining this Path? This implies you want the working directory to be in a folder within the ~/.wine pseudo-filesystem?

Yes, it is a real directory. Sometimes I do not understand your meanings. Maybe it is I am not a native speaker or you explain clearer.
I believe we are on the wrong track. Where are all the other program desktop icons located which are shown in the application launcher? If we simply add it there (PhotoLine.desktop file) into that folder. It should be fine, isnā€™t it?

That is not a proper path for icon, nor name ā€¦ that .0 is some funky thing. You can use the name of an icon if the system icon theme has it. You have to use full path, meaning the exact location of the file.

Those either come with the native linux applications or with the system icon theme you are using.

Doesnā€™t work like that ā€¦

1 Like

Understood.

But also to ā€œescapeā€ (with ā€œbackslashesā€) any white-spaces in the XDG desktop file:

Path=/home/rulinux/.wine/dosdevices/drive_c/Program\ Files/PhotoLine


If anything, you can do a test. Create a new ā€œtestā€ .desktop file, and fill it with only these contents:

[Desktop Entry]
Version=1.0
Name=WineCFG Test
Exec=env WINEPREFIX="/home/rulinux/.wine" winecfg
Type=Application
StartupNotify=true
Icon=folder
StartupWMClass=photoline.exe

See if this shows up?

Oh man. I missed this part. :sweat_smile:

So it does show the entries in the launcher.

Then yes, do what @bogdancovaciu explained above. The icon must be defined as an absolute path if it does not exist in an icon theme.

Normally I run it like that with verbose output:

sudo update-desktop-database -v /usr/share/applications/
update-desktop-database -v ~/.local/share/applications 

No, it does not work.
I have looked now into the folders and found the correct files

/home/rulinux/.local/share/applications/wine/Programs/Mp3tag/Mp3tag.desktop
/home/rulinux/.local/share/applications/wine/Programs/Mp3tag/PhotoLine.desktop

These files are shown in the folder with picture. They are excutable within the folder and the application launcher. But in the application launcher they are without picture icon shown. That is all my problem not less and not more.

I could imagine that the applauncher has more strict rulesā€¦

This must be a png file commonly. So the file must called EBC7_PhotoLine.0.png

So please check the name here:

ls -R ~/.local/share/icons | grep "PhotoLine"