Customize Qubes OS 4.3 Login & Lock Screen (Avatar + Dark Mode)

guides #version-r43 #configuration #dom0 #gui #theme

If you see any errors in this guide, please inform me so I can make the necessary corrections.

This is a step‑by‑step guide for changing the user avatar and enabling a dark theme on the Qubes OS 4.3 login screen (LightDM), and for changing the avatar used by the lock screen (xfce‑screensaver). It also includes:

‼️ Bottom Line, Up Front ‼️

[details="(IMG) Initial Login Screen Example"] Qubes|376x500 [/details]


1. Overview

Qubes OS 4.3 uses:

This guide shows how to:

All changes happen in dom0.


2. Prerequisites & Warnings


3. Change the Login Screen User Avatar (LightDM)

LightDM’s GTK greeter supports a default user image. You can point it to any PNG/JPEG image available in dom0.

3.1 Choose or add an image in dom0

The avatar image ultimately needs to exist as a file in dom0, but there are two main ways to get it there:

Option A: Use a dom0 screenshot to avoid copying files into dom0

  1. In an AppVM/DispVM, open the image you want (e.g. in an image viewer or browser).
  2. Maximize/fullscreen the AppVM window so the image fills the desktop area as much as possible.
  3. In dom0, open the screenshot tool and choose to capture the region or entire screen.
  4. Save the screenshot in dom0, e.g.:
  5. Suggested path: ~/Pictures/avatar.jpg
  6. Place it in a standard location:
# In dom0
sudo mkdir -p /usr/share/pixmaps
sudo cp ~/Pictures/avatar.jpg /usr/share/pixmaps/my-user.jpg
sudo chmod 644 /usr/share/pixmaps/my-user.jpg

This way, you never copy the original file from the VM into dom0; you only create a new image in dom0 via a fullscreen screenshot of what is displayed on the screen.

Option B: Copy an image file directly into dom0

If you’re okay copying the file itself into dom0, you can use qvm-run --pass-io (see next subsection).

3.2 Copy or “import” a profile picture from an AppVM/DispVM

If your profile picture is in an AppVM/DispVM (e.g. disp1234), and you do want to copy the actual file into dom0, use:

Warning: Only do this for images you fully trust.

  1. Ensure the picture exists in the VM, e.g. ~/Downloads/ProfilePicture.jpg.
  2. In dom0:
qvm-run --pass-io disp1234 'cat /home/user/Downloads/ProfilePicture.jpg' \
  > /usr/share/pixmaps/ProfilePicture.jpg

sudo chmod 644 /usr/share/pixmaps/ProfilePicture.jpg

You can now use /usr/share/pixmaps/ProfilePicture.jpg as your avatar path in the LightDM config.

3.3 Point LightDM to your custom image

  1. Edit the LightDM GTK greeter configuration in dom0:
sudo nano /etc/lightdm/lightdm-gtk-greeter.conf
  1. Find the [greeter] section (create it if it doesn’t exist), then add or edit:
[greeter]
default-user-image=/usr/share/pixmaps/ProfilePicture.jpg

or, if you used the earlier example:

[greeter]
default-user-image=/usr/share/pixmaps/my-user.png

Make sure there is only one default-user-image= line in [greeter]. 3. Save and exit (Ctrl+O, Enter, Ctrl+X in nano). 4. Reboot so LightDM reloads the config:

sudo reboot

After reboot, the login screen should show the new avatar.

3.4 (Optional) Use a GUI: lightdm-gtk-greeter-settings

Instead of manually editing /etc/lightdm/lightdm-gtk-greeter.conf, you can install a graphical configuration tool:

sudo dnf install lightdm-gtk-greeter-settings
  1. Launch it from the dom0 application menu (e.g. “LightDM GTK+ Greeter settings”) or run:
lightdm-gtk-greeter-settings
  1. Use the GUI to:
  2. Select your user image (point it at the file you prepared in /usr/share/pixmaps/ or another location).
  3. Adjust theme, icons, and other greeter appearance settings.

The GUI will update /etc/lightdm/lightdm-gtk-greeter.conf for you. You still need to reboot for LightDM to apply the changes.

If you don’t want extra packages in dom0, skip this and stick to the manual editing described in 3.3 and 4.1.


4. Set a Dark Theme for the Login Screen (LightDM)

You can tell the LightDM GTK greeter to use a dark GTK theme, and you can control its background via your desktop wallpaper.

You can do this either:

4.1 Edit the LightDM GTK greeter config (theme only)

  1. In dom0:
sudo nano /etc/lightdm/lightdm-gtk-greeter.conf
  1. Under [greeter], add or update:
[greeter]
theme-name=Adwaita-dark

Notes: * theme-name is the GTK theme. Common dark options in Xfce/Qubes include Adwaita-dark, Greybird-dark, or other installed themes. * If there is already a theme-name= line: * Replace it, or * Comment it out with # and add your own line. 3. Save and exit, then reboot:

sudo reboot

If you installed lightdm-gtk-greeter-settings, you can instead open it and set the theme from the GUI; it will edit this file for you.

4.2 Change your desktop wallpaper (reflected on login)

The LightDM background usually follows your desktop background configuration.

Basic method: Use existing wallpapers

  1. In dom0, open:
  2. Start (Qube Menu) → Settings (gear/cog icon) → System SettingsDesktop
  3. Choose one of the existing wallpapers.
  4. Apply changes and log out or reboot.

Your selected desktop wallpaper should now appear as the login screen background.

Custom wallpaper: fullscreen screenshot from a Qube

If you want a custom wallpaper that also appears in the standard wallpaper list:

  1. In an AppVM/DispVM, open the image or content you want as a wallpaper and fullscreen the window so it covers the entire desktop.
  2. In dom0, use the screenshot tool to capture the entire desktop (full screen).
  3. Save the screenshot temporarily, e.g.:
# Screenshot saved via GUI to e.g.
~/Pictures/custom-wallpaper.png
  1. Move or copy it into the Qubes wallpapers directory so it shows up alongside the default Qubes wallpapers:
sudo mkdir -p /usr/share/backgrounds/images/
sudo cp ~/Pictures/custom-wallpaper.png /usr/share/backgrounds/images/
sudo chmod 644 /usr/share/backgrounds/images/custom-wallpaper.png
  1. Now open:
  2. Start (Qube Menu) → Settings → System SettingsDesktop
  3. Your new image should appear with the other Qubes OS wallpapers. Select it and apply.

After you log out or reboot, LightDM should use this custom wallpaper as the login screen background.


5. Change the Lock Screen Avatar (xfce‑screensaver)

On Qubes OS 4.3, the lock screen is handled by xfce‑screensaver. It does not have its own separate avatar setting; instead, it shows your user icon, typically taken from ~/.face (and/or AccountsService).

So the easiest way to change the lock screen avatar is to set ~/.face for your dom0 user. You can obtain this image either by:

5.1 Copy a trusted picture into dom0

Example using qvm-run --pass-io (direct copy):

# In dom0
qvm-run --pass-io disp1234 'cat /home/user/Downloads/ProfilePicture.jpg' \
  > ~/ProfilePicture.jpg

chmod 644 ~/ProfilePicture.jpg

Or, if you prefer not to copy the file, use the dom0 screenshot approach:

  1. Open the desired image in an AppVM/DispVM.
  2. Fullscreen the window showing the image.
  3. In dom0, take a screenshot and save it, e.g. ~/Pictures/avatar-lock.png.

5.2 Set it as your user icon via ~/.face

Once the image exists in dom0 (via screenshot or file copy), set it as your user icon:

cp ~/ProfilePicture.jpg ~/.face
# or e.g.
cp ~/Pictures/avatar-lock.png ~/.face

chmod 644 ~/.face

~/.face is the standard per‑user icon path that xfce‑screensaver (and other desktop components) will read.

5.3 Restart your session and test

  1. Log out of your dom0 desktop session, then log back in.
  2. Lock the screen (via the Xfce menu or the lock shortcut).
  3. The xfce‑screensaver lock screen should now show your new avatar next to your username.

No extra xfce‑screensaver configuration is needed; it simply uses your user icon.


6. Troubleshooting

6.1 No avatar on the login screen (LightDM)

ls -l /usr/share/pixmaps/ProfilePicture.jpg
# or
ls -l /usr/share/pixmaps/my-user.png
sudo chmod 644 /usr/share/pixmaps/ProfilePicture.jpg

6.2 Login screen is not using the dark theme

6.3 Background didn’t change on the login screen

6.4 Lock screen avatar didn’t change (xfce‑screensaver)

ls -l ~/.face

If needed:

chmod 644 ~/.face