Hi dear members of Qubes community,

I installed element.io desktop version on a debian-10 based non-disposable VM via terminal. When I close the app and thus the VM, element-desktop disappears. I do not have the same issue with other apps. I also should mention that since I can’t start element .desktop, I start the app from terminal using element-desktop -k

Application’s folders do exist; I just can’t start the app because it doesn’t recognize command.

I appreciate any help; thanks for helping me,


1 Like

If you’re trying to install software in AppVMs then would be able to run it until you shut down the virtual machine. And you won’t have any desktop icons. This happens because that is not the way to install software in Qubes.

I know it may sound weird, but it will make lots of sense when you read the documentation on that:

After this many of your questions should have been resolved. If not, please do ask.

1 Like

Thanks, but there is a step that I couldn’t fully comprehend.

Bullet point 5 says “Restart all TemplateBasedVMs based on the TemplateVM.”

What does it mean? I only have one Debian based TemplateBasedVM which is mention above.

Also, since I only use Debian for Element, can I install it to the TemplateVM? What would be the consequences?

Thanks a lot

Yes, it may be a bit confusing. Basically the way it works is you install things on templates and then TemplateBasedVMs inherit that.

For example, by default work and personal are based on the template fedora-32. When you install software in fedora-32, since the other two are based on it, they will inherit that new software. However this only happens after your restart work and personal.

What this means in practices is that if you want to install libreoffice permanently for your work AppVM (a kind of TemplateBasedVM) then you install it on fedora-32 and then restart the work VM. If you had your personal one running but you don’t need to make use of the libreoffice there, you don’t need to restart it.

Hopefully this clears it up a bit.

Following the docs, software should generally be installed in Templates, yes. You can read about the implications here:

Specifically about security, there is this subsection.

If you do not trust the element software enough to have it in other appVMs based on that template, then you can clone debian-10 into debian-10-element, for example and change your AppVM to be based on that one. Then, those changes will only be affecting that AppVM.


Hi @haroldfinch ,

Could you precise how you installed a desktop client for Element on Debian?

I’m asking because the Debian documentation states that such a client does not exist:

Clients not available yet:
- Element (formerly Riot): ITP
depends on a lot of JavaScript packages that are not yet in Debian

Quite a noob here, so details would be appreciated.


I see. I was not aware that it was not available on Debian packages. Then it likely needs to be installed as a Snap. For instructions on this, please see “Installing Snap Packages”.

edit: it probably can also be downloaded as a binary or installed from source. But I do not recommend this as the user will likely forget to update and thus have unpatched software which is not good security-wise.

If more details are needed, please ask. But do try out some things first.

Hi @caterinathiel ,

There is a Debian installation guide on the website of Element.

  1. sudo apt install -y wget apt-transport-https

  2. sudo wget -O /usr/share/keyrings/riot-im-archive-keyring.gpg https://packages.riot.im/debian/riot-im-archive-keyring.gpg

  3. echo “deb [signed-by=/usr/share/keyrings/riot-im-archive-keyring.gpg] Nginx Directory default main” | sudo tee /etc/apt/sources.list.d/riot-im.list

  4. sudo apt update

  5. sudo apt install element-desktop

After installation, when I start the app, an Element icon appears on the top right bar near the workspaces. Website says it’s the desktop version, but I haven’t been able to try it on Debian other than the Qubes one because I use Debian-10 32-bit.


Thanks; I guess I’m starting to understand the process. There is lot to learn :slight_smile:

1 Like

The install of element-desktop (also signal-desktop) works fine. But do not forget to proxy your template
“export https_proxy=”
before you start your install process since templates usually have no NetVM - for good reasons.

From my experience, this is NOT needed when installing:

But it’s good advice for other cases like custom installation scripts.