Hi,
For several releases now (I think since 8.0) gdm has popped up this cute dialog box if your home directory didn't exist asking if you would like to log in with / as your home directory. You can click on Yes, you can click on No but you always just get the gdm screen asking you to enter your username. It doesn't fail...it just doesn't work.
See bug #77354 http://bugzilla.gnome.org/show_bug.cgi?id=103258
In Gnome's bugzilla the PostLogin stuff is mentioned but I'm not sure if even the gdm in Severn supports that feature.
Does anyone know of a way I can make this work? Ideally, I would like to use mktemp to create a temp home dir instead of just using /. The situation is the mentality that if your fileserver is down you should still be able to take an online test, surf the web, check your webmail, etc. (Which I see nothing wrong with.)
Jack Neely
On Mon, Jul 28, 2003 at 01:12:27PM -0400, Jack Neely wrote:
Does anyone know of a way I can make this work?
You'd have to patch gdm and/or our gdm setup, I would think. George Lebl can probably help you figure out what to change...
My guess is that gdm works OK and the issue is that gnome-session or other key apps puke if they can't write to homedir. Or at least that if gdm were fixed, you'd see this issue.
So it may come down to fixing whatever bugs in gnome-session etc. cause that; which is worthwile since the "hard drive is full" case triggers the same bugs.
If you get the desktop working right without being able to write to disk, then using '/' for a homedir would actually allow web browsing and such.
Ideally, I would like to use mktemp to create a temp home dir instead of just using /. The situation is the mentality that if your fileserver is down you should still be able to take an online test, surf the web, check your webmail, etc. (Which I see nothing wrong with.)
The problem I'd expect here would be possible user data loss; they save stuff, no error is reported, but the stuff gets trashed later. Most apps will default to saving to the homedir...
If you just handle not having a writable homedir, on the other hand, users will always get an error if they try to save something. (In addition to getting the "hard disk full" case solved as a side effect.)
Havoc
I don't think I'm getting as far as starting Gnome. Looking at slave.c I don't see off hand what cases my session to end almost instantly. I put gdm in debug mode and get the same thing if I click on Yes or No.
The following is what gets logged with me using the Yes option to log me in with / == HOME.
Jack
Jul 28 22:23:09 narsil gdm(pam_unix)[4100]: session opened for user slack by (uid=0) Jul 28 22:23:09 narsil gdm[4100]: gdm_slave_wait_for_login: end verify for 'slack' Jul 28 22:23:09 narsil gdm[4100]: gdm_slave_wait_for_login: got_login for 'slack' Jul 28 22:23:09 narsil gdm[4100]: Sending LOGGED_IN == 1 for slave 4100 Jul 28 22:23:09 narsil gdm[4100]: Sending LOGGED_IN 4100 1 Jul 28 22:23:09 narsil gdm[4051]: Handling message: 'LOGGED_IN 4100 1' Jul 28 22:23:09 narsil gdm[4051]: Got logged in == TRUE Jul 28 22:23:09 narsil gdm[4051]: (child 4100) gdm_slave_usr2_handler: :0 got USR2 signal Jul 28 22:23:09 narsil gdm[4100]: Sending LOGIN == slack for slave 4100 Jul 28 22:23:09 narsil gdm[4100]: Sending LOGIN 4100 slack Jul 28 22:23:09 narsil gdm[4051]: Handling message: 'LOGIN 4100 slack' Jul 28 22:23:09 narsil gdm[4051]: Got LOGIN == slack Jul 28 22:23:09 narsil gdm[4051]: (child 4100) gdm_slave_usr2_handler: :0 got USR2 signal Jul 28 22:23:09 narsil gdm[4100]: gdm_slave_session_start: Attempting session for user 'slack' Jul 28 22:23:09 narsil gdm[4100]: gdm_slave_session_start: Home directory for slack: '/home/slack' does not exist! Jul 28 22:23:12 narsil gdm(pam_unix)[4100]: session closed for user slack Jul 28 22:23:12 narsil gdm[4051]: (child 4100) gdm_slave_child_handler Jul 28 22:23:12 narsil gdm[4100]: Sending LOGGED_IN == 0 for slave 4100 Jul 28 22:23:12 narsil gdm[4100]: Sending LOGGED_IN 4100 0 Jul 28 22:23:12 narsil gdm[4051]: Handling message: 'LOGGED_IN 4100 0' Jul 28 22:23:12 narsil gdm[4051]: Got logged in == FALSE Jul 28 22:23:12 narsil gdm[4051]: (child 4100) gdm_slave_usr2_handler: :0 got USR2 signal Jul 28 22:23:12 narsil gdm[4100]: Sending LOGIN == for slave 4100 Jul 28 22:23:12 narsil gdm[4100]: Sending LOGIN 4100 Jul 28 22:23:12 narsil gdm[4051]: Handling message: 'LOGIN 4100 ' Jul 28 22:23:12 narsil gdm[4051]: Got LOGIN == Jul 28 22:23:12 narsil gdm[4051]: (child 4100) gdm_slave_usr2_handler: :0 got USR2 signal Jul 28 22:23:12 narsil gdm[4100]: gdm_slave_wait_for_login: In loop
On Mon, Jul 28, 2003 at 10:46:06PM -0400, Jack Neely wrote:
I don't think I'm getting as far as starting Gnome. Looking at slave.c I don't see off hand what cases my session to end almost instantly. I put gdm in debug mode and get the same thing if I click on Yes or No.
The following is what gets logged with me using the Yes option to log me in with / == HOME.
Need to get this info to George Lebl, either via filing a bug and I'll cc him or by mailing jirka@5z.com
I do think there's almost a 100% chance that GNOME itself will fail once you get gdm to log you in, though.
Havoc
On Tue, Jul 29, 2003 at 01:11:44AM -0400, Havoc Pennington wrote:
Need to get this info to George Lebl, either via filing a bug and I'll cc him or by mailing jirka@5z.com
I forgot he was already blaming PostLogin or whatever - let me revise, we need to get George to explain better what he's saying the problem is and how we should fix it. ;-)
I do think there's almost a 100% chance that GNOME itself will fail once you get gdm to log you in, though.
Fail with read-only '/' homedir that is, it would probably work with the tmpdir thing.
Havoc