Bug 29851

Summary: Having gnome-shell and cinnamon installed and uninstalling gnome-shell removes GDM without switching to lightdm even though it's installed
Product: Mageia Reporter: Kristoffer Grundström <lovaren>
Component: RPM PackagesAssignee: GNOME maintainers <gnome>
Status: RESOLVED INVALID QA Contact:
Severity: normal    
Priority: Normal CC: lewyssmith, thierry.vignaud
Version: 8   
Target Milestone: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Source RPM: CVE:
Status comment:

Description Kristoffer Grundström 2022-01-06 22:35:36 CET
Description of problem: I wanted to uninstall gnome-shell as I primarily use cinnamon instead. I opened a terminal window and wrote sudo urpme gnome-shell and hit Enter. I saw urpme removing gdm which is normal if gnome is installed, but it didn't switch to lightdm so my graphical server stopped working leading to just a black screen with a blinking prompt. To install gdm again I have to do Ctrl Alt F3 and login as root typing urpmi gdm followed by init 5 which reloads the server to a GDM login window.

How reproducible: I've just seen this once.

Steps to Reproduce:
1. Install Mageia with both gnome and cinnamon.
2. Login to Cinnamon.
3. Make sure you're fully updated. 
4. Open a terminal, login as root or use sudo and type urpme gnome-shell.
5. Voila! Screen gets black and there's no switch to lightdm.
Comment 1 Kristoffer Grundström 2022-01-06 22:36:28 CET
I confirmed that lightdm is installed by running:

rpm -q lightdm

lightdm-1.26.0-14.mga8
Comment 2 Lewis Smith 2022-01-09 15:08:38 CET
Thank you for this interesting report.
I do not see why GDM should be tied irrevocably to Gnome-shell, since the latter can be launched by any display manager. Conversely, GDM can launch any installed desktop.

 $ urpmq --requires gdm | grep gnome
 gnome-session-bin
 gnome-settings-daemon
 gnome-shell                         ***
suggests that if, without gnome-shell installed, you (as you did in the end) install just GDM, it will pull in Gnome-shell. Did it?
Why does GDM require gnome-shell? This does not look right.

 $ urpmq --requires gnome-shell | grep gdm | uniq
 gdm          ***
This is reasonable, even though unnecessary if another DM is installed. You want gnome-shell, you get GDM; no hardship. This does not preclude pulling gnome-shell without taking GDM with it.

 $ urpmq --whatrequires gdm
 gnome-shell               ***
 qgnomeplatform
This implies that pulling GDM alone will take gnome-shell. Why? Unnecessary if another DM is installed.

 $ urpmq --whatrequires gnome-shell
 chrome-gnome-shell
 gdm                               ***
 gnome-shell-extension(s)*
 gnome-tweaks
 greybird-gnome-shell-theme
 task-gnome-minimal

which all suggest that GDM and gnome-shell require each other; which is not normal. Nor, I believe, necessary.

This does beg the question (which I am not going to try!) what happens if you take out the last/only display manager?

 $ sudo urpme --test gnome-shell
 To satisfy dependencies, the following 12 packages will be removed (16MB)
chrome-gnome-shell
gdm-3.38.2.1-3.mga8.x86_64          ***
gnome-classic-session
gnome-shell                         ***
gnome-shell-extension(s)*
gnome-tweaks
task-gnome-minimal

> it didn't switch to lightdm so my graphical server stopped working
> leading to just a black screen with a blinking prompt.
> To install gdm again I have to do Ctrl Alt F3 and login as root typing
> urpmi gdm
Given that you had lightDM installed, I suspect this was unnecessary. Accepting that GDM should not have been pulled with gnome-shell, but was, probably all you had to do at the virtual console, logged in as root,
 # drakdm
which should have shown at least lightdm to select. If not - what?

Assigning to the Gnome people.

CC: (none) => lewyssmith
Assignee: bugsquad => gnome

Comment 3 Thierry Vignaud 2022-01-12 15:04:55 CET
gnome-shell seems to be a requirement of gdm indeed:
# to get greeter window (mga#11164)
Requires:      gnome-shell

This is true in Fedora, OpenSuse and Debian.

So that part is not a bug.

As DMs are manager by per DM service files, if you manually remove the currently running one, you've to manually enable another one

Status: NEW => RESOLVED
CC: (none) => thierry.vignaud
Resolution: (none) => INVALID

Comment 4 Kristoffer Grundström 2022-01-12 15:37:54 CET
(In reply to Thierry Vignaud from comment #3)
> gnome-shell seems to be a requirement of gdm indeed:
> # to get greeter window (mga#11164)
> Requires:      gnome-shell
> 
> This is true in Fedora, OpenSuse and Debian.
> 
> So that part is not a bug.
> 
> As DMs are manager by per DM service files, if you manually remove the
> currently running one, you've to manually enable another one

Lets for the sake of argument then say that a new user with little or no experience in how to manually enable the other one when removing gnome-shell, how would he/she know where to do so when they are in the terminal?

Not all users started using Mageia by instantly opening the terminal. A lot of them just open Firefox and Thunderbird and maybe VLC.

There should be some warning and at least some popup window asking if lightdm is to be used instead when executing the removal of gdm.

That's just my view.
Comment 5 Lewis Smith 2022-01-12 19:32:51 CET
Yes, I think the idea that if you remove - especially unknowingly, as in this case - the display manager you happened to be using, *something* should be done to compensate.

But what & where?

Anyone who specifically removes a display manager would probably know enough to sort himself out.
Comment 6 Kristoffer Grundström 2022-01-12 20:30:39 CET
(In reply to Lewis Smith from comment #5)
> Yes, I think the idea that if you remove - especially unknowingly, as in
> this case - the display manager you happened to be using, *something* should
> be done to compensate.
> 
> But what & where?
> 
> Anyone who specifically removes a display manager would probably know enough
> to sort himself out.

Sure, but before uninstalling gnome-shell (I only wished to uninstall gnome-shell in the urpme command) I had cinnamon and gnome-shell installed and if I'm correct cinnamon uses lightdm which gnome-shell doesn't.
Comment 7 Kristoffer Grundström 2022-01-12 20:31:46 CET
(In reply to Kristoffer Grundström from comment #6)
> (In reply to Lewis Smith from comment #5)
> > Yes, I think the idea that if you remove - especially unknowingly, as in
> > this case - the display manager you happened to be using, *something* should
> > be done to compensate.
> > 
> > But what & where?
> > 
> > Anyone who specifically removes a display manager would probably know enough
> > to sort himself out.
> 
> Sure, but before uninstalling gnome-shell (I only wished to uninstall
> gnome-shell in the urpme command) I had cinnamon and gnome-shell installed
> and if I'm correct cinnamon uses lightdm which gnome-shell doesn't.

And for the record. I was logged into Cinnamon when I decided to uninstall gnome-shell.
Comment 8 Lewis Smith 2022-01-12 21:39:45 CET
Desktops when installed do tend to 'require' a specific display manager, but then do not care; they cannot, because the DM launches them.
I test all our display managers with all our desktops for pre-release testing.