Ubuntu, like other Linux distributions uses the GNOME Display Manager (GDM) as its, well, display manager, though most of us tend to think of or refer to it as the login screen.
To customise the Ubuntu login screen, such as setting a different theme or icon set, changing the login screen background image or colour, or getting night light to apply when viewing it, you can use a 3rd-party tool called GDM Settings.
The app is written in Python and uses libadwaita for its UI, so it looks great on the modern Ubuntu desktop and adapts gracefully when resizing the window or running on width-constrained displays.
GDM Settings lets you:
- Set login screen background image/colour
- Change login screen theme, icons, and cursor
- Change font, font sizes, and scaling factor
- Show battery percentage in login screen
- Customise top bar text and background colours
- Set mouse/touchpad behaviours
- Enable/disable on-screen options (e.g., user list)
- Power settings (e.g., dim screen, screen timeout)
- Enable Night Light support
Plus a fair bit more.
GDM Settings is not an official GNOME tool. Use it cautiously, at your own risk. I get the impression a few of the tweaks/options available in the app aren’t adjusting values intended to be user-configurable, i.e., they alter hardcoded settings, ad-hoc.
When looking in to the app I also came across a few reports of people who’d used this tool to do something that seems safe, like change the colour of the login screen, only to find that GDM fails to load after, throwing the maddening “Oh no! Something has gone wrong” error screen.
Just keep that in mind.
Getting GDM Settings
You can also install GDM Settings from Flathub but you should be aware that the sandboxed nature of Flatpak means a few features of the tool are not available or may not work.
An older version of GDM Settings is in the Ubuntu 23.10 repos. You can install it using App Center (remember to filter for Debian packages) or apt (using
sudo apt install gdm-settings). Alas, the repo version doesn’t explicitly support GNOME 45, which Ubuntu 23.10 uses, so some settings may not apply.