Recreating missing WINE menu entries and Desktop Configuration Files in Lubuntu 20.10
March 11, 2021 1 Comment
I use a few Windows applications I installed via WINE in my user account on my family’s desktop machine running Lubuntu 20.10 (LXQt Desktop Environment). A few days ago I logged in and found that the icons for the Windows applications had disappeared from my Desktop, and the ‘Wine’ entry in the LXQt applications menu had also disappeared. This was rather bizarre and I still have no idea why it happened. However, the directories for each WINEPREFIX
were still present so I set about recreating the missing menu entries and Desktop Configuration Files. I reinstalled one of the Windows applications, and its icon reappeared on my Desktop but the ‘Wine’ entry in the LXQt applications menu did not reappear. I had to delve into WINE menu structures to fix everything.
Three key directories are involved in defining the ‘Wine’ menu entries:
~/.config/menus/applications-merged/
~/.local/share/applications/wine/Programs/
~/.local/share/desktop-directories/
The role and contents of these directories are best explained by studying an example of an application in the ‘Wine’ menu. One of the Windows applications I had installed previously via WINE is Visio Professional 5, and I will use it as an example to illustrate how I got everything working again. I had installed the application using a WINEPREFIX
of ~/.wine-visio
, and the missing icon on my Desktop had been labelled ‘Visio Professional’.
1. I recreated the directory ~/.local/share/applications/wine/Programs/Visio Professional/
:
user $ mkdir -p ~/.local/share/applications/wine/Programs/Visio\ Professional
2. I recreated the file ~/.config/menus/applications-merged/wine-Programs-Visio Professional-Visio Professional.menu
(chmod 664) containing the following:
<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" "http://www.freedesktop.org/standards/menu-spec/menu-1.0.dtd"> <Menu> <Name>Applications</Name> <Menu> <Name>wine-wine</Name> <Directory>wine-wine.directory</Directory> <Menu> <Name>wine-Programs</Name> <Directory>wine-Programs.directory</Directory> <Menu> <Name>wine-Programs-Visio Professional</Name> <Directory>wine-Programs-Visio Professional.directory</Directory> <Include> <Filename>wine-Programs-Visio Professional-Visio Professional.desktop</Filename> </Include> </Menu> </Menu> </Menu> </Menu>
‘wine-wine
‘ corresponds to the ‘Wine’ entry in the top-level LXQt applications menu.
‘wine-Programs
‘ corresponds to the second-level menu entry ‘Programs’ (i.e. ‘Wine’ > ‘Programs’).
‘wine-Programs-Visio Professional
‘ corresponds to the third-level menu entry ‘Visio Professional’ (i.e. ‘Wine’ > ‘Programs’ > ‘Visio Professional’).
‘wine-Programs-Visio Professional-Visio Professional
‘ corresponds to the fourth-level menu entry ‘Visio Professional’ for the application itself (i.e. ‘Wine’ > ‘Programs’ > ‘Visio Professional’ > ‘Visio Professional’).
3. Notice in the above file the syntax for menu directory files corresponding to menu entries. I had to recreate the directory files as follows:
~/.local/share/desktop-directories/wine-wine.directory
(chmod 664) containing:
[Desktop Entry] Type=Directory Name=Wine Icon=wine
~/.local/share/desktop-directories/wine-Programs.directory
(chmod 664) containing:
[Desktop Entry] Type=Directory Name=Programs Icon=folder
~/.local/share/desktop-directories/wine-Programs-Visio Professional.directory
(chmod 664) containing:
[Desktop Entry] Type=Directory Name=Visio Professional Icon=folder
4. I recreated the file ~/.local/share/applications/wine/Programs/Visio Professional/Visio Professional.desktop
(chmod 664) containing:
[Desktop Entry] Name=Visio Professional Exec=env WINEPREFIX="/home/fitzcarraldo/.wine-visio" wine-stable /home/fitzcarraldo/.wine-visio/drive_c/Program\ Files/Visio/Visio32.EXE Type=Application StartupNotify=true Path=/home/fitzcarraldo/.wine-visio/dosdevices/c:/Program Files/Visio Comment=Visio Professional Icon=AAE3_Visio32.0 StartupWMClass=visio32.exe
and I copied the file to ~/Desktop/Visio Professional.desktop
(chmod 755). I right-clicked on ~/Desktop/Visio Professional.desktop
and ticked ‘Trust this executable’. It is not necessary to do that for .desktop
files in ~/.local/share/applications/wine/Programs/
and its sub-directories.
I used the command ‘locate -i visio | grep -i png
‘ to find the name of the existing icon file (AAE3_Visio32.0.png
) that WINE had created when I originally installed the application. The StartupWMClass
variable seems to be the same as the application’s executable file name but all in lower case. I found the Exec
and Path
entries by examining the existing sub-directories and files in ~/.wine-visio/drive_c/
.
The ‘Wine’ menu entry and sub-entries all reappeared correctly after I logged out and back in, and I could again launch the application either by selecting the application from the LXQt application menu or by double-clicking on the application’s icon on my Desktop.

Resulting application menu entry for Windows application Visio Professional 5
The Windows applications are now all usable again, although I wish I knew what caused the problem in the first place.
Anyway the exercise was not a waste of time because I now know how to modify WINE menus. Some Windows application installation programs in WINE result in a menu entry ‘Wine’ > ‘Programs’ > ‘<application>’ > ‘<application>’ whereas others result in a menu entry ‘Wine’ > ‘Programs’ > ‘<application>’, and I now know how to change the menu hierarchy if I want to. For example, I have just now installed the Windows application SumatraPDF to read e-books. The SumatraPDF installation program launched using WINE resulted in a menu entry ‘Wine’ > ‘Programs’ > ‘SumatraPDF’. The resulting file ~/.config/menus/applications-merged/wine-Programs-SumatraPDF.menu
contained the following:
<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" "http://www.freedesktop.org/standards/menu-spec/menu-1.0.dtd"> <Menu> <Name>Applications</Name> <Menu> <Name>wine-wine</Name> <Directory>wine-wine.directory</Directory> <Menu> <Name>wine-Programs</Name> <Directory>wine-Programs.directory</Directory> <Include> <Filename>wine-Programs-SumatraPDF.desktop</Filename> </Include> </Menu> </Menu> </Menu>

Original application menu entry for Windows application SumatraPDF installed via WINE
There was no .directory
file for SumatraPDF in ~/.local/share/desktop-directories/
because the menu entry to launch SumatraPDF is under ‘Wine’ > ‘Programs’. If I wanted to change the menu entry to be under ‘Wine’ > ‘Programs’ > ‘SumatraPDF’ I could modify the contents of the file ~/.config/menus/applications-merged/wine-Programs-SumatraPDF.menu
, create the file ~/.local/share/desktop-directories/wine-Programs-SumatraPDF.directory
, create the directory ~/.local/share/applications/wine/Programs/SumatraPDF/
and move the file ~/.local/share/applications/wine/Programs/SumatraPDF.desktop
to ~/.local/share/applications/wine/Programs/SumatraPDF/SumatraPDF.desktop
. I decided to do this as an exercise:
user $ mkdir -p ~/.local/share/applications/wine/Programs/SumatraPDF/
$ mv ~/.local/share/applications/wine/Programs/SumatraPDF.desktop ~/.local/share/applications/wine/Programs/SumatraPDF/SumatraPDF.desktop
I edited the file ~/.config/menus/applications-merged/wine-Programs-SumatraPDF.menu
so it now contains the following:
<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" "http://www.freedesktop.org/standards/menu-spec/menu-1.0.dtd"> <Menu> <Name>Applications</Name> <Menu> <Name>wine-wine</Name> <Directory>wine-wine.directory</Directory> <Menu> <Name>wine-Programs</Name> <Directory>wine-Programs.directory</Directory> <Menu> <Name>wine-Programs-SumatraPDF</Name> <Directory>wine-Programs-SumatraPDF.directory</Directory> <Include> <Filename>wine-Programs-SumatraPDF-SumatraPDF.desktop</Filename> </Include> </Menu> </Menu> </Menu> </Menu>
I created the file ~/.local/share/desktop-directories/wine-Programs-SumatraPDF.directory
containing the following:
[Desktop Entry] Type=Directory Name=SumatraPDF Icon=folder
I logged out and back in, and the application menu entry for SumatraPDF had changed from:
‘Wine’ > ‘Programs’ > ‘SumatraPDF’
where the second-level entry in the ‘Wine’ menu has a folder icon,
to:
‘Wine’ > ‘Programs’ > ‘SumatraPDF’ > ‘SumatraPDF’
where the second-level and third-level entries in the ‘Wine’ menu have folder icons. The other Windows applications in my user account are at the fourth level of the WINE menu, so the Wine menu for SumatraPDF is now consistent with the other Windows applications.

Modified application menu entry for Windows application SumatraPDF installed via WINE
By the way, the Desktop Configuration File ~/Desktop/SumatraPDF.desktop
created by WINE contains the following:
[Desktop Entry] Name=SumatraPDF Exec=env WINEPREFIX="/home/fitzcarraldo/.wine-sumatra" wine-stable C:\\\\users\\\\fitzcarraldo\\\\Local\\ Settings\\\\Application\\ Data\\\\SumatraPDF\\\\SumatraPDF.exe Type=Application StartupNotify=true Path=/home/fitzcarraldo/.wine-sumatra/dosdevices/c:/users/fitzcarraldo/Local Settings/Application Data/SumatraPDF Icon=3EBA_SumatraPDF.0 StartupWMClass=sumatrapdf.exe
and the Desktop Configuration File ~/.local/share/applications/wine/Programs/SumatraPDF.desktop
created by WINE contains the following:
[Desktop Entry] Name=SumatraPDF Exec=env WINEPREFIX="/home/fitzcarraldo/.wine-sumatra" wine-stable C:\\\\windows\\\\command\\\\start.exe /Unix /home/fitzcarraldo/.wine-sumatra/dosdevices/c:/users/fitzcarraldo/Start\\ Menu/Programs/SumatraPDF.lnk Type=Application StartupNotify=true Path=/home/fitzcarraldo/.wine-sumatra/dosdevices/c:/users/fitzcarraldo/Local Settings/Application Data/SumatraPDF Icon=3EBA_SumatraPDF.0 StartupWMClass=sumatrapdf.exe
I am not sure why there is a difference in the Exec
command in the two files, but that is an investigation for another day.
Addendum (13 March 2021): KDE in Gentoo Linux on my laptops has essentially the same menu structure and files for Windows applications installed via WINE. However, unlike LXQt in Lubuntu 20.10, in addition to the individual .menu
file per Windows application KDE has a file (~/.config/menus/applications-kmenuedit.menu
) that defines the entire KDE applications menu, not just the Windows applications under ‘Wine’ in the applications menu. To make changes to the menu structure of Windows applications in KDE I therefore have to perform a further step; I have to edit the file ~/.config/menus/applications-kmenuedit.menu
, which I have found to be a hassle. The file seems to collect cruft every time a menu entry is created, moved, changed, or deleted. Over time the file can become very large and confusing to read, and it can still contain entries for applications removed years ago. Also, some of the edits I make in the file are not accepted and KDE either reverts the contents or alters the contents in a way I do not want. Therefore I make a copy of the file before editing it, just in case I make a mistake and have to put things back to the way they were.