GDM Configuration/Customization

Hello everyone,

I understand this might not be a top-priority topic or could even be considered trivial from a technical standpoint, but it’s caused me a lot of headaches, so I’d like to share it in case anyone else has run into a similar situation.

I’ve been trying to customize my display manager (GDM) on Kali Linux 2024. This goes beyond just changing the wallpaper. In short, I’ve tried to do the following:

I created a configuration file in /etc/dconf/db/gdm.d/00-login-screen to manage the login-screen wallpaper.

I created another configuration file in /etc/dconf/db/gdm.d/10-login-screen-power to prevent the system from suspending if no user logs in for 15 minutes.

(I did manage to configure my GNOME desktop to avoid suspending once I’m logged in, but I haven’t found a way to do this before login. Even this dconf approach doesn’t seem to work for GDM.)

I tried placing a file /usr/share/gnome-shell/theme/gdm3.css with some custom settings to apply a new wallpaper and scale it or stretch it to fit the monitor size, but this also didn’t work.

I installed GDM-Settings (through Flatpak, since Python/pip didn’t work). Although the app launches fine and remembers my changes (which is amusing), it doesn’t actually apply any of them.

I considered uninstalling kali-themes and kali-desktop-base, but doing so removes gdm3 and gnome-shell altogether, rendering my system unusable.

I tried LightDM as a Display Manager, but I noticed that it doesn’t include a clear option to prevent suspending on inactivity. It also doesn’t let me change the resolution of the greeter (so on a 4K monitor, the login form appears tiny). On top of that, it doesn’t support session locking in GNOME the same way that GDM does.

I haven’t tested disabling user themes through the extensions manager, nor have I tried recompiling .gresource packages, though I’m not sure how that would help since I’ve already attempted rather in-depth customizations. Maybe I’m wrong.

If you know any options or approaches that might work, I’d be grateful. I look forward to hearing your suggestions.

Regards,
Manusori

You can change the dbus scaling factor used to display so it appears a decent size on a hi dpi monitor, here is a (hack) gsettings one liner that will fix it, change the scaling factor number to suit your needs, though 2 is usually sufficient for most people.

sudo su - gdm -s /bin/sh -c ‘export dbus-launch; gsettings set org.gnome.desktop.interface scaling-factor 2; kill $DBUS_SESSION_BUS_PID’

reboot to see changes

Hello,
Indeed, I have been trying your suggestion, although I had to make a change, because in this case the user is “Debian-gdm”, something like this:

$>
sudo su - Debian-gdm -s /bin/sh -c “eval $(dbus-launch); gsettings set org.gnome.desktop.interface scaling-factor 3; kill $DBUS_SESSION_BUS_PID”.

And sure enough, it worked. So, out of excitement, I went to try with this method the wallpaper change (At least) but not with the same success. I tried this:

$>
sudo su - Debian-gdm -s /bin/sh -c “eval $(dbus-launch); \”.
gsettings set org.gnome.desktop.background picture-uri ‘file:////usr/share/backgrounds/Abstract4k.jpg’;
gsettings set org.gnome.desktop.background picture-options ‘zoom’;
kill $DBUS_SESSION_BUS_PID”

And then I checked with this:

$>
sudo su - Debian-gdm -s /bin/sh -c “eval $(dbus-launch); .
gsettings get org.gnome.desktop.background picture-uri;
gsettings get org.gnome.desktop.background picture-options”

In this way I confirmed that it had registered correctly. Despite registering in gsettings properly, the background did not change. So I didn’t try changing the sleep mode because I think it’s a waste of time.

It’s a bit frustrating, but I guess I’ll find a way someday.

Thanks a lot.

This might be a simple scaling fix, Fedora use gnome as their default desktop;

If you want to dive deeper into theming etc he Arch wiki is always a good place to start for info;
https://wiki.archlinux.org/title/GDM