Title: Create a custom application entry in Qubes OS | |
Author: Solène | |
Date: 14 May 2023 | |
Tags: qubes qubesos freedesktop | |
Description: In this article, you will learn how to create an | |
application entry of a custom installed program in a VM, that | |
integrates well within Qubes OS dom0 | |
# Introduction | |
If you use Qubes OS, you already know that installed software in | |
templates are available in your XFCE menu for each VM, and can be | |
customized from the Qubes Settings panel. | |
Qubes OS documentation about How to install software | |
However, if you want to locally install a software, either by compiling | |
it, or using a tarball, you won't have a application entry in the Qubes | |
Settings, and running this program from dom0 will require using an | |
extra terminal in the VM. But we can actually add the icon/shortcut by | |
creating a file at the right place. | |
In this example, I'll explain how I made a menu entry for the program | |
DeltaChat, "installed" by downloading an archive containing the binary. | |
# Desktop files | |
In the VM (with a non-volatile /home) create the file | |
`/home/user/.local/share/applications/deltachat.desktop`, or in a | |
TemplateVM (if you need to provide this to multiple VMs) in the path | |
`/usr/share/applications/deltachat.desktop`: | |
```desktop | |
[Desktop Entry] | |
Encoding=UTF-8 | |
Version=1.0 | |
Type=Application | |
Terminal=False | |
Exec=/home/user/Downloads/deltachat-desktop-1.36.4/deltachat-desktop | |
Name=DeltaChat | |
``` | |
This will create a desktop entry for the program named DeltaChat, with | |
the path to the executable and a few other information. You can add an | |
`Icon=` attribute with a link toward an image file, I didn't have one | |
for DeltaChat. | |
# Qubes OS integration | |
With the .desktop file created, open the Qubes settings and refresh the | |
applications list, you should find an entry with the Name you used. | |
Voilà! | |
# Conclusion | |
Knowing how to create desktop entries is useful, not even on Qubes OS | |
but for general Linux/BSD use. Being able to install custom programs | |
with a launcher in Qubes dom0 is better than starting yet another | |
terminal to run a GUI program from there. | |
# Going further | |
If you want to read more about the .desktop files specifications, you | |
can read the links below: | |
Desktop entry specifications | |
Arch Linux wiki about Desktop entries |