Change the appearence of the first login screen (Display Manager)

Hello everybody! I would like to change the aspect of the login screen on pc first boot (so after a shut down/reboot), as the login screen is perfect when pc is turned back on after only being put in sleep. The issue comes indeed when the pc is first booted, as the login screen is totally different. I've looked for answers both in this forum and in general (googling not only related issues on garuda, but on gnome and linux in general), but I didn't find any answer which works for me. From what I understood, the login screen at first boot is a more general login screen as it can be that more than one account are used on the machine, and it makes sense as it wants to suite more than one person and so it needs to be more "neutral", but I don't want to use more than one account anyway.

I'm a Linux first time user (installed garuda as my first distro 3 days ago), so excuse my lack of knowledge!

 ╰─λ inxi -Faz
System:
  Kernel: 5.18.1-zen1-1-zen arch: x86_64 bits: 64 compiler: gcc v: 12.1.0
    parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen
    root=UUID=835c06a3-7bfa-4fde-b09c-1ba4ae1c2e3e rw [email protected]
    quiet quiet splash rd.udev.log_priority=3 vt.global_cursor_default=0
    loglevel=3 ibt=off
  Desktop: GNOME v: 42.2 tk: GTK v: 3.24.34 wm: gnome-shell dm: GDM v: 42.0
    Distro: Garuda Linux base: Arch Linux
Machine:
  Type: Desktop System: Gigabyte product: Z370P D3 v: N/A
    serial: <superuser required>
  Mobo: Gigabyte model: Z370P D3-CF v: x.x serial: <superuser required>
    UEFI: American Megatrends v: F5 date: 07/05/2018
CPU:
  Info: model: Intel Core i5-9600K bits: 64 type: MCP arch: Coffee Lake
    family: 6 model-id: 0x9E (158) stepping: 0xC (12) microcode: 0xF0
  Topology: cpus: 1x cores: 6 smt: <unsupported> cache: L1: 384 KiB
    desc: d-6x32 KiB; i-6x32 KiB L2: 1.5 MiB desc: 6x256 KiB L3: 9 MiB
    desc: 1x9 MiB
  Speed (MHz): avg: 4354 high: 4400 min/max: 800/4600 scaling:
    driver: intel_pstate governor: powersave cores: 1: 4306 2: 4307 3: 4398
    4: 4326 5: 4391 6: 4400 bogomips: 44398
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
  Vulnerabilities:
  Type: itlb_multihit status: KVM: VMX disabled
  Type: l1tf status: Not affected
  Type: mds mitigation: Clear CPU buffers; SMT disabled
  Type: meltdown status: Not affected
  Type: spec_store_bypass
    mitigation: Speculative Store Bypass disabled via prctl
  Type: spectre_v1
    mitigation: usercopy/swapgs barriers and __user pointer sanitization
  Type: spectre_v2 mitigation: Retpolines, IBPB: conditional, IBRS_FW,
    STIBP: disabled, RSB filling
  Type: srbds mitigation: Microcode
  Type: tsx_async_abort mitigation: TSX disabled
Graphics:
  Device-1: NVIDIA GP106 [GeForce GTX 1060 6GB] vendor: Gigabyte
    driver: nvidia v: 515.43.04 alternate: nouveau,nvidia_drm non-free: 515.xx+
    status: current (as of 2022-05) arch: Pascal pcie: gen: 3 speed: 8 GT/s
    lanes: 16 bus-ID: 01:00.0 chip-ID: 10de:1c03 class-ID: 0300
  Device-2: Microdia Sonix USB 2.0 Camera type: USB driver: uvcvideo
    bus-ID: 1-3:2 chip-ID: 0c45:62c0 class-ID: 0e02
  Display: x11 server: X.Org v: 21.1.3 with: Xwayland v: 22.1.2
    compositor: gnome-shell driver: X: loaded: nvidia unloaded: modesetting
    alternate: fbdev,nouveau,nv,vesa gpu: nvidia display-ID: :1 screens: 1
  Screen-1: 0 s-res: 4480x1440 s-dpi: 96 s-size: 1185x381mm (46.65x15.00")
    s-diag: 1245mm (49.01")
  Monitor-1: DP-0 pos: primary,top-right res: 2560x1440 dpi: 109
    size: 597x336mm (23.5x13.23") diag: 685mm (26.97") modes: N/A
  Monitor-2: HDMI-0 pos: bottom-l res: 1920x1080 hz: 60 dpi: 93
    size: 527x296mm (20.75x11.65") diag: 604mm (23.8") modes: N/A
  OpenGL: renderer: NVIDIA GeForce GTX 1060 6GB/PCIe/SSE2
    v: 4.6.0 NVIDIA 515.43.04 direct render: Yes
Audio:
  Device-1: Intel 200 Series PCH HD Audio vendor: Gigabyte
    driver: snd_hda_intel v: kernel bus-ID: 00:1f.3 chip-ID: 8086:a2f0
    class-ID: 0403
  Device-2: NVIDIA GP106 High Definition Audio vendor: Gigabyte
    driver: snd_hda_intel v: kernel pcie: gen: 3 speed: 8 GT/s lanes: 16
    bus-ID: 01:00.1 chip-ID: 10de:10f1 class-ID: 0403
  Device-3: JMTek LLC. USB PnP Audio Device(EEPROM) type: USB
    driver: hid-generic,snd-usb-audio,usbhid bus-ID: 1-4:3 chip-ID: 0c76:161f
    class-ID: 0300
  Sound Server-1: ALSA v: k5.18.1-zen1-1-zen running: yes
  Sound Server-2: PulseAudio v: 16.0 running: no
  Sound Server-3: PipeWire v: 0.3.51 running: yes
Network:
  Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet
    vendor: Gigabyte driver: r8169 v: kernel pcie: gen: 1 speed: 2.5 GT/s
    lanes: 1 port: d000 bus-ID: 07:00.0 chip-ID: 10ec:8168 class-ID: 0200
  IF: enp7s0 state: up speed: 1000 Mbps duplex: full mac: <filter>
  Device-2: Realtek RTL8192EE PCIe Wireless Network Adapter
    driver: rtl8192ee v: kernel pcie: gen: 1 speed: 2.5 GT/s lanes: 1
    port: c000 bus-ID: 08:00.0 chip-ID: 10ec:818b class-ID: 0280
  IF: wlp8s0 state: down mac: <filter>
Drives:
  Local Storage: total: 1.36 TiB used: 33.96 GiB (2.4%)
  SMART Message: Required tool smartctl not installed. Check --recommends
  ID-1: /dev/sda maj-min: 8:0 vendor: Samsung model: SSD 860 EVO 500GB
    size: 465.76 GiB block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s
    type: SSD serial: <filter> rev: 2B6Q scheme: GPT
  ID-2: /dev/sdb maj-min: 8:16 vendor: Western Digital
    model: WD10EZEX-60WN4A0 size: 931.51 GiB block-size: physical: 4096 B
    logical: 512 B speed: 6.0 Gb/s type: HDD rpm: 7200 serial: <filter>
    rev: 1A01 scheme: GPT
Partition:
  ID-1: / raw-size: 90 GiB size: 90 GiB (100.00%) used: 33.93 GiB (37.7%)
    fs: btrfs dev: /dev/sda6 maj-min: 8:6
  ID-2: /boot/efi raw-size: 99 MiB size: 95 MiB (95.96%)
    used: 25.6 MiB (26.9%) fs: vfat dev: /dev/sda2 maj-min: 8:2
  ID-3: /home raw-size: 90 GiB size: 90 GiB (100.00%)
    used: 33.93 GiB (37.7%) fs: btrfs dev: /dev/sda6 maj-min: 8:6
  ID-4: /var/log raw-size: 90 GiB size: 90 GiB (100.00%)
    used: 33.93 GiB (37.7%) fs: btrfs dev: /dev/sda6 maj-min: 8:6
  ID-5: /var/tmp raw-size: 90 GiB size: 90 GiB (100.00%)
    used: 33.93 GiB (37.7%) fs: btrfs dev: /dev/sda6 maj-min: 8:6
Swap:
  Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default)
  ID-1: swap-1 type: zram size: 15.57 GiB used: 2.2 MiB (0.0%)
    priority: 100 dev: /dev/zram0
Sensors:
  System Temperatures: cpu: 27.8 C mobo: 16.8 C gpu: nvidia temp: 60 C
  Fan Speeds (RPM): N/A gpu: nvidia fan: 0%
Info:
  Processes: 262 Uptime: 53m wakeups: 0 Memory: 15.57 GiB
  used: 3.07 GiB (19.7%) Init: systemd v: 251 tool: systemctl Compilers:
  gcc: 12.1.0 Packages: pacman: 1394 lib: 445 Shell: fish v: 3.4.1
  default: Bash v: 5.1.16 running-in: gnome-terminal inxi: 3.3.16

Thank you in advance!

1 Like

In Linux, this is called a Display Manager.

Then you might want to use autologin.

The new Gnome 42 (which includes GDM, in a way), do not let the user change appearance configuration a lot. Even with hacks, they get overwritten with package upgrades. But you can search and try.
https://help.gnome.org/admin/gdm/stable/configuration.html.en

Welcome to Linux, Garuda and Gnome!!

7 Likes

Hi Petsam, thanks for the reply! So the correct term is display manager, it'll be good to know in the future!
By the way, I'm going the autologin way, and I'm not sure I'm doing everything alright to be honest. Basically I tried to edit

  /etc/gdm/custom.conf 

with this command

sudo gedit custom.conf

The conf file opened, I edited and saved it, and the save was successful as I re-opened it and it was indeed saved, but the terminal gave me this error:

failed to commit changes to dconf: Errore nell'eseguire lo spawn della riga di comando «dbus-launch --autolaunch=a29f1d83c87943998aece76bd648191c --binary-syntax --close-stderr»: Processo figlio uscito con codice 1

Sorry for the Italian fragments of the string, it roughly translates to "error running the command line spawn" ... ... ... "child process exited with code 1"
Don't really know what that means, but it seems to have saved the file anyway.
The actual issue comes when I try to set the session in

/var/lib/AccountsService/users/*username*

The issue is that I can't access the users folder, even with sudo privileges:
In /var/lib/AccountsService folder I tried with

cd users/

and

sudo cd users/

but none of them worked. Probably it's something stupid that I'm doing, as I said I don't have much knowledge of all of this, so it's most likely a command I'm missing or something.
Oh, and during the procedure I should follow to enable the autologin, it also states " You can set the session used for automatic login (replace gnome-xorg with desired session)" What is my desired session? Like, what are the options?

The new Gnome 42 (which includes GDM, in a way), do not let the user change appearance configuration a lot. Even with hacks, they get overwritten with package upgrades. But you can search and try.
https://help.gnome.org/admin/gdm/stable/configuration.html.en

That shouldn't be a problem for now, the default one with the blurred background works splendidly for me!

Welcome to Linux, Garuda and Gnome!!

Thanks! :smile:

The changes you wish to do on your system are a part of System Administration.
Guess who is your System Administrator!
Your System Administrator (you, if you haven't guessed) has the responsibility to not break (destroy) the Operating System (Linux/Garuda). He has the power to fix, or destroy the system.
Since you are a very new (wannabe) System Administrator, I would suggest you go slowly, as you have to educate yourself on the risks of the job and make sure you can recover your system, in case it breaks, after some system modification.
Read some Wikis, tutorials, watch some videos about the things you want to do, before you start the job. Of course, you may want to learn by mistake, which is cool and rewarding.

Using and administrating Linux is an easy thing, since so many non-techie people do it. Just take your time :wink:

1 Like

Coffee spewed.

Using may be easy..."so many non-techie people do it."
Administering it (correctly) demonstrates the need for this forum and your existence here, O' thou servant of the distro. :rofl: :rofl:

(Plus, you're a really decent fella. :slight_smile: )

5 Likes

Well, it all makes sense! Thanks again for the tips, I'm gonna read something in the next days, and maybe it'll all make more sense. Have a nice day! :smile:

1 Like

If you post the changes you made to the file here in the forum thread, we can take a look and see if we notice a mistake you might be able to fix.

Another option is setting up auto-login from the GUI. It looks fairly simple according to this page:

Log in automatically

You can change your settings so that you are automatically logged in to your account when you start up your computer:

  1. Open the Activities overview and start typing Users.
  2. Click Users to open the panel.
  3. Select the user account that you want to log in to automatically at startup.
  4. Press Unlock in the top right corner and type in your password when prompted.
  5. Switch the Automatic Login switch to on.

When you next start up your computer, you will be logged in automatically. If you have this option enabled, you will not need to type in your password to log in to your account which means that if someone else starts up your computer, they will be able to access your account and your personal data including your files and browser history.

2 Likes

Thanks for your reply BluishHumility! So, I tried to follow the procedure you linked me, and it did not work because it resetted itself after I closed the "Users" tab, even though I toggled the autologin option on. So I played around with the config file, and it worked in the end. To be clear what I did was:
Yesterday I changed this default file:

# GDM configuration storage

 [daemon]
 AutomaticLoginEnable=False
# Uncomment the line below to force the login screen to use Xorg
WaylandEnable=false
DefaultSession=gnome-xorg.desktop

[security]

[xdmcp]

[chooser]

[debug]
# Uncomment the line below to turn on debugging
#Enable=true

I edited the file commenting out the things I should've changed, and it looked something like this:

# GDM configuration storage

# Lines 4 and 5 were uncommented in the original file, but then I added lines 20 -> 23 that should work
# [daemon]
# AutomaticLoginEnable=False
# Uncomment the line below to force the login screen to use Xorg
# Enable automatic login for user
WaylandEnable=false
DefaultSession=gnome-xorg.desktop

[security]

[xdmcp]

[chooser]

[debug]
# Uncomment the line below to turn on debugging
#Enable=true
[daemon]
AutomaticLogin=gio
AutomaticLoginEnable=True

This file didn't work, and for what I understand there are two possible causes:

  1. commenting out the daemon part was not enough and it still had some sort of priority over the daemon part at the end of the file
  2. the fact that I added the daemon part at the end of the file, which did not work just because it wasn't at the start of the file

I'd say that 2) is most likely the culript, but I'm not sure. Anyway, I tried tinkering with the file, and at the end I managed to make it work, and the current file looks like this:

# GDM configuration storage

# Enable automatic login for user
[daemon]
AutomaticLogin=gio
AutomaticLoginEnable=True
# Uncomment the line below to force the login screen to use Xorg
WaylandEnable=false
DefaultSession=gnome-xorg.desktop

[security]

[xdmcp]

[chooser]

[debug]
# Uncomment the line below to turn on debugging
#Enable=true

# Default lines of code:
# [daemon]
# AutomaticLoginEnable=False

But now it seems like I have another problem: the autologin actually works, but it logs me in without even asking for a password. Which in hindsight it makes sense, but what I really wanted was something like the login screen that popped out after waking the pc from sleep. Is it possible to achieve something like that?

Yes, you had the autologin parameters under the [debug] section instead of the [daemon] section--the different sections are not arbitrary.

I see now I had misunderstood the goal (you don't want autologin). There is some difference between the lock screen and login screen you wish to suss out:

Do you mean the resolution? Or what specifically about the screen are you hoping to change?

The lock screen is able to pull monitor settings from ~/.config/monitors.xml, which the login screen cannot use (since the user is not logged in yet). If you want GDM to use these settings, you need to set up a configuration file in GDM's special directory (GDM doesn't care about xorg.conf). You can copy monitors.xml over:

sudo cp ~/.config/monitors.xml /var/lib/gdm/.config/

Then make GDM the owner of the config file:

sudo chown gdm:gdm /var/lib/gdm/.config/monitors.xml

Log out or take a reboot, and see how it looks. :slightly_smiling_face:

1 Like

Thanks again for your help! Unfortunately these commands are not doing what I actually want to do, but it's my fault, I don't think I made my goal clear in the first post. I took some photos (sorry for the photos, couldn't take a screenshot in the login/lock screen) to better show what I want to accomplish:
This is the login screen on the first boot of the machine (white line censors my name):

This is the lock screen after putting the pc to sleep --> turning it back on


Is there a way to make the first boot login screen the same as this one? I'm pretty sure that in the KDE version it was indeed possible, but Gnome is different and as I read from Petsam and other posts on the internet it may be way more difficult or straight up impossible to change it, so I don't know...

If you mean you would like to add a background and change the icons, that is possible although the documentation gets a little dense. Here you go: GDM - ArchWiki

Alternatively, you can install the gdm-settings package from the AUR--it has a GUI interface and allows easy configuration for your login screen so you can get it set up just how you like it.

paru gdm-settings

It looks like this:

I'm not sure what icon set you will need, but you can try a few different ones to try to find the one that matches your lock screen. Then toss in your background file, and you should be good to go!

5 Likes

Wow, it works almost perfectly! That's a really neat package, thanks for sharing! The only problems I'm facing now is that the "Log In" button is in the same blueish color as before, which isn't really great given the background I choose, and also the fact that the background size is stretched to fit my two monitor setup, so it is way bigger than it should and therefore it loses quality. I'll try to fix these problems, I saw in the link you posted on the Arch Wiki that there should be some css files, maybe I'll look into them the next days.
Thank you for your help!

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.