Skip to content

Snippets

Willian Santos edited this page Aug 13, 2025 · 18 revisions

Enable passwordless login

  1. Create a new group called nopasswdlogin:
sudo groupadd -r nopasswdlogin
  1. Add the user to the group:
sudo gpasswd -a <username> nopasswdlogin
  1. Remove the password from the user:
sudo passwd -d <username>
  1. Edit /etc/passwd, remove 'x' in password field for the user in question (so that it's actually empty):
sudoedit /etc/passwd

    # From this:
    <username>:x:1003:1003:x:/home/<username>:/usr/bin/bash
               ^

    # ...to this:
    <username>::1003:1003:x:/home/<username>:/usr/bin/bash

Thanks to tpecar for figuring this out.

  1. Add the following lines to /etc/pam.d/sddm (make sure not to duplicate lines):
sudoedit /etc/pam.d/sddm

    # Add this to the beginning of the file:
    #%PAM-1.0
    auth        sufficient  pam_succeed_if.so user ingroup nopasswdlogin
    auth        include     system-login

The theme should now hide the password input if you select the user. You can test this by running ./test.sh.

Change user face (avatar)

There is a script included with the theme:

./change_avatar <username> <path_to_image_file>

...or if you run NixOS:

systemd.tmpfiles.rules = let
  user = "yourUserName";
  iconPath = ./path/to/icon;
in [
  "f+ /var/lib/AccountsService/users/${user}  0600 root root -  [User]\\nIcon=/var/lib/AccountsService/icons/${user}\\n"
  "L+ /var/lib/AccountsService/icons/${user}  -    -    -    -  ${iconPath}"
];

This will set the image as the avatar for the user.

Extract frame from video

There is a script included with the theme:

cd backgrounds/
./extract_first_frame.sh <background_video>

This will extract the first frame from the video and save it as an image in ./backgrounds/. You can then use it as the animated-background-placeholder.

Fix segmentation fault on Nvidia GPU:

If ./test.sh seg faults, try running this instead:

QT_IM_MODULE=qtvirtualkeyboard QML2_IMPORT_PATH=./components/ LIBVA_DRIVER_NAME= QT_MULTIMEDIA_PREFERRED_PLUGINS= sddm-greeter-qt6 --test-mode --theme .

If it works, add LIBVA_DRIVER_NAME= and QT_MULTIMEDIA_PREFERRED_PLUGINS= to the GreeterEnvironment option in /etc/sddm.conf as well:

sudoedit /etc/sddm.conf

    # Append `LIBVA_DRIVER_NAME=` and `QT_MULTIMEDIA_PREFERRED_PLUGINS=` to the end of the line:
    GreeterEnvironment=QML2_IMPORT_PATH=/usr/share/sddm/themes/silent/components/,QT_IM_MODULE=qtvirtualkeyboard,LIBVA_DRIVER_NAME=,QT_MULTIMEDIA_PREFERRED_PLUGINS=

Fix theme not updating after changes or SDDM loading fallback theme with errors:

Try clearing SDDM's cache:

sudo rm -rf /var/lib/sddm/.cache

Clone this wiki locally