What happend to lightdm ? How can we inform better that the user needs a specific greeter to install the correct dependency?

Disclaimer:
Lets discuss how we can inform users when there is a change in a project, like lightdm.
Tutorials in the Internet pointing out that you have to install the package lightdm.

In fedora it is different as on all tutorials in internet explain. The base installation is the package lightdm and there is a default greeter and also examples in the config files.

My notes so far:
Lightdm - Fedora Project Wiki

I removed today the lightdm display-manager from my system where I updated several times from lower fedora versions. There have been removed 3 files. When I do try to reinstall it again,it gives me the mega list below …

As I do understand the lightdm is not just used for deepin. Mate and others also use it.

What is the reason to make such a huge dependency list ?

On every new release we do fight about megabytes, so that we can fit the ISO’s on a CD. And now such a “Litght” app is getting blown up so much because of widgets and Background images !

Is there a way to install lightdm still as a light app?

sudo dnf install lightdm
Last metadata expiration check: 2:37:58 ago on Thu 07 Dec 2023 09:39:57 AM -03.
Dependencies resolved.
=====================================================================================================================================
 Package                                 Architecture         Version                                    Repository             Size
=====================================================================================================================================
Installing:
 lightdm                                 x86_64               1.32.0-5.fc39                              fedora                240 k
Installing dependencies:
 appres                                  x86_64               1.0.6-4.fc39                               fedora                 16 k
 deepin-control-center-lib               x86_64               5.5.158-1.fc39                             fedora                224 k
 deepin-desktop-base                     noarch               2023.03.31-1.fc39                          fedora                 34 k
 deepin-network-core                     x86_64               1.1.9-1.fc39                               fedora                1.3 M
 deepin-network-core-lib                 x86_64               1.1.9-1.fc39                               fedora                187 k
 deepin-qt-dbus-factory                  x86_64               5.5.22-6.fc39                              fedora                730 k
 deepin-screensaver-data                 noarch               5.0.5-6.fc39                               fedora                663 k
 deepin-session-shell                    x86_64               5.5.93-1.fc39                              fedora                965 k
 dtkcommon                               x86_64               5.6.9-1.fc39                               fedora                9.9 k
 dtkcore                                 x86_64               5.6.13-1.fc39                              fedora                570 k
 dtkgui                                  x86_64               5.6.12-1.fc39                              fedora                374 k
 dtkwidget                               x86_64               5.6.12-1.fc39                              fedora                 15 M
 gsettings-qt                            x86_64               0-0.28.20180723bzr85.fc39                  fedora                 40 k
 kf5-networkmanager-qt                   x86_64               5.111.0-1.fc39                             updates               350 k
 libgle                                  x86_64               3.1.0-29.fc39                              fedora                 52 k
 libqtxdg                                x86_64               3.11.0-1.fc39                              fedora                128 k
 lightdm-gobject                         x86_64               1.32.0-5.fc39                              fedora                 62 k
 lightdm-qt5                             x86_64               1.32.0-5.fc39                              fedora                 44 k
 lshw                                    x86_64               B.02.19.2-12.fc39                          fedora                331 k
 perl-Clone                              x86_64               0.46-4.fc39                                fedora                 22 k
 perl-Data-Dump                          noarch               1.25-8.fc39                                fedora                 32 k
 perl-Digest-HMAC                        noarch               1.04-8.fc39                                fedora                 22 k
 perl-Digest-SHA                         x86_64               1:6.04-501.fc39                            fedora                 61 k
 perl-Encode-Locale                      noarch               1.05-27.fc39                               fedora                 18 k
 perl-File-Copy                          noarch               2.41-502.fc39                              updates                20 k
 perl-File-Listing                       noarch               6.16-1.fc39                                fedora                 25 k
 perl-File-Slurper                       noarch               0.014-3.fc39                               fedora                 21 k
 perl-HTML-Parser                        x86_64               3.81-3.fc39                                fedora                124 k
 perl-HTML-Tagset                        noarch               3.20-54.fc39                               fedora                 18 k
 perl-HTTP-Cookies                       noarch               6.10-10.fc39                               fedora                 37 k
 perl-HTTP-Date                          noarch               6.06-2.fc39                                fedora                 24 k
 perl-HTTP-Message                       noarch               6.44-3.fc39                                fedora                101 k
 perl-HTTP-Negotiate                     noarch               6.01-36.fc39                               fedora                 19 k
 perl-I18N-Langinfo                      x86_64               0.22-502.fc39                              updates                22 k
 perl-IO-HTML                            noarch               1.004-11.fc39                              fedora                 28 k
 perl-LWP-MediaTypes                     noarch               6.04-15.fc39                               fedora                 33 k
 perl-Module-Load                        noarch               1:0.36-500.fc39                            fedora                 17 k
 perl-NTLM                               noarch               1.09-36.fc39                               fedora                 22 k
 perl-Net-HTTP                           noarch               6.23-2.fc39                                fedora                 39 k
 perl-Time-HiRes                         x86_64               4:1.9775-500.fc39                          fedora                 57 k
 perl-TimeDate                           noarch               1:2.33-11.fc39                             fedora                 57 k
 perl-Try-Tiny                           noarch               0.31-6.fc39                                fedora                 41 k
 perl-WWW-RobotRules                     noarch               6.02-37.fc39                               fedora                 19 k
 perl-diagnostics                        noarch               1.39-502.fc39                              updates               214 k
 perl-libwww-perl                        noarch               6.72-1.fc39                                fedora                209 k
 perl-subs                               noarch               1.04-502.fc39                              updates                12 k
 qt5-qttools                             x86_64               5.15.11-1.fc39                             updates                41 k
 xscreensaver-base                       x86_64               1:6.08-1.fc39                              updates               502 k
 xscreensaver-extras                     x86_64               1:6.08-1.fc39                              updates               2.3 M
 xscreensaver-extras-base                x86_64               1:6.08-1.fc39                              updates               227 k
 xscreensaver-gl-base                    x86_64               1:6.08-1.fc39                              updates                17 k
 xscreensaver-gl-extras                  x86_64               1:6.08-1.fc39                              updates                11 M
Installing weak dependencies:
 deepin-screensaver                      x86_64               5.0.5-6.fc39                               fedora                 47 k
 deepin-wallpapers                       noarch               1.7.7-15.fc39                              fedora                 62 M
 perl-IO-Compress-Brotli                 x86_64               0.004001-10.fc39                           fedora                 27 k
 perl-PerlIO-utf8_strict                 x86_64               0.010-4.fc39                               fedora                 26 k

Transaction Summary
=====================================================================================================================================
Install  57 Packages

Total download size: 99 M
Installed size: 158 M
Is this ok [y/N]: 

You could use --setopt=install_weak_deps=False in order not to install the weak dependencies. The deepin-wallpapers package alone is 62M in size.

Anyway, I am not familiar with lightdm, but I wonder why all those deepin-* packages are required. Maybe @leigh123linux can help.

2 Likes

Also, you can use sudo dnf history to find out which packages were removed when you removed lightdm and then install them manually without any dependencies using sudo rpm -ivh --nodeps <package>

2 Likes

Light refers primarily to the memory and cpu: these are the critical resources that have permanently to be shared among all processes, and the use of these resources needs power/battery.

I think today it is mostly assumed that storage in these amounts ain’t an issue: it does neither impact the critical resources nor does it impact power consumption/battery. The only impact is the decrease of storage space.

Yet, it might be questioned if all that packages are really necessary. But in the end, Fedora is less intended for very old hardware or specialized hardware that needs to count MB I guess.

In your case, I would suggest to remain with the initial solution suggested by Flo: try it without the soft dependencies. But I suggest to even do that only if you really need storage space because I am not sure if some types of testing (that are conducted before pushing packages to stable) assume the soft dependencies to be installed, just to avoid issues that are avoidable.

lightdm also needs a lightdm-greeter it there are four packages which can provide that

$ dnf -C rq --whatprovides lightdm-greeter
Last metadata expiration check: 0:16:06 ago on Thu 07 Dec 2023 18:46:12 CET.
deepin-session-shell-0:5.5.93-1.fc39.x86_64
lightdm-autologin-greeter-0:1.0-18.fc39.noarch
lightdm-gtk-0:2.0.8-7.fc39.x86_64
slick-greeter-0:1.8.2-2.fc39.x86_64

For some unknown reason, dnf chose to install deepin-session-shell instead of lightdm-gtk or slick-greeter.

So I suggest to run

dnf install lightdm lightdm-gtk

or perhaps

dnf install lightdm slick-greeter

The login screen looks quite different depending on which greeter you choose.

2 Likes

Thanks for your answers. Unfortunately I could not solve it yet. I tested all tree options and I still get an error that lightdm could not been started. For the moment I use lxmd and it looks horrible.

As mentioned above I updated the system several times I guess since F35/36.
Something must have been changed (even if it is just overwriting the config file while updating). Then wen I see the systemctl status lightdm it just says about something with dependencies is not fine.

I tested fedora mate in a virtual machine and there it works I could also change from slick to the gtk greeter in /etc/lightdm/lightdm.conf

The DM has been made years ago and has been made for Hardware where is now “old” but still works. So to not trow away the hardware I still use it for my Boy. He plays SuperMario and is happy with that.

This argument is ok for Gnome where gets pushed to the best and really is more for new Hardware. The majority of the spins are more for older device and even Rasppery Pi, where also not has hardware specs to spoil.

I really wish that we do distinguish between spins and that a low memory/spec version is available without have to download crap where belongs to a desktop where has been made to replace MS-Windows mainly for the Chinese market and newer Hardware.

As an example lightdm-basic and lightdm could make clear a separation. If we use the -basic package for example it should not be tight to a specific distribution’s desktop as we do have now.

If you want help with that you have to be more specific, that is, copy-paste what systemctl status lightdm displayed.

I assume you by now have installed the greeter you want.

$ systemctl status lightdm
× lightdm.service - Light Display Manager
     Loaded: loaded (/usr/lib/systemd/system/lightdm.service; enabled; preset: enabled)
    Drop-In: /usr/lib/systemd/system/service.d
             └─10-timeout-abort.conf
     Active: failed (Result: exit-code) since Sat 2023-12-09 15:19:19 -03; 19s ago
   Duration: 685ms
       Docs: man:lightdm(1)
    Process: 1839 ExecStart=/usr/sbin/lightdm (code=exited, status=1/FAILURE)
   Main PID: 1839 (code=exited, status=1/FAILURE)
        CPU: 232ms

dez 09 15:19:18 fedy systemd[1]: lightdm.service: Main process exited, code=exited, status=1/FAILURE
dez 09 15:19:18 fedy systemd[1]: lightdm.service: Failed with result 'exit-code'.
dez 09 15:19:19 fedy systemd[1]: lightdm.service: Triggering OnFailure= dependencies.
dez 09 15:19:19 fedy systemd[1]: lightdm.service: Scheduled restart job, restart counter is at 5.
dez 09 15:19:19 fedy systemd[1]: lightdm.service: Start request repeated too quickly.
dez 09 15:19:19 fedy systemd[1]: lightdm.service: Failed with result 'exit-code'.
dez 09 15:19:19 fedy systemd[1]: Failed to start lightdm.service - Light Display Manager.
dez 09 15:19:19 fedy systemd[1]: lightdm.service: Triggering OnFailure= dependencies.
journalctl  -r |grep lightdm 
dez 09 16:21:55 fedy polkitd[870]: Operator of unix-process:1691:50760 successfully authenticated as unix-user:luciano to gain TEMPORARY authorization for action org.freedesktop.systemd1.manage-unit-files for system-bus-name::1.60 [systemctl disable lightdm] (owned by unix-user:luciano)
dez 09 16:14:04 fedy audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=lightdm comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=failed'
dez 09 16:14:04 fedy systemd[1]: lightdm.service: Triggering OnFailure= dependencies.
dez 09 16:14:04 fedy systemd[1]: Failed to start lightdm.service - Light Display Manager.
dez 09 16:14:04 fedy systemd[1]: lightdm.service: Failed with result 'exit-code'.
dez 09 16:14:04 fedy systemd[1]: lightdm.service: Start request repeated too quickly.
dez 09 16:14:04 fedy systemd[1]: lightdm.service: Scheduled restart job, restart counter is at 5.
dez 09 16:14:03 fedy audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=lightdm comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=failed'
dez 09 16:14:03 fedy systemd[1]: lightdm.service: Triggering OnFailure= dependencies.
dez 09 16:14:03 fedy systemd[1]: Failed to start lightdm.service - Light Display Manager.
dez 09 16:14:03 fedy systemd[1]: lightdm.service: Failed with result 'exit-code'.
dez 09 16:14:03 fedy systemd[1]: lightdm.service: Main process exited, code=exited, status=1/FAILURE
dez 09 16:14:03 fedy systemd[1]: Starting lightdm.service - Light Display Manager...
dez 09 16:14:03 fedy systemd[1]: lightdm.service: Scheduled restart job, restart counter is at 4.
dez 09 16:14:03 fedy audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=lightdm comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=failed'
dez 09 16:14:03 fedy systemd[1]: lightdm.service: Triggering OnFailure= dependencies.
dez 09 16:14:03 fedy systemd[1]: Failed to start lightdm.service - Light Display Manager.
dez 09 16:14:03 fedy systemd[1]: lightdm.service: Failed with result 'exit-code'.
dez 09 16:14:03 fedy systemd[1]: lightdm.service: Main process exited, code=exited, status=1/FAILURE
dez 09 16:14:03 fedy systemd[1]: Starting lightdm.service - Light Display Manager...
dez 09 16:14:03 fedy systemd[1]: lightdm.service: Scheduled restart job, restart counter is at 3.
dez 09 16:14:03 fedy audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=lightdm comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=failed'
dez 09 16:14:03 fedy systemd[1]: lightdm.service: Triggering OnFailure= dependencies.
dez 09 16:14:03 fedy systemd[1]: Failed to start lightdm.service - Light Display Manager.
dez 09 16:14:03 fedy systemd[1]: lightdm.service: Failed with result 'exit-code'.
dez 09 16:14:03 fedy systemd[1]: lightdm.service: Main process exited, code=exited, status=1/FAILURE
dez 09 16:14:03 fedy systemd[1]: Starting lightdm.service - Light Display Manager...
dez 09 16:14:03 fedy systemd[1]: lightdm.service: Scheduled restart job, restart counter is at 2.
dez 09 16:14:02 fedy audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=lightdm comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=failed'
dez 09 16:14:02 fedy systemd[1]: lightdm.service: Triggering OnFailure= dependencies.
dez 09 16:14:02 fedy systemd[1]: Failed to start lightdm.service - Light Display Manager.
dez 09 16:14:02 fedy systemd[1]: lightdm.service: Failed with result 'exit-code'.
dez 09 16:14:02 fedy systemd[1]: lightdm.service: Main process exited, code=exited, status=1/FAILURE
dez 09 16:14:02 fedy systemd[1]: Starting lightdm.service - Light Display Manager...
dez 09 16:14:02 fedy systemd[1]: lightdm.service: Scheduled restart job, restart counter is at 1.
dez 09 16:14:02 fedy audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=lightdm comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=failed'
dez 09 16:14:02 fedy systemd[1]: lightdm.service: Triggering OnFailure= dependencies.
dez 09 16:14:02 fedy systemd[1]: Failed to start lightdm.service - Light Display Manager.
dez 09 16:14:02 fedy systemd[1]: lightdm.service: Failed with result 'exit-code'.
dez 09 16:14:02 fedy systemd[1]: lightdm.service: Main process exited, code=exited, status=1/FAILURE
dez 09 16:14:02 fedy systemd[1]: Starting lightdm.service - Light Display Manager...

I installed lightdm on my workstation and tested it. It also not works.

I used the command to install sudo dnf install lightdm disabled gdm and enable lightdm.

I got more or less the same errors.

So it wold be good if someone tests and gives feedback. If the tester also has problems I could make a bug request.

That will install the wrong greeter as discussed upthread. Instead, you should install the greeter you want and let that pull in lightdm as a dependency, e.g.:

sudo dnf install lightdm-gtk

This is a common footgun (and I would argue a bug) with lightdm’s packaging. The current dependency is:

Requires:   (lightdm-greeter = 1.2 if xorg-x11-server-Xorg)

From Weak Dependencies Policy :: Fedora Docs, it probably should also have Suggests: lightdm-gtk as a hint to the solver.

There have already been at least two bug reports closed NOTABUG: RHBZ 1749326 & 2208097

If deepin provides a greeter that does not work, the bug should be filed against deepin, and probably also split out the greeter from the rest of it.

Sure, that’s a bug, but it’s not the bug. Ending up with any part of deepin installed via dnf install lightdm is not a reasonable situation.

Somehow of the fact that the dependence changed, an upgrade from F38 to F39 failed.

Anyway, installing the correct/desired greeter will install the necessary dependency and will make everything working without having to change the config files.

Thanks for the inputs, and special thanks to @chrisawi to point it out again, that the desired greeter will push the correct dependency.

I started a discussion on deepin … Please help to formulate the problem correctly.

My comment as I understand the problem I made here:

Thanks in advance for helping.

p.s.
I also made a not on bugzilla.

The problem is how dnf handles multiple providers of a feature, in this case the lightdm-greeter feature. So far dns does not have a mind reader feature to help to chose the right package to provide that feature, so it just takes the first available to install.

There is nothing deepin can do about and there is nothing lightdm can do about it, unless you remove the flexibility and only allow one greeter implementation in connection with lightdm.

If they name their lightdm deepin-lightdm, we do have the name lightdm free to use and install it as an independent project … as we do with all the other ones. SDDM also not pushes the whole KDE stuff to use it on a other project, right?

Or name their greeter/config different and make it similar as we do on fedora … that’s why I asked to create a Fedora Folder as they do for Archlinux and Debian … is this not best practice ?

SDDM install list:
sudo dnf install sddm
Last metadata expiration check: 0:33:13 ago on Tue 12 Dec 2023 08:37:09 AM -03.
Dependencies resolved.
==============================================================================================================================================================================================================================================================
 Package                                                               Architecture                                            Version                                                         Repository                                                Size
==============================================================================================================================================================================================================================================================
Installing:
 sddm                                                                  x86_64                                                  0.20.0-4.fc39                                                   fedora                                                   1.8 M
Installing dependencies:
 aml                                                                   x86_64                                                  0.3.0-2.fc39                                                    fedora                                                    20 k
 libseat                                                               x86_64                                                  0.8.0-1.fc39                                                    fedora                                                    29 k
 neatvnc                                                               x86_64                                                  0.7.1-1.fc39                                                    updates                                                   65 k
 sddm-wayland-generic                                                  noarch                                                  0.20.0-4.fc39                                                   fedora                                                    11 k
 turbojpeg                                                             x86_64                                                  2.1.4-3.fc39                                                    fedora                                                   214 k
 weston                                                                x86_64                                                  12.0.2-1.fc39                                                   fedora                                                   661 k
 weston-libs                                                           x86_64                                                  12.0.2-1.fc39                                                   fedora                                                   419 k

Transaction Summary
==============================================================================================================================================================================================================================================================
Install  8 Packages

Total download size: 3.1 M
Installed size: 6.2 M
Is this ok [y/N]:

The core LightDM project does not provide any greeter with it; you should install a greeter appropriate to your system. Popular greeter projects are:

sddm also have a choice of greeters, namely

[root@newbox ~]# dnf rq --whatprovides sddm-greeter-displayserver
Last metadata expiration check: 0:01:32 ago on Tue 12 Dec 2023 13:11:19 CET.
sddm-wayland-generic-0:0.20.0-4.fc39.noarch
sddm-wayland-plasma-0:5.27.8-2.fc39.noarch
sddm-wayland-plasma-0:5.27.9.1-3.fc39.noarch
sddm-wayland-sway-0:0.3.1-2.fc39.noarch
sddm-x11-0:0.20.0-4.fc39.noarch
[root@newbox ~]# 

so the issue is exactly the same. Did you want sddm-wayland-generic or would you rather have sddm-wayland-sway or perhaps sddm-x11?

dnf info lightdm
sudo dnf info lightdm:

Last metadata expiration check: 0:44:32 ago on Tue 12 Dec 2023 08:37:09 AM -03.
Installed Packages
Name         : lightdm
Version      : 1.32.0
Release      : 5.fc39
Architecture : x86_64
Size         : 585 k
Source       : lightdm-1.32.0-5.fc39.src.rpm
Repository   : @System
From repo    : fedora
Summary      : A cross-desktop Display Manager
URL          : https://www.freedesktop.org/wiki/Software/LightDM/
License      : (LGPLv2 or LGPLv3) and GPLv3+
Description  : Lightdm is a display manager that:
             : * Is cross-desktop - supports different desktops
             : * Supports different display technologies
             : * Is lightweight - low memory usage and fast performance

Ok, so should we make the note that we can install lightdm with the specific greeter where?

If deepin does it this way too, lightdm will not push the deepin stuff anymore right?

Canonical is making the Note on their project as I block-quoted before.

p.s.
I am not a new Linux user, but the whole thing made me almost crazy because of missing information about the greeter. I found out if you install just the greeter the rest where is needed get pushed as dependency.
What is best practice to communicate this then? I just thy to find a general solution for the majority of users.

Hello @ilikelinux , @vekruse ,
As @chrisawi has provided a solution to the original post I suggest @ilikelinux mark Chris’s post appropriately as the solution and make a new topic for the continued discussion about how to correct the greeter packaging since this discussion is sort of skewing from the original.

As I made the topic we also just can change the title. I think the whole discussion showed how we found this problem out together. And I do agree with the comment of @chrisawi