Possible alternative behaviours for user creation at install time (was Re: anaconda / initial-setup / gnome-initial-setup: can we do this better?)

Adam Williamson awilliam at redhat.com
Tue May 21 19:30:06 UTC 2013

On Tue, 2013-05-21 at 15:03 -0400, Matthew Miller wrote:

> > gnome-initial-setup would still be a different case, as GNOME apparently
> > really wants to force the creation of a non-root account. So g-i-s will
> That seems fine to me; systems where you don't want a user account shouldn't
> be desktop systems, and it seems compatible with what I suggest above: if
> they have a root password don't pop up anything about the user account, and
> if they're in the common desktop case we know they'll get the lecture later.

So, as I said, branching this out, because it's a complex question I
wanted to avoid in the primary thread.

At this point you're getting into actually *changing* the desired
behaviour from what it was historically, which is a much more complex

To re-iterate, the behaviour of the "install and first boot" stages of
F18 and earlier was this:

* On non-graphical installs, require the creation of a root password,
don't do anything about user account creation

* On graphical installs, require the creation of a root password,
encourage the creation of a user account but allow it to be skipped by a
determined user

My proposed behaviour for F19's anaconda and initial-setup - see other
thread - boils down to:

* On both graphical and non-graphical installs, require the creation of
a root password *or* an admin user account. If a root password is set,
encourage the creation of a user account but allow it to be skipped by a
determined user

This seems to be to be effectively very close to F18 and earlier
behaviour, while adding the flexibility of having an admin user account
with an inaccessible root account, which is something the anaconda devs
really wanted to add.

Now we're considering the behaviour of the anaconda / g-i-s combination
in F19, which is significantly *different* from pre-F19 behaviour.
Instead of encouraging user creation, it *requires* user creation.

In my original mail I intentionally kinda handwaved this and said 'GNOME
can carry on doing whatever it wants', in the interests of keeping the
thread simple. But we can broaden out in this thread and consider all
the possible behaviours.

If we start going down the 'mandate user creation' path, there's a few
ways of doing it. We _could_ go with your approach (and the current
g-i-s approach) of mandating user creation only for graphical installs.
The main drawback of this approach is it requires either bigger change
to anaconda, or the complexity of a 'firstboot' stage, because you have
to distinguish between graphical and non-graphical installs: either
anaconda has to be able to do that (which at present it doesn't) or we
have to do it at the 'firstboot' point. We _can_ - and indeed do - do it
at the firstboot point, but it's a level of complexity that isn't needed
in other possible approaches.

The other 'mandate user creation' option would be simply to do it in
(interactive) anaconda, and tell people who want to do installs without
a user account to use a kickstart or lump it. This has the advantage of
being one of the simplest possible approaches: all we'd have to do is
make user creation mandatory in anaconda and we could ditch
initial-setup and the pre-GDM bit of gnome-initial-setup. The
disadvantage of this approach, obviously, is it makes it harder for
those who have some kind of valid reason for doing an install with no
user account. Frankly, I quite like this option, the advantage of
simplicity is attractive. But I think it might be harder to get people
behind, cos people sure do love their choice!

The other possible alternative behaviour, of course, is to go precisely
the other way, and not try and force the user into doing anything at
all. Again in this case it would make sense to ditch the 'firstboot'
stage. We'd simply leave anaconda alone, and kill initial-setup (and the
pre-GDM bit of gnome-initial-setup). This is again a nice and simple
approach. Its disadvantage is that it makes it nice and simple for a
'regular' user to shoot herself in the foot. Experienced users can be
assumed to know the consequences of not creating a user account, sure.
But for the newbie who didn't do it and then pitched up at a GDM prompt
with no users, things would kind of suck. I am not a fan of this option.

Anyhow, that's how I see all the possible paths here - like I said, I
really did think through all of them :)

On balance I think my current proposal is the best. It combines a good
degree of simplicity, safety for people who don't know what they're
doing, and flexibility for those who really want to not have a user
account. And it is sufficiently close to the behaviour of F18 and
earlier not to surprise or confuse people. The 'simply mandate user
creation in anaconda and tell those who don't want a user account to use
a kickstart or delete it after install' option would be my second
choice, but as I said, I think it would be more controversial.

It's very likely that the behaviour will differ somewhat between GNOME
and all the other desktops for F19. This kind of inconsistency could be
viewed as a bit of a pity, but I don't think it's a huge practical
problem, and it may be that we can't get GNOME and the distro as a whole
to agree on whether user creation should be mandatory.
Adam Williamson
Fedora QA Community Monkey
IRC: adamw | Twitter: AdamW_Fedora | identi.ca: adamwfedora

More information about the devel mailing list