diff options
author | Matthias Clasen <mclasen@redhat.com> | 2012-04-15 20:52:06 -0400 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2012-04-15 20:52:06 -0400 |
commit | 1fcdd7e0d4c987fec32e9ad5bded7b83e0032519 (patch) | |
tree | 872fd05703f559efb91eccf08cbe2df553a83418 | |
parent | 98e4a83e4dc5c0c0467b96e193ce78167654046b (diff) | |
download | gdm-1fcdd7e0d4c987fec32e9ad5bded7b83e0032519.tar.gz |
initial-setup: Add some notes
-rw-r--r-- | gui/initial-setup/README | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/gui/initial-setup/README b/gui/initial-setup/README new file mode 100644 index 00000000..466681ca --- /dev/null +++ b/gui/initial-setup/README @@ -0,0 +1,74 @@ +Initial setup +------------- + +The first time a new system is booted is a special situation. There is +no user account yet, and a few basic setup steps need to be performed +before it can be considered fully usable. The initial-setup mode is an +attempt to solve these problems. + +When in initial-setup mode, gdm does not bring up the regular greeter +for the login screen, but instead starts the gdm-initial-setup application +in a special session. gdm-initial-setup offers a series of steps to + +1. Create a new user account +2. Connect to the network +3. Set the right location/timezone +4. Set up online accounts + +In terms of the user experience, we want the initial setup to seamlessly +switch to the regular user session. In particular, we don't want to +make the user enter his credentials again on the login screen. + +We can't run the gdm-initial-setup application with the correct user, +since the user account does not exist yet at that time. Therefore, gdm +creates a temporary gdm-initial-setup user, and runs gdm-initial-setup +as that user. When gdm-inital-setup is done, it then initiates an autologin +for the newly created user account to switch to the 'real' session. +gdm removes the temporary gdm-initial-setup user before switching to +the real session. + +Due to this arrangement, we need to copy all the settings that have been +changed during the initial setup session from the gdm-initial-setup +user to the real user. + +Mechanics +--------- + +To enable the initial-setup functionality in gdm, set + +InitialSetupEnable=True + +in the [daemon] section of /etc/gdm/custom.conf. To actually +trigger the initial-setup, gdm additionally looks for the file +/etc/gdm/run-initial-setup. gdm removes this file after the +initial setup has been performed. + +The session that gdm starts for the initial-setup session is +defined by the file /usr/share/gnome-session/sessions/gdm-setup.session. +Like the regular greeter session, it uses the desktop files in +/usr/share/gdm/greeter/applications/ + +Before starting the initial-setup session, gdm copies the file +/usr/share/gdm/20-gdm-initial-setup.pkla into the PolicyKit +configuration to provide suitable permissions for the gdm-initial-setup +user. The pkla file is removed again together with the gdm-initial-setup +user account. + +TODO +---- + +- Copying the settings from the gdm-initial-setup account to the newly + created user account is not implemented + +- Automatic detection of location/timezone (using geoclue) is not + implemented + +- gnome-shell needs a somewhat slimmed down mode that is more suitable + to the setup scenario. It should be similar to gdm-mode in that it + will not show activitites or the user menu or the calendar. But it + should (obviously) not present a user list and act as a greeter. + +- The network connection needs to be moved before the user account setup, + and network login needs to be added + +- The summary screen should offer a 'tour' of the desktop. |