[systemd-devel] Bug in systemd? Running X without a display manager

Alan Stern stern at rowland.harvard.edu
Mon Aug 27 08:53:22 PDT 2012


On Mon, 27 Aug 2012, Dave Reisner wrote:

> > > You'll need to start X on the same VT that you logged in on. If it's
> > > tty1, then:
> > > 
> > > startx -- vt01
> > 
> > That's a reasonable workaround, but it's not a real fix.
> 
> Why isn't it a real fix? It's simply different semantics from
> consolekit. If you want this done automatically, it's trivial to write
> your own ~/.xserverrc which does the VT detection and passes it to X as
> an argument:
> 
> https://gist.github.com/3489325

I meant that it shouldn't be necessary to tell X to run on the same tty
as the original login session.  X should be able to pick whichever tty
it wants (or is told), and that information should get propagated to
systemd.

The lack of propagation is a bug, and telling X explicitly what tty to
use doesn't fix it.

> > Fedora 16 uses ConsoleKit, and testing shows that ConsoleKit is aware 
> > of both the test-mode and X session whereas systemd isn't:
> 
> That's unfortunate. I doubt anyone on this list cares about CK in any
> real way. logind is the "way forward".
...
> Presumably, this only works because you launch X with ck-launch-session
> and pam_ck_connector somewhere in your PAM login stack. I don't know

Indeed:

$ grep pam_ck_connector /etc/pam.d/*
/etc/pam.d/login:-session   optional     pam_ck_connector.so

And ps says:

stern     1740  1723  0 10:36 tty1     00:00:00 xinit /etc/X11/xinit/xinitrc -- /usr/bin/X vt01 -auth /home/stern/.serverauth.1723
root      1741  1740  7 10:36 ?        00:05:22 /usr/bin/X :0 vt01 -auth /home/stern/.serverauth.1723
stern     1746  1740  0 10:36 ?        00:00:00 /usr/bin/ck-xinit-session /usr/bin/ssh-agent /home/stern/.Xclients

> exactly how CK works, but it's my understanding that logind requires a
> process running as root to register a new session (on the new tty) if it
> is to be authenticated for at_console privileges.


> > Now perhaps ConsoleKit is old hat and nobody cares about it any more.  
> > I haven't tried doing this under a more recent version of Fedora.  Is 
> > there any reason to think it would work any better?
> 
> Well, the startx behavior I showed you will continue to work. I'd
> suspect that a newer version of Fedora might not have consolekit at all.

Hmmm.  Maybe the best thing to do is wait until I install a new version 
of Fedora (I'm waiting for the official release of 18) and then see 
what the story is.

Thanks for your help,

Alan Stern



More information about the systemd-devel mailing list