Control: clone -1 -2 Control: notfound -1 3.30.2-3 Control: close -1 3.24.2-3 Control: retitle -2 gdm3: dependencies do not include an X11 server and a window manager
On Wed, 12 Jun 2019 at 08:56:56 -0500, Pascal Liehne wrote: > Package: gdm3 > Version: 3.30.2-3 > Followup-For: Bug #850291 > > It looks like the bug is back. After install of gdm3 and gnome-terminal > in one command and login I get only the background image. > > HowTo reproduce: > - Install Debian 10 RC1 via Netinstaller without additional software > - run: apt-get install gdm3 gnome-terminal > - reboot, so gdm3 ist started > - login > - you will see only the background image. Sorry for the delay in responding to this. For future reference, it's usually better to report a new bug than to reply to a bug that has already been closed, particularly if you are not 100% sure that the old bug and the new bug have the same root cause. I don't think this is actually the same bug as #850291, so I've cloned it to have a new bug number, and I'm closing #850291 again. Please use the new bug number (when it gets allocated) for any further discussion of this. In #850291, the symptom was that without gnome-session installed, the gdm greeter (the login prompt where you choose a username and session type and enter your password) constantly restarts and is unusable. In this new bug report, the greeter *is* usable - you get a list of users, and you can attempt to log in. However, the login session does not actually *work*. That seems like a distinct bug that should be handled separately. When I initially tried it, I got a different failure mode: - The screen flashes to blank for a moment - I'm brought back to the greeter prompt This is because gdm3 does not depend on an X11 server (xserver-xorg-core). Historically, gdm3 relied on X11 both to display the greeter and to run the login session. However, now that GNOME uses Wayland by default, you can run the gdm greeter and even a full GNOME session without actually needing an X11 server - so it would seem incorrect for gdm3 to have a hard dependency on xserver-xorg-core. After installing xserver-xorg-core and rebooting, I get a different failure mode: I log in, I see a background image (a blue elliptical gradient, fading to a darker blue in the corners of the screen), and there is no obvious way to interact with the system other than rebooting: not even VT switching via Ctrl+Alt+F5 works. This is because xserver-xorg-core is so minimal that it does not include any input drivers. The next step is to install xserver-xorg, a metapackage that includes video and input drivers. This is in gdm3's Recommends list ("packages that would be found together with this one in all but unusual installations") but is not a hard dependency. After installing xserver-xorg and rebooting, the new failure mode is that I get the same background image as before, but now at least VT switching via Ctrl+Alt+F5 works as expected. It appears that because we do not have any more complete desktop environments installed, the window manager that has been selected as a fallback is /usr/bin/mutter, which is a relatively minimal demo/example window manager: it does not have any built-in "chrome" to launch programs (like a panel or a menu), but we can log in as the same user on a text console and run "DISPLAY=:0 xterm" (if xterm is indeed installed), or create a file ~/.xsession with contents like this: #!/bin/sh xterm & exec x-window-manager to get a minimal, but minimally usable, desktop session. Obviously none of this is ideal, but I would have a hard time characterising any of this as being a release-critical bug, or choosing where to put extra dependencies to make this work "out of the box". The underlying issue here is that if you want things "already done for you", then installing a complete desktop environment like GNOME, KDE Plasma or XFCE is going to be a better route than building your own desktop environment from individual pieces; and if you want to build your own desktop environment from individual pieces, this is going to require some understanding of how the pieces fit together and which ones you want. If we added enough dependencies to make apt prevent you from accidentally setting up an incomplete environment that is not actually practically usable, then we would also prevent advanced users from building their own desktop environments (or non-desktop-environment graphical environments) that are more minimal. In bullseye (Debian 11 prerelease), this is mitigated by gnome-shell no longer having a dependency on mutter. It is still necessary to install xserver-xorg-core and at least one input driver (which, again, are part of gdm3's Recommends), but the fallback X11 session in a very minimal installation will now be the x-terminal-emulator (gnome-terminal in your example) rather than mutter, so at least you get a prompt from which you can run more programs. Some other ideas for possible improvements: - gnome-shell could have a Recommends on gnome-session, as a heavier hint that gnome-session is how you get the intended GNOME session user experience. However, this would be circular (gnome-shell Depends: gnome-session Recommends: gnome-shell), which is probably undesirable. - gdm3 could have a Recommends on "gnome-session | x-session-manager", with no x-window-manager or x-terminal-emulator alternative, as a heavier hint that an x-session-manager is a really good idea. Xsession runs an x-session-manager in preference to a plain x-window-manager or an x-terminal-emulator, so installing an x-session-manager (such as gnome-session or xfce4-session) would result in that session being run in preference to mutter. smcv