Lightdm stopped doing login -- boots into virtual keyboard

Had to do a reboot due to some sound issues today. After reboot system does not do normal login. It starts a screen keyboard. I can login ok but lightdm is missing.

I had an app that configured lightdm greeter in applications menu. That is gone. I did a reinstall but no changes. mate desktop using lightdm for 10 years probably.
There is a message below about bus name for display manager.

(base) tom@mydesktop: ~ $ screenfetch
             .;ldkO0000Okdl;.                tom@mydesktop
         .;d00xl:^''''''^:ok00d;.            OS: openSUSE 20260525
       .d00l'                'o00d.          Kernel: x86_64 Linux 7.0.9-2-default
     .d0K^'  Okxoc;:,.          ^O0d.        Uptime: 12m
    .OVVAK0kOKKKKKKKKKKOxo:,      lKO.       Packages: 7658
   ,0VVAKKKKKKKKKKKKK0P^,,,^dx:    ;00,      Shell: bash 5.3.9
  .OVVAKKKKKKKKKKKKKk'.oOPPb.'0k.   cKO.     Resolution: 1920x1080
  :KVAKKKKKKKKKKKKKK: kKx..dd lKd   'OK:     DE: MATE 1.28.0
  lKlKKKKKKKKKOx0KKKd ^0KKKO' kKKc   lKl     WM: Metacity (Marco)
  lKlKKKKKKKKKK;.;oOKx,..^..;kKKK0.  lKl     WM Theme: Numix
  :KAlKKKKKKKKK0o;...^cdxxOK0O/^^'  .0K:     GTK Theme: Numix [GTK2/3]
   kKAVKKKKKKKKKKKK0x;,,......,;od  lKP      Icon Theme: menta
   '0KAVKKKKKKKKKKKKKKKKKK00KKOo^  c00'      Font: Sans 10
    'kKAVOxddxkOO00000Okxoc;''   .dKV'       Disk: 1.6T / 6.8T (24%)
      l0Ko.                    .c00l'        CPU: Intel Core i7-5820K @ 12x 3.6GHz [54.0°C]
       'l0Kk:.              .;xK0l'          GPU: NVIDIA GeForce GTX 1050 Ti
          'lkK0xc;:,,,,:;odO0kl'             RAM: 4006MiB / 32001MiB
              '^:ldxkkkkxdl:^'              
(base) tom@mydesktop: ~ $ 

(base) tom@mydesktop: ~ $ szs lightdm
Refreshing service 'NVIDIA'.
Refreshing service 'openSUSE'.
Loading repository data...
Reading installed packages...

S  | Name                                    | Summary                                                       | Type
---+-----------------------------------------+---------------------------------------------------------------+--------
i  | liblightdm-gobject-1-0                  | LightDM GObject-based Client Library                          | package
   | liblightdm-qt5-3-0                      | LightDM Qt5-based Client Library                              | package
   | liblightdm-qt6-3-0                      | LightDM Qt6-based Client Library                              | package
i  | lightdm                                 | Lightweight, Cross-desktop Display Manager                    | package
i  | lightdm-bash-completion                 | Bash completion for lightdm                                   | package
   | lightdm-gobject-devel                   | Development Files for liblightdm-gobject-1-0                  | package
i  | lightdm-gtk-greeter                     | Simple display manager (GTK+ greeter)                         | package
i  | lightdm-gtk-greeter-branding-openSUSE   | openSUSE branding of lightdm-gtk-greeter                      | package
   | lightdm-gtk-greeter-branding-upstream   | Upstream branding of lightdm-gtk-greeter                      | package
   | lightdm-gtk-greeter-lang                | Translations for package lightdm-gtk-greeter                  | package
   | lightdm-gtk-greeter-settings            | Settings editor for the LightDM GTK+ Greeter                  | package
   | lightdm-gtk-greeter-settings-lang       | Translations for package lightdm-gtk-greeter-settings         | package
   | lightdm-kde-greeter                     | LightDM KDE Greeter                                           | package
   | lightdm-kde-greeter-branding-upstream   | Upstream branding of lightdm-kde-greeter                      | package
   | lightdm-kde-greeter-lang                | Translations for package lightdm-kde-greeter                  | package
   | lightdm-lang                            | Translations for package lightdm                              | package
   | lightdm-qt5-devel                       | Development Files for liblightdm-qt5-3-0                      | package
   | lightdm-qt6-devel                       | Development Files for liblightdm-qt6-3-0                      | package
i  | lightdm-slick-greeter                   | The slick-looking login screen application                    | package
i+ | lightdm-slick-greeter-branding-openSUSE | openSUSE branding of lightdm-slick-greeter                    | package
   | lightdm-slick-greeter-branding-upstream | Upstream branding of lightdm-slick-greeter                    | package
   | lightdm-slick-greeter-lang              | Translations for package lightdm-slick-greeter                | package
   | typelib-1_0-LightDM-1                   | GObject Introspection Bindings for the LightDM Client Library | package

    Note: For an extended search including not yet activated remote resources please use 'zypper
    search-packages'.
(base) tom@mydesktop: ~ $
base) tom@mydesktop: ~ $ sudo lightdm
Failed to use bus name org.freedesktop.DisplayManager, do you have appropriate permissions?

You don’t launch it like that.

What does the following command report?

sudo systemctl status lightdm

I did n’t know lightdm was a service. I thought it was just an app that ran during boot.

base) tom@mydesktop: ~ $ sudo systemctl status lightdm
○ lightdm.service - Light Display Manager
     Loaded: loaded (/usr/lib/systemd/system/lightdm.service; disabled; preset: disabled)
     Active: inactive (dead)
       Docs: man:lightdm(1)
(base) tom@mydesktop: ~ $ 

In yast services, lightdm was inactive (dead). I set it to start at boot and alsoI started it.

I did a reboot and no change, still went to screen keyboard but I could login.

After the reboot lightdm in Yast services was inactive (dead) again.

tom kosvic

Under systemd, LightDM is managed as a system service, so it gets started and supervised by the init system during boot rather than just being launched as a standalone application.

That’s why checking sudo systemctl status lightdm is usually the best first step. :wink:

Could you also share the output of:

sudo systemctl status display-manager

Got it fixed with assistance from AI search. Gave info below:

Run sudo update-alternatives --config default-displaymanager to select from installed managers (e.g., SDDM, LightDM,)

Did the above and lightdm was not selected. I think sddm was. Have no idea how anything related to that setting was changed but set default to lightdm and rebooted and all was fine.
Still have not recovered light-greeter tweak app.

thanks, tom kosvic

The update-alternatives framework is old, but if you have an old installation upgraded across multiple releases that explains why you may still be using it instead. I rely solely on modern SDDM (Wayland), and have the sddm.service explicitly enabled. The same can be done for LightDM.

So where do you set display manager to SDDM? I’ll look to see if that exists on my system. My system is a long evolved system. I use x11 as my mate de is apparently not fully functional on wayland. But I am not a gamer.

Several files the AI suggested looking at did not exist. It is often wrong but worth a look.

thanks, tom kosvic

if you wanted the sddm.service explicitly enabled?

systemctl enable --force sddm.service

(the --force flag automatically disables whatever other display manager might be symlinked to display-manager.service)

I look at my /etc/sysconfig/displaymanager and there is no line in it with something like:
DISPLAYMANAGER=“lightdm” or anything else.

Should I add a line.

## Path:	Desktop/Display manager
## Description:	settings to generate a proper displaymanager config
## Type:	yesno
## Default:	no
#
# Allow remote access (XDMCP) to your display manager (xdm/kdm/gdm). Please note
# that a modified kdm or xdm configuration, e.g. by KDE control center
# will not be changed. For gdm, values will be updated after change.
# XDMCP service should run only on trusted networks and you have to disable
# firewall for interfaces, where you want to provide this service.
#
DISPLAYMANAGER_REMOTE_ACCESS="no"

## Type:	yesno
## Default:	no
#
# Allow remote access of the user root to your display manager. Note
# that root can never login if DISPLAYMANAGER_SHUTDOWN is "auto" and
# System/Security/Permissions/PERMISSION_SECURITY is "paranoid"
#
DISPLAYMANAGER_ROOT_LOGIN_REMOTE="no"

## Type:	yesno
## Default:	yes
#
# Let the displaymanager start a local Xserver.
# Set to "no" for remote-access only.
# Set to "no" on architectures without any Xserver (e.g. s390/s390x).
#
DISPLAYMANAGER_STARTS_XSERVER="yes"

## Type:        yesno
## Default:     no
#
# TCP port 6000 of Xserver. When set to "no" (default) Xserver is
# started with "-nolisten tcp". Only set this to "yes" if you really
# need to. Remote X service should run only on trusted networks and
# you have to disable firewall for interfaces, where you want to
# provide this service. Use ssh X11 port forwarding whenever possible.
#
DISPLAYMANAGER_XSERVER_TCP_PORT_6000_OPEN="no"

## Type:    string
## Default:
#
# Define the user whom should get logged in without request. If string
# is empty, display standard login dialog.
#
DISPLAYMANAGER_AUTOLOGIN=""

## Type:        yesno
## Default:     no
#
# Allow all users to login without password, but ask for the user, if
# DISPLAYMANAGER_AUTOLOGIN is empty.
#
DISPLAYMANAGER_PASSWORD_LESS_LOGIN="no"

## Type:        yesno
## Default:     no
#
# Display a combobox for Active Directory domains.
#
DISPLAYMANAGER_AD_INTEGRATION="no"
## Path:        Desktop/Display manager
## Type:        string(Xorg)
## Default:     "Xorg"
#
DISPLAYMANAGER_XSERVER="Xorg"

That’s part of the legacy displaymanger framework. But on modern Tumbleweed systems systemd now primarily manages things.

It would be useful to see the output from

sudo systemctl status display-manager
sudo systemctl cat display-manager
(base) tom@mydesktop: ~ $ sudo systemctl status display-manager
● display-manager-legacy.service - X Display Manager
     Loaded: loaded (/usr/lib/systemd/system/display-manager-legacy.service; enabled; preset: enabled)
     Active: active (running) since Thu 2026-05-28 19:28:50 CDT; 58min ago
 Invocation: 708232cdf36743cfa56f3044255f376c
    Process: 2048 ExecStart=/usr/lib/X11/display-manager start (code=exited, status=0/SUCCESS)
   Main PID: 2152 (lightdm)
      Tasks: 6 (limit: 38215)
        CPU: 3min 58.110s
     CGroup: /system.slice/display-manager-legacy.service
             ├─2152 /usr/sbin/lightdm
             └─2160 /usr/bin/Xorg.bin :0 -seat seat0 -auth /run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch

May 28 19:28:49 mydesktop display-manager[2144]: XKBLAYOUT: us
May 28 19:28:49 mydesktop display-manager[2144]: XKBLAYOUT is already set. Better don't touch X11 keyboard configuration.
May 28 19:28:50 mydesktop systemd[1]: Started X Display Manager.
May 28 19:28:55 mydesktop display-manager[2048]: Starting service lightdm
May 28 19:28:55 mydesktop display-manager[2326]: /usr/bin/xrdb: No such file or directory
May 28 19:28:55 mydesktop display-manager[2326]: /usr/bin/xrdb: can't open file '/Xresources'
May 28 19:29:19 mydesktop lightdm[2710]: gkr-pam: unable to locate daemon control file
May 28 19:29:19 mydesktop lightdm[2710]: gkr-pam: stashed password to try later in open session
May 28 19:29:19 mydesktop lightdm[2710]: pam_unix(lightdm:session): session opened for user tom(uid=1000) by tom(uid=0)
May 28 19:29:19 mydesktop lightdm[2710]: gkr-pam: gnome-keyring-daemon started properly and unlocked keyring



(base) tom@mydesktop: ~ $ sudo systemctl cat display-manager
# /usr/lib/systemd/system/display-manager-legacy.service
[Unit]
Description=X Display Manager
Conflicts=getty@tty7.service plymouth-quit.service
After=ypbind.service gpm.service winbind.service acpid.service
Wants=systemd-user-sessions.service systemd-logind.service
After=systemd-user-sessions.service systemd-logind.service
OnFailure=plymouth-quit.service

[Service]
Type=forking
PIDFile=/run/displaymanager.pid
ExecStart=/usr/lib/X11/display-manager start
ExecReload=/usr/lib/X11/display-manager reload
KillMode=process

[Install]
Alias=display-manager.serv
(base) tom@mydesktop: ~ $ sudo systemctl status display-manager
● display-manager-legacy.service - X Display Manager
     Loaded: loaded (/usr/lib/systemd/system/display-manager-legacy.service; enabled; preset: enabled)
     Active: active (running) since Thu 2026-05-28 19:28:50 CDT; 1h 18min ago
 Invocation: 708232cdf36743cfa56f3044255f376c
    Process: 2048 ExecStart=/usr/lib/X11/display-manager start (code=exited, status=0/SUCCESS)
   Main PID: 2152 (lightdm)
      Tasks: 6 (limit: 38215)
        CPU: 5min 29.116s
     CGroup: /system.slice/display-manager-legacy.service
             ├─2152 /usr/sbin/lightdm
             └─2160 /usr/bin/Xorg.bin :0 -seat seat0 -auth /run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch

May 28 19:28:49 mydesktop display-manager[2144]: XKBLAYOUT: us
May 28 19:28:49 mydesktop display-manager[2144]: XKBLAYOUT is already set. Better don't touch X11 keyboard configuration.
May 28 19:28:50 mydesktop systemd[1]: Started X Display Manager.
May 28 19:28:55 mydesktop display-manager[2048]: Starting service lightdm
May 28 19:28:55 mydesktop display-manager[2326]: /usr/bin/xrdb: No such file or directory
May 28 19:28:55 mydesktop display-manager[2326]: /usr/bin/xrdb: can't open file '/Xresources'
May 28 19:29:19 mydesktop lightdm[2710]: gkr-pam: unable to locate daemon control file
May 28 19:29:19 mydesktop lightdm[2710]: gkr-pam: stashed password to try later in open session
May 28 19:29:19 mydesktop lightdm[2710]: pam_unix(lightdm:session): session opened for user tom(uid=1000) by tom(uid=0)
May 28 19:29:19 mydesktop lightdm[2710]: gkr-pam: gnome-keyring-daemon started properly and unlocked keyring
(base) tom@mydesktop: ~ $ `Preformatted text`

I tried setting from lightdm to sddm for a test and I got the same screen keyboard followed by a regular login.

I think I have a fix for my issue but still have no idea of how anything was changed to cause the upset.

thanks, tom kosvic

You have to install sddm first. Please be aware that it will pull lots of plasma stuffs.

That output confirms they are definitely using the legacy compatibility framework on that system.

Do
sudo systemctl enable --force lightdm
then reboot.

sddm is installed. thanks for the tip. I do use “konsole” for my main terminal so I have alot of kde stuff already.

tom kosvic