[pkg-fso-commits] [SCM] Automatic Display Manager branch, pamhelper, updated. debian/0.1-38-g8ab57e9

Enrico Zini enrico at enricozini.org
Fri Feb 20 17:48:48 UTC 2009


The following commit has been merged in the pamhelper branch:
commit 07844adbf40f0374269c4e4be0fc748e794d8285
Author: Enrico Zini <enrico at enricozini.org>
Date:   Fri Feb 20 15:54:20 2009 +0000

    More notes on why X doesn't start for users

diff --git a/TODO b/TODO
index 7698cc0..9dee2af 100644
--- a/TODO
+++ b/TODO
@@ -8,4 +8,28 @@
  + split X options before passing them to xinit?  Is it needed or xinit does it?
  + signals are blocked while waiting between retries
  + set up the right environment, and cd to the right place
- - missing: honour login.defs.  Do we need it?
+ - does not start X session if it is run as a user
+   X: user not authorized to run the X server, aborting.
+   (allowed_users=console in /etc/X11/Xwrapper.config)
+ - we currently do not honour login.defs.  Do we need it?
+
+#debian-devel < enrico> so, /etc/X11/Xwrapper.conf disallows a user to run X unless they're on console.  How do display 
+                        managers work around it?
+#debian-devel < jcristau> they're root.
+#debian-devel < enrico> jcristau: but don't they sudo to the requested user before starting X?
+#debian-devel < jcristau> there's no requested user before starting X
+#debian-devel < enrico> jcristau: uhm, no they don't
+#debian-devel < enrico> jcristau: I'm writing a display manager that performs autologin, so I know what user I want 
+                        before starting X
+#debian-devel < enrico> jcristau: I thought that becoming the user and starting X would be enough, but it isn't.  
+                        Apparently, I need to start X passing myself as the session, and then become the user
+#debian-devel < jcristau> so they start an X server, and after you enter your login/pass they fork, setuid() and start 
+                          your session, basically.
+#debian-devel < jcristau> uh. 'start X passing myself as the session'?
+#debian-devel < enrico> jcristau: like, run xinit myself -- options
+#debian-devel < enrico> jcristau: and then myself will take care of setuid() and running Xsession
+#debian-devel < enrico> jcristau: sounds sound?
+#debian-devel < jcristau> possibly
+#debian-devel < enrico> jcristau: thanks!
+#debian-devel < jcristau> (or you could do what xinit does yourself, so you can deal with X exiting if you want)
+#debian-devel < enrico> jcristau: what does xinit exactly do?  I'll get the source code and see

-- 
Automatic Display Manager



More information about the pkg-fso-commits mailing list