[Pkg-xfce-devel] Bug#766462: with plymouth installed, I don't get any gettys on my VCs

Simon McVittie smcv at debian.org
Sun Mar 1 21:58:27 UTC 2015

Cc kdm, lightdm, slim, wdm maintainers to warn you that you might be
getting a RC bug (with a simple fix, add one 3-line file) assigned or
cloned to your DM implementations.

Peter Palfrader wrote:
> I just upgraded to jessie, and with plymouth installed, I don't get
> any gettys/login prompts on any of the VCs.  kdm starts up and gives me
> an X login-prompt, but none of the consoles do.

(The bad situation is: plymouth, gdm3 and kdm are all installed; kdm
is selected as the x-display-manager implementation; and plymouth
is enabled via "splash" on the kernel command-line.)

On Sun, 09 Nov 2014 at 12:11:49 +0100, Laurent Bigonville wrote:
> This bug is triggered by the fact that GDM systemd service is enabled
> while KDM is also enabled. GDM .service file explicitly conflicts with
> plymouth-quit.service as it calls "plymouth --quit" itself to allow a
> smooth transition from plymouth to the login screen. To fix this part,
> KDM should probably provides a .service file too and properly set a
> symlink for display-manager.service (like GDM and lightdm are doing).

One short path to a solution is to install this systemd "drop-in", which
I have successfully tested in a jessie VM:

smcv at debian:~$ cat /lib/systemd/system/kdm.service.d/after.conf
After=systemd-user-sessions.service getty at tty7.service plymouth-quit.service
Conflicts=getty at tty7.service plymouth-quit.service

(In particular, because systemd generates equivalent native systemd units
for sysvinit scripts, you don't actually have to write a native systemd
unit for that drop-in to work.)

I copied those from gdm3, but lxdm has the same. plymouth-quit.service is
for this bug, getty at tty7.service is to avoid that getty fighting with
*dm for control over the tty, and systemd-user-sessions.service is meant
to run before any user can log in.

slim and lightdm do have native systemd .service files, but don't have
those relationships, which I think is probably a bug in those DMs'
service files; they should probably gain those lines too. However,
because they participate in managing the display-manager.service
symlink, they suppress gdm.service altogether, so they might avoid
get this problem with the plymouth handover.

The remaining provider of x-display-manager is wdm, which doesn't
have a systemd service or any systemd drop-ins AFAICS, so it probably
suffers from a bug analogous to #766462 with wdm taking kdm's place.

Adding the reverse relationships (Conflicts and Before) to
plymouth-quit.service for all known DMs in jessie is tempting,
since that would only require patching one package, but it probably
isn't a great idea since Conflicts is not entirely symmetric:
if systemd runs a transaction that is trying to start A and B,
something Requires A, something Requires B, and A has Conflicts=B,
then it is A that will "win" and be started. So my recommendation
would be to change the display managers.


More information about the Pkg-xfce-devel mailing list