Qubes is great! I'm assuming you're using it because you take your privacy and security seriously. I'll also assume that you shut down your machine whenever you are not physically attached to it. With that being said, getting your system in to a usable state can be a deterrent to shutting down. Let's see if we can fix that...
You can set different qubes to autostart upon logging in. This will save you a few clicks each time you log in and potentially waiting on qubes to start up later.
From the Qubes Manager, enter the settings for the qubes want to auto-start and set them up to
You can set up each qube to automatically start applications every time the qube starts. There a few different ways to go about this:
Auto-start applications installed systemwide
These would anything you installed with the distro's package manager or that came packaged up with the template. Things like Firefox fall in to this category.
- Open up a terminal
- create an autostart directory:
- navigate to that new directory:
- Symlink whatever application you want to autostart. These applications will be found in
- With the example of Firefox, you would
ln -s /usr/share/firefox-esr.desktop firefox.desktopThis places a symobolic link in
~/.config/autostartthat points back to the actual
.desktopfile that can start Firefox. Each time this qube starts, Firefox will open up
Auto-start applications not installed systemwide
Sometimes you have an app vm where you've downloaded a
.appimage on to. We'll assume that
Obsidian.AppImage lives in your home directory. Here you can just create the
.desktop file and place it directly in to the autostart directory.
mkdir ~/.config/autostart && cd ~/.config/autostart
- Create the desktop file:
- Inside the text editor you will add in the following information
- save the file and you're all set. Each time the qube starts it will run the
Obsidian.AppImagethat lives in your home directory
Arrange windows from auto-started applications
Cool. So now we can auto-start qubes and automatically open applications from those qubes. Now we're going to programitcally move those windows around to various desktops to organize our workspace.
wmctrl we can place a script in
dom0 that will move windows around for us and change settings like "visible on all work spaces".
- After all the windows are open you would normally have open, run
wmctrl -x -lThis will give you information about the open windows.
- Think of the third column as the name assigned to each window. We can then use
wmctrlto move these windows around and change other things about them.
-rrefers to the window name,
-tdesignates which desktop to move the window to
wmctrl -x -r anon-whonix:xfce4-terminal.anon-whonix:Xfce4-terminal -t 3
wmctrl -x -r anon-whonix:Navigator.anon-whonix:Tor Browser -t 3
wmctrl -x -r obsidian:obsidian.obsidian:obsidian -t 0
wmctrl -x -r bitwarden:bitwarden.bitwarden:Bitwarden -t 0
wmctrl -x -r personal:Navigator.personal:Firefox-esr -t 1
wmctrl -x -r qubes-qube-manager.Qube Manager -t 0
wmctrl -x -r xfce4-terminal.Xfce4-terminal -t 0
wmctrl -x -r bitwarden:bitwarden.bitwarden:Bitwarden -b add,sticky,hidden
wmctrl -x -r obsidian:obsidian.obsidian:obsidian -b add,sticky,hidden
wmctrl -x -r qubes-qube-manager.Qube Manager -b add,sticky
wmctrl -x -r xfce4-terminal.Xfce4-terminal -b add,sticky
- The first block of text moves each window to one of 4 different desktops.
- The second block of text makes some of the windows visible on all workspaces and initially minimizes others.
- You can throw the above code in to a shell script and run from dom0 terminal once all your windows open after boot.
So everytime my system starts I just have to wait a minute for all the qubes to start, all the apps to launch and then run my script from
dom0. This makes the process of frequently shutting down m y machine much easier to deal with.