Please note that this extension is experimental and is being continously monitored on Arch Linux with gnome-shell v46. When you run the Makefile, it will reset all the gsettings/dconf for the gdm
user. If you have other extensions enabled for gdm login screen, then you have to add the UUID of those extensions. See line numbers 106 and 113.
Warning: Though this extension is being tested since Dec 2023, In very very rare case there could be a chance of being unable to reach even to TTY. In such a case, a bootable USB is required to remove this extension. So please make sure you have a bootable USB and some experience on how to mount drives and remove files with command line. This gdm-extension installs at
/usr/local/share/gnome-shell/extensions/gdm-extension@pratap.fastmail.fm
zip
dbus-x11
systemd-container
git clone https://github.com/PRATAP-KUMAR/gdm-extension/
cd gdm-extension
sudo make install
Customize background colors, image, blur for each monitor upto 4 monitors for GDM Login Screen from the login screen itself.
Customize Shell theme, Icon theme, Fonts, Logo, Banner message for GDM Login Screen from the login screen itself.
- On the left side topbar, there is a preferences Icon shown. Click on it and it will popup the menu.
- Based on number of monitors connected, it will popup a menu for all monitors like
Monitor - 1
,Monitor - 2
upto 4 monitors. - For Each monitor you can choose different colors, backgroud image, blur, gradient horizontal and gradient vertical.
- For Background, if you are satisfied with your shell theme, you dont need to change any thing. If you prefer to choose
colors, you have to enter a valid color for example,
#456789
,blue
etc. You must be careful while entering these. - Important is that, you have to hit Enter when you write something in the entry box.
- Icon themes are collected from
["/usr/local/share/icons/", "/usr/share/icons"]
directories. - Shell themes are collected from
["/usr/local/share/themes/", "/usr/share/themes"]
directories. - Fonts are collected from
["/usr/local/share/fonts", "/usr/share/fonts]
directories. - Fonts are filtered by
FontFamilyName
based on font file naming convention andStyleName
is ignored by this extension. - You can choose distribution logo from
["/usr/local/share/pixmaps", "/usr/share/pixmaps]
- You can tweak some system settings from the System Settings menu like tap-to-click, show date, seconds, weekday, disable user list, disable restart buttons, show banner message.
- You can type banner message on the entry box provided. Make sure you hit Enter when you write something in the entry box.
- Optionally you can overrride styling with extensions css file. for example
Topbar/Panel color is black now
#panel { background-color: #000000; }
Once you enable the extension it is available for regular users too on the Login Screen. Once you set colors, background, logo, banner message etc, then to prevent tweaking from non sudo users, you can hide the extension settings icon from the topbar by clicking the Hide button at the bottom of popup menu.
Please note that gdm
user is named Debian-gdm
for debian OS. If you are using Debian OS, please replace gdm
user with Debian-gdm
where ever applicable in below commands.
If running from tty
sudo machinectl shell gdm@ /bin/bash # check note at line number 76. gdm || Debian-gdm
gsettings set org.gnome.shell.extensions.gdm-extension hide-gdm-settings-icon false
exit
If running from terminal
xhost si:localuser:gdm # # check note at line number 76. gdm || Debian-gdm
sudo -u gdm dbus-launch gsettings set org.gnome.shell.extensions.gdm-extension hide-gdm-settings-icon false # check not at line number 76. gdm || Debian-gdm
When you choose to Disable Restart Buttons, the buttons are hidden as expected, but when you toggle the switch, the buttons
are not shown. To sort out this, go to any tty by CTRL+AL+F4 etc and then run
sudo systemctl restart gdm.service
.
While customizing colors, gradient, wallpaper, or choosing shell themes or icon themes, if you encounter problems.
if you want to operate from tty you need systemd-container
package installed. Some distros ship it by default.
If you dont have this package, install it first. Then run below commands.
If running from tty
sudo machinectl shell gdm@ /bin/bash # check note at line number 76. gdm || Debian-gdm
dconf reset -f / # This will reset all the settings for `gdm` user only, not the regular user.
gsettings set org.gnome.shell enabled-extensions "['gdm-extension@pratap.fastmail.fm']" # enabling the extension
If running from terminal
xhost si:localuser:gdm # check note at line number 76. gdm || Debian-gdm
sudo -u gdm dbus-launch dconf reset -f / # check note at line number 76. gdm || Debian-gdm
sudo -u gdm dbus-launch gsettings set org.gnome.shell enabled-extensions "['gdm-extension@pratap.fastmail.fm']" # check note at line number 76. gdm || Debian-gdm
# Also add any other extensions UUID those are enabled for gdm login screen.
Since this is a special extension which runs only on GDM, disabling is not possible as normal extensions.
The best way is to remove the extension. from the downloaded repository, run
sudo make uninstall
and to install again, run sudo make install