Navigating the Waters: Installing Software in Qubes
Installing software in Qubes OS can be a daunting experience. This guide’s goal is to serve as a crossroad sign to help you navigate this landscape.
Note for users coming from Windows or MacOS
If you’re used proprietary tool like Microsoft office or Photoshop, you won’t be able to run them on your regular app qubes (though you can run Windows on Qubes, but it’s a subpar experience).
Fortunately, there are easy ways to find alternatives:
-
AlternativeTo
AlternativeTo.net is a website that lets you find alternatives to software. Make use of the filters to look for software compatible on Linux (and preferably with open source license). -
Search Engine
Looking for a music player or a video player? Just search for it. Most likely all your app qubes are running the Fedora Linux “version”, so you search:best music player for fedora
and you;ve got your answer.
Note
Because Qubes and Linux are diverse, you’ll have various methods to install the same thing.
Some are easier and some harder.
Which installation ways do you see on the official website?
-
Visit the official website for the software
Check the listed methods for installing it.The official instructions are too complicated?
Instead search on your favorite search engine for the following and repeat:- how to install _______ on Fedora
- how to install _______ on Debian
And pick whichever is easier – with a suspicious mind, of course
-
Install according to table bellow
Based on the instalation instructions you’ll have a different method of installing and a different place where to install (app qube, template, standalone qube).It is possible many apply
Generally you should choose the first on the list bellow.If you find something like… Then you install in… Instructions sudo dnf install _____
fedora template jump to guide sudo apt install _____
debian template jump to guide flatpak
app qube jump to guide snap
app qube jump to guide .deb
debian standalone jump to guide .rpm
fedora standalone jump to guide
Stop reading here
What follows are the reference material that is linked to in the above table
Installing in Template qube
A template qube is like a boilerplace for app qubes based on it. When you install a piece of software on it all qubes based on the template will also get that piece of software.
When you install it like this, you get updates via routine updates (normal way of updating).
-
When software is already available in template’s package manager
difficulty: “easy” recommended way (if possible)Just follow the official documentation or see a practical example here.
-
When software is available as an additional package repository only
difficulty: medium
Follow it on the official documentation: How to Install Software | Installing software from other sources. Examples include installing signal.
other methods (advanced)
This is for advanced users only. Updates are manual.
Using the updates proxy to give software management programs internet access in the template.
In case this software installs stuff in non-persistent directories you’ll need to use bind-dirs those directories persist when starting an app qube based on the template.
Examples of what can be achieved with this
pip install
in template - External repositories, pip, snap, appimage persistent installations in template/appVM - #4 by unman (Note if using pip, you’re probably better off installing it in an app qube with a python virtual environment)
Installing in App qube
App qubes are your regular qubes (e.g. personal
or work
qubes). If you install like this the application will only be available in that app qube where you installed it.
Snap
Read more at Installing Snap Packages (official documentation). Updates should be done automatically but you should double-check this.
Flatpak
Qube Apps - developed by Micah Lee, a trusted community member.
Updates are manual but just one-click.
- When an AppImage is available. Just download the AppImage and follow the installation instructions.
Updates are manual and tiresome. It’s basically repeating the whole install process! Plus, you’ll have to figure out a way to know when there are updates. This bad security practice means it will probably be outdated for a long time.
Installing in a dedicated qube (standalone qube)
Standalone qubes are dedicated qubes. They are good if you want to install random software that you don’t trust to be installed on your main templates, only really need to use in a single qube.
Want this software in 2+ qubes?
If you want to have this software made available for multiple qubes, then you may want to consider cloning a template and installing all of that there. See an example comment of this here.
Regardless, the security isolation and flexibility may make this a way to go for very particular pieces of software.
- Install individual
.deb
or.rpm
that you download form a website. See how to do this here: Installing Software in Qubes from .deb / .rpmUpdates are manual and tiresome. It’s basically repeating the whole install process! (bad security practice). There are ways of automating them but they are not trivial.
- install like a template
You can install stuff as if you were in a template see the first section - install like an app qube
Install as if you were on an app qube with the methods in the section above.