Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

display-managers: make lightdm the default #30890

Merged
merged 1 commit into from
Sep 1, 2018
Merged

Conversation

Lassulus
Copy link
Member

Motivation for this change

SLiM is unmaintained since 2014-06-09 and lightdm seems be the most reasonable alternative.

@pbogdan
Copy link
Member

pbogdan commented Oct 28, 2017

No opinion on the change itself but just for reference see #12516 for previous discussion. Also note that currently lightdm test is not part of the tested release (which it probably should if it were to become default dm).

@Lassulus
Copy link
Member Author

#12690 better version

@Lassulus Lassulus force-pushed the slim-lightdm branch 9 times, most recently from d06bea3 to c5c0ea3 Compare October 30, 2017 18:44
@fpletz fpletz added this to the 18.03 milestone Nov 1, 2017
@fpletz fpletz added 6.topic: nixos Issues or PRs affecting NixOS modules, or package usability issues specific to NixOS 8.has: changelog labels Nov 1, 2017
@fpletz fpletz requested a review from vcunat November 1, 2017 22:11
@pbogdan
Copy link
Member

pbogdan commented Nov 1, 2017

Another note - lightdm can't be convinced to log to journal which some find valuable (if anything for consistency with other DMs).

@Ma27
Copy link
Member

Ma27 commented Nov 4, 2017

I wonder if we might want to remove the slim package as well as I think that keeping unmaintained stuff in our package set just unnecessary extra-work for us...

@Lassulus
Copy link
Member Author

Lassulus commented Nov 4, 2017

I don't think we should remove it, as long as it keeps working. I guess some people really prefer it to lightdm and I wouldn't want to take the choice away from them.

@Ma27
Copy link
Member

Ma27 commented Nov 4, 2017

The thing is: the reason why I asked is because I'm not a big fan of keeping dead software in a maintained distro.
For instance we deprecated the usage of the EOLed Synaptics Touchpad driver (although it's still working fine, see 9d2777a).

In the end Nix provides a rich composition API, so if people really want to use dead software they can still build an overlay :-)

@vcunat
Copy link
Member

vcunat commented Nov 5, 2017

We shouldn't go at once from having it as default to removing it completely.

@Ma27
Copy link
Member

Ma27 commented Nov 6, 2017 via email

@GrahamcOfBorg GrahamcOfBorg added 8.has: documentation 8.has: module (update) This PR changes an existing module in `nixos/` 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin 10.rebuild-linux: 0 This PR does not cause any packages to rebuild on Linux labels Mar 8, 2018
@coretemp
Copy link
Contributor

Just adding an argument against SDDM in case that was still a candidate. SDDM is not efficient on server hardware: sddm/sddm#323.

@Lassulus
Copy link
Member Author

I rebased it on the current master and moved the comment to the 18.09 release notes.

@samueldr
Copy link
Member

Also note that currently lightdm test is not part of the tested release (which it probably should if it were to become default dm).

I also think it should become part of the tested release, otherwise when (not if!) it breaks, it won't be caught.

AFAICT this should be the only blocker for merging, objections?

@Lassulus
Copy link
Member Author

lightdm is now tested via the gnome3 test (see: #41742).
Is this enough or should we write a seperate test?

@samueldr
Copy link
Member

Ah, I was going from the commented lightdm test here. I hadn't realized lightdm was transitively tested in the gnome3 tests.

@xeji xeji added the 2.status: merge conflict This PR has merge conflicts with the target branch label Aug 30, 2018
@xeji xeji mentioned this pull request Aug 30, 2018
9 tasks
@GrahamcOfBorg GrahamcOfBorg removed the 2.status: merge conflict This PR has merge conflicts with the target branch label Aug 31, 2018
    Switch from slim to lightdm as the display-manager.
    If plasma5 is used as desktop-manager use sdddm.
    If gnome3 is used as desktop-manager use gdm.

    Based on NixOS#12516
@xeji xeji merged commit ff679f8 into NixOS:master Sep 1, 2018
xeji added a commit that referenced this pull request Sep 2, 2018
The switch to lightdm as default display manager in #30890
broke eval of the flatpak test. Since the test uses the
auto display manager (lightdm), gdm must now be explicitly disabled.
xeji added a commit that referenced this pull request Sep 2, 2018
The switch from slim to lightdm in #30890 broke some nixos tests
because lightdm by default doesn't permit auto-login for root.
Override /etc/pam.d/lightdm-autologin to allow it.
@oxij
Copy link
Member

oxij commented Sep 8, 2018

Can somebody explain what was the problem with slim exactly? I've read #12690 but still don't have an idea. What is the problem with "unmaintained"? Emacs and TeX have packages everybody uses that didn't change in the last 20 years. Are there any open bugs that prevent slim from being the default?

Anyway, immediately after rebooting into a system with auto display manager and this patchset applied I get two issues:

  • lightdm runs two processes three threads each just to make auto login work (slim had 1 of each), both stay running after .xsession script gets executed. That's a bit too much. I run NixOS with X11 on systems with very low RAM, and this is really bad.

  • Normally I exec xmonad at the end of .xsession. With lightdm exiting xmonad brings the system into an unusable state, lightdm just keeps running, showing its background window as if nothing happened, and you have to login in another tty and restart display-manager manually to get anything done.

TBH, I'd just revert this and followups. But if you really want this clearly-non-light-dm thing be the default can we at least get slim for auto at the very least?

@vcunat
Copy link
Member

vcunat commented Sep 8, 2018

I personally dislike e.g. that the UX is rather bad for slim, which doesn't seem suitable for a default. If you don't know slim, you will be hard-pressed to switch sessions, reboot, etc.

@xeji
Copy link
Contributor

xeji commented Sep 8, 2018

can we at least get slim for auto at the very least?

My preferred solution for autologin is pam-autologin, no display manager at all, just use startx as normal user. Unfortunately not yet supported in NixOS.

@oxij
Copy link
Member

oxij commented Sep 8, 2018

@vcunat I see, indeed, one does need to read the man. Fine, this might be better as the default interactive login, but I don't want this for auto. I made #46396 which reverts the auto part of this and the workarounds by @xeji that followed.

@oxij
Copy link
Member

oxij commented Sep 8, 2018

@xeji

pam-autologin

Hm, right, that would be even better for auto, I'll investigate what needs to be done later. slim is good enough for now, though.

@hedning
Copy link
Contributor

hedning commented Oct 7, 2018

While being a sane default it looks like gnome3 setting gdm as the default display manager can cause problems if the user sets another display manager in their configuration: #47945

worldofpeace added a commit to worldofpeace/nixpkgs that referenced this pull request Oct 22, 2019
Slim is abandoned and won't work with wayland.
It's in our best interest to use the display-manager
that makes most sense for Plasma5, sddm.

We've already moved on from it being default in NixOS#30890
and the graphical.nix profile, which the virtualbox profile uses,
has sddm anyway.
@worldofpeace worldofpeace mentioned this pull request Oct 22, 2019
10 tasks
@worldofpeace worldofpeace mentioned this pull request Nov 11, 2019
10 tasks
@oxij oxij mentioned this pull request Dec 9, 2019
3 tasks
oxij added a commit to SLNOS/nixpkgs that referenced this pull request Feb 10, 2020
This reverts commit 4583e29,
reversing changes made to d6fa540.

The fact that SLiM is not officially actively maintained is not a good
reason to remove it. It works, and, in some instances, like automatic
logins, it is the only thing that actually works. See
NixOS#46396 and
NixOS#30890 (comment).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
6.topic: nixos Issues or PRs affecting NixOS modules, or package usability issues specific to NixOS 8.has: changelog 8.has: documentation 8.has: module (update) This PR changes an existing module in `nixos/` 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin 10.rebuild-linux: 0 This PR does not cause any packages to rebuild on Linux
Projects
None yet
Development

Successfully merging this pull request may close these issues.