This site has been retired. For up to date information, see handbook.gnome.org or gitlab.gnome.org.


[Home] [TitleIndex] [WordIndex

Initial System Setup

After acquiring or installing a new system there are a few essential things to set up before use. It would be nice if GNOME had a simple, easy, and safe way to prepare a new system.

Goals

Relevant Art

Discussion

Dynamic name change

The design currently relies on running in a bare user session and changing the user's name and home directory. This has traditionally been problematic. We should investigate exactly why this has been the case and hopefully work to eliminate those issues.

One of the biggest problems with doing any kind of dynamic changes are environment variables. Currently we store the user's name in a few of them:

SSH Login

USER=mccann
MAIL=/var/spool/mail/mccann
PATH=/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/mccann/.local/bin:/home/mccann/bin
PWD=/home/mccann/gnome/gdm
HOME=/home/mccann
LOGNAME=mccann
XDG_RUNTIME_DIR=/run/user/mccann
OLDPWD=/home/mccann/gnome

GDM Login

ORBIT_SOCKETDIR=/tmp/orbit-jmccann
USER=jmccann
USERNAME=jmccann
PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/jmccann/.local/bin:/home/jmccann/bin:/home/jmccann/.local/bin
MAIL=/var/spool/mail/jmccann
PWD=/home/jmccann
HOME=/home/jmccann
LOGNAME=jmccann
XDG_RUNTIME_DIR=/run/user/jmccann
XAUTHORITY=/var/run/gdm/auth-for-jmccann-uoFsKY/database
OLDPWD=/home/jmccann/devel

Tentative Design

Language Selection

https://raw.github.com/gnome-design-team/gnome-mockups/master/initial-setup/aday/1-language.png

Region

https://raw.github.com/gnome-design-team/gnome-mockups/master/initial-setup/aday/2-region.png

Input Sources

https://raw.github.com/gnome-design-team/gnome-mockups/master/initial-setup/aday/3-typing.png

Wi-Fi

https://raw.github.com/gnome-design-team/gnome-mockups/master/initial-setup/aday/4-wi-fi.png

Time Zone

https://raw.github.com/gnome-design-team/gnome-mockups/master/initial-setup/aday/5-1-auto-time-zone.png

https://raw.github.com/gnome-design-team/gnome-mockups/master/initial-setup/aday/5-2-auto-time-zone-found.png

This is displayed if geolocation isn't available, or if it is and we are unable to determine the location:

https://raw.github.com/gnome-design-team/gnome-mockups/master/initial-setup/aday/5-3-manual-time-zone.png

Online Accounts

https://raw.github.com/gnome-design-team/gnome-mockups/master/initial-setup/aday/6-1-online-accounts-initial-state.png

https://raw.github.com/gnome-design-team/gnome-mockups/master/initial-setup/aday/6-2-online-accounts-completed.png

Details

https://raw.github.com/gnome-design-team/gnome-mockups/master/initial-setup/aday/7-1-details-empty.png

https://raw.github.com/gnome-design-team/gnome-mockups/master/initial-setup/aday/7-2-details-prefilled.png

https://raw.github.com/gnome-design-team/gnome-mockups/master/initial-setup/aday/7-3-details-completed.png

Enterprise Login

https://raw.github.com/gnome-design-team/gnome-mockups/master/initial-setup/aday/8-enterprise-login.png

Password

https://raw.github.com/gnome-design-team/gnome-mockups/master/initial-setup/aday/9-1-login-initial-state.png

https://raw.github.com/gnome-design-team/gnome-mockups/master/initial-setup/aday/9-2-login-completed.png

Complete

https://raw.github.com/gnome-design-team/gnome-mockups/master/initial-setup/aday/10-completed.png

Layout Guidance

Each of the steps should have the same visual layout, which should roughly correspond to the following guidance:

https://raw.github.com/gnome-design-team/gnome-mockups/master/initial-setup/aday/layout-guidance.png

There are two partial exceptions to this:

Previous Design Iterations

Initial wireframes

Note: "Starting using GNOME 3" closes setup and logs the user in for the first time. It also launches Getting Started.

https://github.com/gnome-design-team/gnome-mockups/raw/master/initial-setup/initial-setup-1.png

Selecting 'Show all' expands the list to include all languages (keeps the initial set on top) and replaces the checkbox with a query bar that accepts input immediately, so typing a string immediately filters the list above.

https://github.com/gnome-design-team/gnome-mockups/raw/master/initial-setup/initial-setup-1.1.png

Workstation displays don't show the application maximized.

https://github.com/gnome-design-team/gnome-mockups/raw/master/initial-setup/initial-setup-workstation.png

https://github.com/gnome-design-team/gnome-mockups/raw/master/initial-setup/initial-setup-2.png

https://github.com/gnome-design-team/gnome-mockups/raw/master/initial-setup/initial-setup-3.png

https://github.com/gnome-design-team/gnome-mockups/raw/master/initial-setup/initial-setup-3.2.png

https://github.com/gnome-design-team/gnome-mockups/raw/master/initial-setup/initial-setup-3.3.png

Notes

Why not the installer?

The goal of the installer is to efficiently and safely deliver the product. It is a vehicle not a destination. We should make that trip as brief and as painless as possible. There are many reasons why it is desirable or advantageous to set up the system for the user at the time of first use and not during the install or delivery stage:

Comments

* We should have a way of setting the machine name there as well, probably with some translated default (eg. "Foo Bar's laptop" if the person is called "Foo Bar" and the DMI info says that we have a laptop) (BastienNocera)

* We need to figure out what environment this tool gets run in. There's some tricky implementation aspects:

* The current theory is that we run the tool in a special-purpose account, akin to a guest login, and then copy all configuration bits over to the newly-created users home directory when the setup is done. This will need some cooperation from gdm to smoothly switch out of the guest session and into the user session without jarring flickering (ie keep the X server, like we do when going from the login session to the user session).

* Things that need to be running in the session for the setup tool to work:

* What to you do with the special purpose account? Would you delete it afterwards or is that a skeleton for new accounts? (SriramRamkrishna)

* FIXME: What to do for the networking step in case of a workstation with multiple NICs

* What is the point of having next and back buttons placed on the top? In my opionion, it just creates inconsistency as next and back buttons are normally placed on the bottom in GNOME.

* A more exiting graphic for "Complete"

10-completed-v2.png

See Also


2024-10-23 11:03