Tutorial: Installing Software in Template (practical example)

Continuing the discussion from Installing software in templates:

A very important step in using Qubes is being able to install applications on your qubes. Installing software in a template, is generally the normal way of doing it.

You should always look on the official documentation first. How to install software | Qubes OS I’ll give a particular example, following the instructions on the documentation.

Background reading on package managers

Background

This is a big question. Most qubes (which are just virtual machines under the hood) are running linux. Or rather a flavor of linux (fedora, debian, etc.).

Just like on MacOS or Windows you can install software by downloading from the developer’s website, generally the safest way is to find it on the App Store / Microsoft store. Easy central way of finding software.

On Linux, that’s pretty much the same thing. That “store” is called the package manager. There are some graphical user interfaces (GUIs) but these don’t work under Qubes since they require an internet connection. So the only way to install software in templates is by using the terminal.

Practical example

Goal: install a music player on personal qube

  1. I learn about the template on which the personal qube is based by going to the qubes’s settings. I learn its template is fedora-34.

  2. I search online for “best music player for fedora” to find a piece of software that’s already shipped for fedora (in it’s “app store”). I found the software clementine works there.

    There I look for the installation command that should look like

    sudo dnf install clementine

    What I wanted to find is really the package name clementine.

  3. I follow the instructions from the documentation:

    1. I open the gnome-terminal application from the fedora-34 template qube. (a terminal window will pop up)

    2. I type sudo dnf install clementine

    3. I shut down the fedora-34 template, with the command sudo shutdown, for example.

    4. I shut down the personal qube if it was already running (so it can get the freshly installed clementine player from the fedora-34)

    5. I add the clementine application to the personal qube - follow the step 6 in the documentation

      This is needed because even though you installed clementine for the template, you probably won’t want to see the audio player now listed on all the qubes based on that template (work, unstrusted, etc.)

  4. Start clementine on your personal qube by clicking on the app menu » personal » clementine

  5. :partying_face: it should open clementine!

What if the software is not available?

Good question. If the software is not available in the package manager / app store of the template, you need to look into other ways. See the following resource:

11 Likes

Thank you for this excellent example (I’m a noob).

Instead I installed LibreOffice using APPS > personal > xfce Terminal; From your post I should have installed it using e.g. Templates > fedora-39-xfce > xfce Terminal.

So I thought Templates didn’t have internet access - other parts of the forum indicated that - so about the method I used: Did I break my system, or will I have like dozens of different virtual copies of LibreOffice running simultaneously when I should only have one or two running (if I’d have followed your example)? What are the consequences of what I did, and can I fix it?

Thanks again for the clarity in your example!

1 Like

The templates don’t have internet in the sense that if you open the browser it won’t work. But to install packages, it can reach the internet just fine.

Light bulb turns on. I get it!

1 Like

so it don’t matter if your installing a software using the template terminal compared to the main dom0 terminal ?? im not getting the same results when trying to install a software like electrum wallet in either 1. it keeps saying “no match for argument” for Electrum-4.5.5.tar.gz

You almost never want to install in dom0.
You install software in the template, using the terminal or normal
package tools, like “Software” in Fedora, or “Synaptic” or “Aptitude” in
Debian.
In rare cases you will install software in a special way in to ain
ordinary qube.

I never presume to speak for the Qubes team.
When I comment in the Forum I speak for myself.

1 Like

okay i had tried to install Electrum 4.5.5 in apps part of my template like work or vault and some how it installed in the templates anon whonix system? do you know how that could have happened?

KD1177

In the case of Libre Office, it is available –
Debian/Settings/Applications.

For my use. I create a clone of Template/Debian. Named Office-Deb

I use settings/applications/Libre Office. to install Libre Office to that Template. In settings/application is the option (near top-center above two boxes) “Refresh Applications” – this will create a Tab that allows you to directly click on Libre Office. I don’t recall if it is necessary to restart Qube.

From that I create a Stand alone App qube named Office-Deb, which points to the Template of Office-Deb. I use Settings to take the App Qube Offline, Now I can import text documents to read in the Stand Alone App Qube Office-Deb. I can write text documents and export them.

Not sure why Libre Office is not in the list for Fedora 39. There are other steps for installing to Libre Office to Fedora 39.

Just using the Settings/Applications/Libre Office made it more straightforward to do the install.

No. I have not heard of such a thing. I think you must be mistaken.

I never presume to speak for the Qubes team.
When I comment in the Forum I speak for myself.

okay thank you for that , yes the Electrum bitcoin wallet is not showing in my work app or no template only in the anon whonix app and i never used that terminal. i wonder was that because i was trying it with dom0 first.

okay thanks i see that Libre office is installed on my fedora templates also i’m doing to see is it on Debian.

If anything of what you say is true then you have found a way to break
the compartmentalisation of Qubes. I simply dont see how this could be
true from what you say.

I never presume to speak for the Qubes team.
When I comment in the Forum I speak for myself.

1 Like

The Electrum is installed in Whonix Workstation template by default:

1 Like

i have a question on did you put the office-Deb which was the template, did you switched it to an online qube? or left the NetVM to N/A ? which 1 is online and how do you export the documents?

I have to apologize, I did leave out some details. I can recall when I was first starting, it seemed everyone was writing in a shorthand of how to do things that I did not know. However, just a few facts, make much the use of Qubes far more clear. So don’t get discouraged.

Never, under any circumstances put a Template online.

It is not necessary. One installs software to a Template by using the Terminal. Command Line. "CLI. Don’t worry, you do not have to type very much into the Terminal. it is copy and paste from somewhere else. Or in this case, Libre Office is already available. Without the Cli (just Cli is how one installs software without needing to put a Template online. So I tell you now.)

I apologize again, I am going to probably be more detailed than you need, or want.

One also never uses one’s personal data in a Template. Templates - the second column in from the left hand side. App Qubes are the ones we allow our data into, are the first column from the left hand side.

Starting from the upper left hand side, I click over to Templates. Scroll down to the base Template I want to use for Office. I choose Debian, because I know that Debian has in it’s already available Applications Libre Office.

I want leave the Debian Template unmodified. Just as the Developers created it. Perhaps it will update. but I always want to be able to get back to square one. Unmodified Debian Template.

Template (2nd column in from left), I scroll down to Debian. Click “Settings” the screen that comes up has in the middle near the bottom, the option to “Clone Qube” It will offer you its version of a name, or you can type your own in. I typed in Office-Deb.

So it creates Another, New Template Qube.

Added: I started to do this entire process onto a laptop which I had not created office-deb. Surprise. When I click the upper left Q, it does not bring up the columns.

My quick solve was to - far right side. (under name of my computer)
Right click.
Scroll down to “Panel” Click
Scroll down to “Log Out” Click
From box in middle of screen, “Shut Down”

My solution for anything happening that I don’t think is correct.
Do --power down – from menu.

When I power back on the middle list of Templates Tabs shows “office-deb”

After “office-deb” appears in the second column. I click on that, .

Choose Settings. Click.

In the box which appears, give it a few seconds.

One of tabs available - “Applications”
Two boxes appear, The one on the left are “Applications” which have been left for you to easily install. If you see the ones for LibreOffice, click on those. Click on the arrow between the two boxes that points to the right. When you have moved over all the Applications you want to install. Down at the bottom are three buttons.

Scroll to first one left, “Apply” click

at the top of the two boxes, Scroll to “Refresh applications” click

might take minute of so. It will automatically shut down. restart.

When the words “Refresh Applications” reappear.

Scroll near bottom right: “OK” click
that box has now gone away/

Now I need to create a matching App Qube, to actually do the use the Libre Office in. this is pretty easy , with guide posts

Create an “App Qube” for office-deb. t

Upper left blue Q. Click
Scroll down to gear at bottom. click
Scroll over to “Create Qubes VM” click brings up box with options.

For name I type in “office-deb”
You can choose a new color if you want.
Scroll down to 'Template" I choose “office-deb”

I want to always use Libre Office offline, because some documents come with malware, or are trying to talk somewhere on the internet I have not chosen.

Type in whatever name desire… I choose “office-deb” same as Template
“Type” choose “Stand Alone” click
Scroll down to “Clone from existing”
Template: and choose “office-deb”
Networking" (None}

At bottom “OK” click

after a minute or two; fresh qube will appear

I figure I should write this for anyone who has no experience at all. Please don’t be annoyed. I am not trying to talk down to you. Trying to be reassuring to newbies.

Over on the Qubes OS website: Documentation. “How to”

1 Like

no i needed to read everything thank you for this i was just wondering if you create a template that’s going to be office for Libre office and then you create an app , how are you going to export your data from the application part ?from the left hand menu when you see apps and created an libre office matching the template of libre office in qube.

I have finished. This guide just worked for me. I had to backtrack and create the App Qube with first column, Gear/Qubes Tools/Create Qubes VM

There is on the “Freedom of the Press Foundation” website. near the bottom
Danger Zone

Which i have not tried to install, because the last I read, it was not working with the latest updates of Linux. I am probably wrong. I usually am. flaky memory

I feel confident, it will be working again. and DangerZone is what I also want.

1 Like

I should admit some of what I tried is incorrect. My copy only worked when I let Qubes select the name of the Qube that was created. (“My New Qube” , is what it chose)

After I deleted the App Qubes that were not picking up the Template install of office for use in the App. I discover I can not use those App qubes names again, and other derivations of names do not get created properly either.

Also I have to think, I could have left off trying to build a Template for Office-Deb, and instead just built a “stand alone” that I let it name, then use the same techniques to install Libre Office.

I recognize there are several different methods of how to create a new Qube, which have different options, “stand alone” and or when to change the Settings in some different way.

Gee, I should have stayed out of this. I am reinstalling Qubes fresh, and after updating, I don’t have at home internet, so takes me longer than for others. Later today. I will let it play with my mind more. and admit more of my errors.

Illustrates the difficulty newcomers face when a forum posting casually says, "Create an App Qube - to accomplish something…