LightDM not starting at boot

Hello all,

I am using Fedora 31, I originally used KDE and then switched to GNOME.

I am trying to change my display manager and use LightDM but it will not start at boot - when I manually start it from tty and login using my fingerprint it loads my GNOME desktop environment but does not automatically authenticate my keyring or sudo some startup applications without entering my password again.

I am currently using Fedora 31 with GNOME and gdm (which I want to switch to LightDM). I also have the NVIDIA drivers installed if that helps?

I am not really sure where to start looking to troubleshoot this, firstly I would like LightDM to start at boot and then I would like it to automatically log me into GNOME and authenticate keyring and sudo required apps when launching them at the start.

Steps I took:

Installed LightDM
systemctl disable gdm.service
systemctl enable lightdm.service

Please could someone with more knowledge about linux tell me where I can start looking to troubleshoot this please?

Please, post the output of

$ systemctl status lightdm

PS: I’ve heard that having a Nvidia drivers in Fedora mean asking for troubles… But that is only a rumors.

Search the Web: “Linus Torvalds about Nvidia”.

Thanks for the reply, got the output for you (tried to switch back to gdm but now that does not startx automatically anymore either) - timeshift time :slight_smile:

● lightdm.service - Light Display Manager
Loaded: loaded (/usr/lib/systemd/system/lightdm.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Sun 2020-01-12 10:29:27 GMT; 1min 16s ago
Docs: man:lightdm(1)
Process: 2585 ExecStart=/usr/sbin/lightdm (code=exited, status=1/FAILURE)
Main PID: 2585 (code=exited, status=1/FAILURE)

Jan 12 10:29:27 swat-pc systemd[1]: lightdm.service: Scheduled restart job, restart counter is at 5.
Jan 12 10:29:27 swat-pc systemd[1]: Stopped Light Display Manager.
Jan 12 10:29:27 swat-pc systemd[1]: lightdm.service: Start request repeated too quickly.
Jan 12 10:29:27 swat-pc systemd[1]: lightdm.service: Failed with result ‘exit-code’.
Jan 12 10:29:27 swat-pc systemd[1]: Failed to start Light Display Manager.
Jan 12 10:29:27 swat-pc systemd[1]: lightdm.service: Triggering OnFailure= dependencies.

Hi,

Whats the out of:

sudo lightdm –-test-mode --debug

Thanks Tom.

forum.manjaro.org

"Solved by mvision in post #3

Thanks for the tip! Lightdm was searching for another greeter than the one installed. On /etc/lightdm/lightdm.conf I had to add explicitly the greeter by adding this line on the [Seat:*] section:. Now the service starts correctly."

greeter-session=lightdm-slick-greeter

Hi Both,

@tjdoyle - when I run that command it launches lightdm and presents me with a login screen, I do not get any textual output.

@vits95 - i have already set my greeter-session to use lightdm-webkit2-greeter which is installed and working, as I can run the login screen when I use ‘sudo lightdm’.

When at the login screen if I put my password and sign in nothing happens but if I use my fingerprint to sign in then my gnome desktop environment gets loaded but asks me to sudo for PC/SC daemon.

If I use gdm I get auto-logged and do not get asked to elevate for the daemon.

I know a different display manager is not necessary but it would be nice to be able to customize my login screen and get it working.

Are there any other logs I can provide please?

journalctl _SYSTEMD_UNIT=lightdm.service
journalctl -b -0 -p 3
Maybe
journalctl -b -0 -p 4

Please, show us your lightdm.conf .

Reddit: Can LightDM be used with GNOME?

"

ebassi

GNOME Developer

6 points· 3 years ago

You can, but the feature set will be degraded.

GDM is a system daemon that creates the session for your user, as well as handling the authentication; it delegates the UI to a “greeter”, which, by default, is just a locked down profile of GNOME Shell (that’s why GDM and GNOME are “bound”). When the Shell locks, it transfers control to GDM, which handles the session unlocking. This is done through the GDM remote API. Since LightDM does not provide that API, some features will not be available because the Shell won’t be able to know how to talk to LightDM."

@vit95 - Ahh I see, thanks for the reply, maybe I should try a different window manager or desktop environment, any recommendations? :slight_smile:

Here is my lightdm.conf:

#
# General configuration
#
# start-default-seat = True to always start one seat if none are defined in the configuration
# greeter-user = User to run greeter as
# minimum-display-number = Minimum display number to use for X servers
# minimum-vt = First VT to run displays on
# lock-memory = True to prevent memory from being paged to disk
# user-authority-in-system-dir = True if session authority should be in the system location
# guest-account-script = Script to be run to setup guest account
# logind-check-graphical = True to on start seats that are marked as graphical by logind
# log-directory = Directory to log information to
# run-directory = Directory to put running state in
# cache-directory = Directory to cache to
# sessions-directory = Directory to find sessions
# remote-sessions-directory = Directory to find remote sessions
# greeters-directory = Directory to find greeters
# backup-logs = True to move add a .old suffix to old log files when opening new ones
# dbus-service = True if LightDM provides a D-Bus service to control it
#
[LightDM]
#start-default-seat=true
#greeter-user=lightdm
#minimum-display-number=0
#minimum-vt=7
#lock-memory=true
#user-authority-in-system-dir=false
#guest-account-script=guest-account
#logind-check-graphical=false
#log-directory=/var/log/lightdm
#run-directory=/var/run/lightdm
#cache-directory=/var/cache/lightdm
#sessions-directory=/usr/share/lightdm/sessions:/usr/share/xsessions:/usr/share/wayland-sessions
#remote-sessions-directory=/usr/share/lightdm/remote-sessions
#greeters-directory=$XDG_DATA_DIRS/lightdm/greeters:$XDG_DATA_DIRS/xgreeters
#backup-logs=true
#dbus-service=true

#
# Seat configuration
#
# Seat configuration is matched against the seat name glob in the section, for example:
# [Seat:*] matches all seats and is applied first.
# [Seat:seat0] matches the seat named "seat0".
# [Seat:seat-thin-client*] matches all seats that have names that start with "seat-thin-client".
#
# type = Seat type (local, xremote)
# pam-service = PAM service to use for login
# pam-autologin-service = PAM service to use for autologin
# pam-greeter-service = PAM service to use for greeters
# xserver-command = X server command to run (can also contain arguments e.g. X -special-option)
# xmir-command = Xmir server command to run (can also contain arguments e.g. Xmir -special-option)
# xserver-config = Config file to pass to X server
# xserver-layout = Layout to pass to X server
# xserver-allow-tcp = True if TCP/IP connections are allowed to this X server
# xserver-share = True if the X server is shared for both greeter and session
# xserver-hostname = Hostname of X server (only for type=xremote)
# xserver-display-number = Display number of X server (only for type=xremote)
# xdmcp-manager = XDMCP manager to connect to (implies xserver-allow-tcp=true)
# xdmcp-port = XDMCP UDP/IP port to communicate on
# xdmcp-key = Authentication key to use for XDM-AUTHENTICATION-1 (stored in keys.conf)
# greeter-session = Session to load for greeter
# greeter-hide-users = True to hide the user list
# greeter-allow-guest = True if the greeter should show a guest login option
# greeter-show-manual-login = True if the greeter should offer a manual login option
# greeter-show-remote-login = True if the greeter should offer a remote login option
# user-session = Session to load for users
# allow-user-switching = True if allowed to switch users
# allow-guest = True if guest login is allowed
# guest-session = Session to load for guests (overrides user-session)
# session-wrapper = Wrapper script to run session with
# greeter-wrapper = Wrapper script to run greeter with
# guest-wrapper = Wrapper script to run guest sessions with
# display-setup-script = Script to run when starting a greeter session (runs as root)
# display-stopped-script = Script to run after stopping the display server (runs as root)
# greeter-setup-script = Script to run when starting a greeter (runs as root)
# session-setup-script = Script to run when starting a user session (runs as root)
# session-cleanup-script = Script to run when quitting a user session (runs as root)
# autologin-guest = True to log in as guest by default
# autologin-user = User to log in with by default (overrides autologin-guest)
# autologin-user-timeout = Number of seconds to wait before loading default user
# autologin-session = Session to load for automatic login (overrides user-session)
# autologin-in-background = True if autologin session should not be immediately activated
# exit-on-failure = True if the daemon should exit if this seat fails
#
[Seat:*]
#type=local
#pam-service=lightdm
#pam-autologin-service=lightdm-autologin
#pam-greeter-service=lightdm-greeter
#xserver-command=X
#xmir-command=Xmir
#xserver-config=
#xserver-layout=
#xserver-allow-tcp=false
#xserver-share=true
#xserver-hostname=
#xserver-display-number=
#xdmcp-manager=
#xdmcp-port=177
#xdmcp-key=
greeter-session=lightdm-webkit2-greeter
#greeter-hide-users=false
#greeter-allow-guest=true
#greeter-show-manual-login=false
#greeter-show-remote-login=true
#user-session=default
#allow-user-switching=true
#allow-guest=true
#guest-session=
#session-wrapper=lightdm-session
#greeter-wrapper=
#guest-wrapper=
#display-setup-script=
#display-stopped-script=
#greeter-setup-script=
#session-setup-script=
#session-cleanup-script=
#autologin-guest=false
#autologin-user=
#autologin-user-timeout=0
#autologin-in-background=false
#autologin-session=
#exit-on-failure=false

#
# XDMCP Server configuration
#
# enabled = True if XDMCP connections should be allowed
# port = UDP/IP port to listen for connections on
# listen-address = Host/address to listen for XDMCP connections (use all addresses if not present)
# key = Authentication key to use for XDM-AUTHENTICATION-1 or blank to not use authentication (stored in keys.conf)
# hostname = Hostname to report to XDMCP clients (defaults to system hostname if unset)
#
# The authentication key is a 56 bit DES key specified in hex as 0xnnnnnnnnnnnnnn.  Alternatively
# it can be a word and the first 7 characters are used as the key.
#
[XDMCPServer]
#enabled=false
#port=177
#listen-address=
#key=
#hostname=

#
# VNC Server configuration
#
# enabled = True if VNC connections should be allowed
# command = Command to run Xvnc server with
# port = TCP/IP port to listen for connections on
# listen-address = Host/address to listen for VNC connections (use all addresses if not present)
# width = Width of display to use
# height = Height of display to use
# depth = Color depth of display to use
#
[VNCServer]
#enabled=false
#command=Xvnc
#port=5900
#listen-address=
#width=1024
#height=768
#depth=8

Gnome (gdm), KDE (sddm). Other are saner, but less bloated. It can be a penalty, from time to time.

I’ll install lightdm now, and try to reproduce the issue.


Installation Process
dnf install lightdm
systemctl disable gdm
systemctl enable lightdm
systemctl reboot
Pictures

Term: Built-in screen of laptop is a primary screen here.

Lightdm works for me by default, but default session is Deepin (which is not installed there):

And i can’t switch to Gnome session from secondary screen:

But on primary screen the needed button is present:

I move a mouse cursor to my secondary screen, and choose Gnome:

Somehow the session choosing button even showed up on the secondary screen:

The session:

lightdm.conf (default one)
[LightDM]
#start-default-seat=true
#greeter-user=lightdm
#minimum-display-number=0
#minimum-vt=7
#lock-memory=true
#user-authority-in-system-dir=false
#guest-account-script=guest-account
#logind-check-graphical=false
#log-directory=/var/log/lightdm
#run-directory=/var/run/lightdm
#cache-directory=/var/cache/lightdm
#sessions-directory=/usr/share/lightdm/sessions:/usr/share/xsessions:/usr/share/wayland-sessions
#remote-sessions-directory=/usr/share/lightdm/remote-sessions
#greeters-directory=$XDG_DATA_DIRS/lightdm/greeters:$XDG_DATA_DIRS/xgreeters
#backup-logs=true
#dbus-service=true

[Seat:*]
#type=local
#pam-service=lightdm
#pam-autologin-service=lightdm-autologin
#pam-greeter-service=lightdm-greeter
#xserver-command=X
#xmir-command=Xmir
#xserver-config=
#xserver-layout=
#xserver-allow-tcp=false
#xserver-share=true
#xserver-hostname=
#xserver-display-number=
#xdmcp-manager=
#xdmcp-port=177
#xdmcp-key=
#greeter-session=example-gtk-gnome
#greeter-hide-users=false
#greeter-allow-guest=true
#greeter-show-manual-login=false
#greeter-show-remote-login=true
#user-session=default
#allow-user-switching=true
#allow-guest=true
#guest-session=
#session-wrapper=lightdm-session
#greeter-wrapper=
#guest-wrapper=
#display-setup-script=
#display-stopped-script=
#greeter-setup-script=
#session-setup-script=
#session-cleanup-script=
#autologin-guest=false
#autologin-user=
#autologin-user-timeout=0
#autologin-in-background=false
#autologin-session=
#exit-on-failure=false

[XDMCPServer]
#enabled=false
#port=177
#listen-address=
#key=
#hostname=

[VNCServer]
#enabled=false
#command=Xvnc
#port=5900
#listen-address=
#width=1024
#height=768
#depth=8

Summary

I can't reproduce any issues with my "workflow".
PS: If i simply choose the Gnome from lightdm, it'll not be saved as default.
PSPS: I've graphics after logout. Anyway, time to return my gdm back!


:flying_saucer: If your really love to play with the configs, read this: linux.die.net: man 1 xterm.

Your may be interested in a Hide Details feature (Gear icon).

I'll hide it all, in a meantime.

Edit: I’ve had deleted my formatting proposal, as there is a better version in the original post now.

1 Like

Ahh sorry, I did not realise I could hide it.

I have just tried to install KDE and set my desktop environment to it, also tried setting my display manager to sddm but got exactly the same issue as I do with lightDM.

Also when I press log out on my user account in gnome using the GUI I get a boot screen that I have to alt F2 - I do not get a graphical interface with a login box?

@swatto, could you please use the Markdown tools availables in the site as @vits95 point to you, it is very large and incomprehensible:

.- 9

also I give you a warm Welcome to the community! Please do take a few minutes to go over the introductory posts in #start-here when you have the time. They contain lots of useful information.

you can also play with the site bot and learn a nice tips…, Learn how to use Discourse well with @discobot and earn the Certified and Licensed badges!

Regards., and thx for your time

1 Like

@hhlp Apologies, I will take the time to use the markdown tools, thanks for the warm welcome :slight_smile:

@vits95 My login greeter GUI does not work anymore, under gdm/sddm or lightdm. I have to set autologin to true so that it boots to my desktop environment, If I try to logout of the desktop environment it just goes to a blank screen where I have to alt+f2.

If I turn autologin off and boot the machine it does not show the greeter, I have to go to tty and startx.

Where can I look to see where these issues lie? as I suspect it is all related. I am currently using GNOME and gdm.

Sorry to come in late, but there’s one more thing you need to do to make sure that gdm doesn’t start:

systemctl mask gdm.service

That’s because disabling it only stops it from starting automatically; it can still be started by some other program. Masking it makes that impossible until you unmask it.

Also, your nVidia drivers aren’t a factor here; either they work or they don’t. I know, because I ran Xfce with lightdm and the nVidia drivers from rpmfusion for almost a decade with no driver issues.

1 Like

One thing you might try to find out why you’re not getting a greeter is to run this command from a terminal:

ps aux | grep dm | grep -v grep

You don’t need sudo for this. (There are several ways to get the same output from ps, but that’s the one I like.) You should either see gdm or lightdm in the output, but not both. I don’t know what would happen if both were active, but it’s certainly not right.

Hi @sideburns, here is the output of that command:

Output

ps aux | grep dm | grep -v grep
root 202 0.0 0.0 0 0 ? I< 19:55 0:00 [dm_bufio_cache]
root 952 0.0 0.0 0 0 ? I< 19:56 0:00 [kdmflush]
root 959 0.0 0.0 0 0 ? S 19:56 0:00 [dmcrypt_write/2]
root 1031 0.0 0.0 0 0 ? I< 19:56 0:00 [kdmflush]
root 1038 0.0 0.0 0 0 ? I< 19:56 0:00 [kdmflush]
root 1062 0.0 0.0 0 0 ? S 19:56 0:00 [jbd2/dm-1-8]
root 1272 0.0 0.0 0 0 ? I< 19:56 0:00 [kdmflush]
root 1373 0.0 0.0 0 0 ? S 19:56 0:00 [jbd2/dm-3-8]
root 1783 0.0 0.0 446616 8648 ? Ssl 19:56 0:00 /usr/sbin/gdm
root 2534 0.0 0.0 378988 11428 ? Sl 19:56 0:00 gdm-session-worker [pam/gdm-autologin]
swatto 2556 0.0 0.0 371380 6676 tty2 Ssl+ 19:56 0:00 /usr/libexec/gdm-x-session --run-script /usr/bin/gnome-session
root 2558 17.7 0.1 206760 64984 tty2 Sl+ 19:56 12:33 /usr/libexec/Xorg vt2 -displayfd 3 -auth /run/user/1000/gdm/Xauthority -background none -noreset -keeptty -verbose 3

OK, gdm is running but not lightdm or kdm. However, kdmflush is listed three different times. Do you have kdm installed?

Try copy my lightdm config i’d posted above – it’s the default one (as for time of writing).

Before editing any config, do always make a backup of it.

Make sure that only one from the all DMs your have is active at a time. Try to delete all DMs, but one. Try to reinstall this last one (dnf reinstall gdm).

I’ve just installed lightdm, yesterday, and it is (with some above mentioned quirks, not issues) works. Then i’m switched to gdm back. Logout/login with greeter GUI works too. I did not touched any of the default configs, though.

I think this is a configuration issue. I’ve one DE installed yet, though.

Hi everyone, thanks for your help and replies but think I’m going to just reinstall the OS again this evening after work.

@sideburns - gdm auto logs in but does not show gui if I turn off auto login.

I haven’t installed any other display managers as far as I’m aware except for LightDM - although the KDE environment did used to be installed on the machine prior to me going with GNOME.