Issues & confusion executing AppImages from custom desktop shortcut

Hi QubesOS community,

I’m having some major issues performing what i thought would be a simple action- creating a desktop shortcut for a piece of software. I’ve revised and attempted everything all day with no luck. Hoping someone in the community can help …

Here’s what i’m trying to achieve:

Download and install a piece of software (cryptomator) into a templateVM (Fedora-33) for use across all fedora VMs with easy accessibility through a standard desktop shortcut visible in the Qube Manager Applications (like Firefox, Screenshot etc)

So far i’ve had major trouble understanding the documentation and numerous guides that advise to create .desktop files in dom0 and in local VMs after creating subdirectories.

Where i’m at after having given up;

  1. I have downloaded the cryptomator AppImage and verified file with keys etc.
  2. I transferred the file from an insecure VM into templateVM (fedora-33) and moved the file into a directory I created: ~/AppImage/cryptomator-1.5.xxx.AppImage
  3. I gave the applications chmod permissions and tested it works by right clicking and running the application (in the fedora-33 templateVM)
  4. I read through qubes documentation and attempted to create a .desktop file (given the download didn’t come with any of the mentioned configuration that automatically sets this up) but was unable to due to not having permissions to create files in the /usr/share/applications folder (which I navigated to, through fedora-33 file management program)
  5. I read elsewhere that I could create the same .desktop file in /local/share/applications; which i did after having to create the ‘applications’ folder; for the parameters, I copied a dropbox.desktop file that i could see in the dom0 /share/applications folder and updated some of the parameters
  6. Now i’m at the point where I’ve updated and can see the “cryptomator” desktop shortcut in the list of applications on the templateVM (and on other VMs that use that template), however, when clicked from the menu, the shortcut does nothing- and for some reason, the icon i have as part of the .desktop file is not showing, instead I see the standard qubesVM lock image; despite the path being correct to ~/Pictures/myimage.png

The last piece of the puzzle i’ve spent hours trying to crack is how to link the AppImage with the desktop shortcut (which i think i have created properly in fedora-33 template VM /local/share/applications) so that when I click it, it performs the same action as when i right-click and ‘run’ the AppImage.

Hopefully my post is not too long! I thought it best to outline all of the steps i’d taken as i’m relatively new to QubesOS and still learning much of the architecture.

Any help is GREATLY appreciated!

1 Like

Adding here a link to the documentation for other people seeing this thread:

I think this is where the issue lies. The way Qubes works is you install stuff on TemplateVMs (say fedora-33) and then you have an AppVM based on that template (e.g. work). When you start work it gets the programs from the Template and then “overwrites” the template’s home folder with its own.

So basically when the AppVM starts anything that was on the Template’s home folder will disappear. So I suggest you move the icon and the AppImage to /opt/cryptomator and adjust the .desktop file accordingly.

edit: Btw, kudos for all the detailed description of your issue and steps taken. This really makes a difference in diagnosing problems (I really hopped all new forum users this this). Anyways, enjoy the forum!

2 Likes

Thank you for the help! I do believe you are right in pointing out where the issues lies.

After some review of my steps (comparing file systems between VMs) in conjunction with your context I believe that i’ve been mistakenly trying to create the .desktop file in the fedora-33 template instead of in dom0 - i was wondering why I was having permission issues trying to create a text file in the dom0 file system (because you only have read access as the templateVM user (duh!)). I didn’t realise you could even bring up a filesystem for dom0 with thunar in dom0 terminal.

I’m now going to go back through and clear out any .desktop files in fedora-33 .local/share/applications and work VMs then attempt again to create the .desktop file in dom0 from scratch- adding in each of the parameters from terminal text file creation (which I assume to be the only way to create a text file in dom0 without doing anything dodgy moving files up from less secure VMs)

I will post back my results

Good news:

Fixed the placement of the .desktop file to be properly stationed within /usr/share/applications (instead of the home directory) along with the AppImage - I can now see Cryptomator visible in the list of applications via Qube Manager + inheritance of the Cryptomator desktop icon from fedora-33 through to the SVMs in the application menu.

Bad news:
The problem i’m still facing is the execution of the AppImage itself- It works perfectly fine ofc by right-clicking and running however, the whole point is to get it functioning like a desktop app. Currenty, when clicking the Cryptomator icon from any of the menus nothing happens.

After some researching for others with similar issues- perhaps my vanilla understanding of file execution commands could be the issue. I’ve tried a variety of options i’ve read with no luck…

If anyone could please assist in verifying whether the parameters i have for the .desktop file that would be much appreciated - particularly Path= and Exec=

Here’s the text file I created which is placed in fedora-33 templateVM → /usr/share/applications

[Desktop Entry]
Name=Cryptomator
GenericName=File Encryption Tool
Comment=Secure your files with local encryption
Path=/usr/share/applications
Exec=./Cryptomator.AppImage
Terminal=false
Type=Application
Icon=/home/user/.local/share/desktop-icons/cryptomator.png
Categories=Encryption;FileTransfer;
StartupNotify=false

I have placed the AppImage in the same path as the .desktop file.

I would say the original issue is solved. Now you’re dealing more with issues of learning Linux stuff. I would recommend you read some documentation or posts from linux forums surrounding how to properly creating .desktop entries (I can already see some issues on your config). Here’s a resource you can check:

https://wiki.archlinux.org/index.php/Desktop_entries#Application_entry

You are providing a relative path (starts with the “.” with means "current directory). Since you don’t know which directory the program launcher launches from. Even if you did, it’s not good practice. You should provide the full

Also, you failed to follow the above advice (part of the reason why your setup it not working).

1 Like