Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/kennethrrosen/Qubes-OS-Autostart-Menu

Qubes OS Autostart Menu
https://github.com/kennethrrosen/Qubes-OS-Autostart-Menu

Last synced: about 2 months ago
JSON representation

Qubes OS Autostart Menu

Awesome Lists containing this project

README

        

# QubesOS Autostart Menu
By not autostarting any qubes on boot, you can maintain a leaner and faster startup. You'll also want to update your Grub configuration, following [this](https://www.qubes-os.org/doc/autostart-troubleshooting/) guide.

This guide will help you create an autostart script for Qubes OS using Zenity in dom0. The script will allow you to select which group of qubes to start upon system startup. We'll create a .desktop file and a .sh script in the ~/.config/autostart/ folder. If you don't have an autostart folder or Zenity installed, we'll guide you through the installation process.

### Step 1: Install Zenity

To install Zenity, open a terminal in dom0 and run the following command:
```
sudo qubes-dom0-update zenity
```
### Step 2: Create the autostart folder

If you don't have a ~/.config/autostart/ folder, create it by running the following command in dom0:
```
mkdir -p ~/.config/autostart
```
### Step 3: Edit the .desktop and .sh files

Clone or download this repository to an AppVM (replace your_appvm with the name of your AppVM):
```
[user@your_appvm ~]$ git clone https://github.com/kennethrrosen/Qubes-OS-Autostart-Menu.git
```
Edit the qubes-autostart-menu.desktop file in the repository and replace user with your username:
```
Exec=/home/user/.config/autostart/autostart.sh
```
Edit the autostart.sh script in the repository to replace the qube names with your own qubes:
```
declare -a work_qubes=("work-vm1" "work-vm2" "work-vm3")
declare -a system_qubes=("sys-net" "sys-firewall" "sys-usb" "sys-vpn")
declare -a admin_qube=("admin-vm1" "admin-vm2")
declare -a comms_qube=("comms-vm1" "comms-vm2")
```
### Step 4: Copy the .desktop and .sh files to dom0

In dom0, run the following command to copy the modified qubes-autostart-menu.desktop file from your AppVM to the dom0 ~/.config/autostart/ folder:
```
qvm-run --pass-io your_appvm 'cat /path/to/Qubes-OS-Autostart-Menu/qubes-autostart-menu.desktop' > ~/.config/autostart/qubes-autostart-menu.desktop
```
Similarly, copy the modified autostart.sh file from your AppVM to the dom0 ~/.config/autostart/ folder:
```
qvm-run --pass-io your_appvm 'cat /path/to/qubes-autostart-menu/autostart.sh' > ~/.config/autostart/autostart.sh
```
Replace your_appvm with the name of your AppVM, and /path/to/qubes-autostart-menu with the actual path to the folder containing the qubes-autostart-menu.desktop and autostart.sh files in your AppVM.

### Step 5: Make the script executable

Run the following command in dom0 to make the script executable:
```
chmod +x ~/.config/autostart/autostart.sh
```
That's it! The Qubes OS Autostart Menu will now appear during system startup, allowing you to choose which group of qubes to start.