This started as an implementation of custom "boot menu":./boot_menu.html for GDM3 as part of GSoC2011 project.
This page is the entry point to "design description":./TailsGreeter/design.html and relevant "useful information":./TailsGreeter/refs.html.
The "project status updates":./TailsGreeter/blog.html and "timeline":./TailsGreeter/timeline.html pages were actively used during GSoC.
How it should look like¶
- After GDM is started user is presented with language-chooser-widget and "Enable persistence?" checkbox. If the user enables persistence, they are asked their encryption passphrase(s).
- Choosing language and layout is immediately applied: if corresponding .po file is available then TailsGreeter is immediately translated.
- One can choose to either login directly, or to go to an options screen.
- In the options screen:
- admin-password-widget: typing password and confirming makes the user sudoer with the chosen password; if no password is entered, the user is not given any admin rights.
- After logon, desktop must be shown with proper locale and layout.
Requested options details¶
Developers are encouraged to provide input for various options to be asked via boot-menu.
- name: Language
- default value: English
- setup locale for the TailsGreeter so that the user can understand the other choices;
- generate the chosen locale;
- setup locale for the session to be started;
- maybe more: have a look at
config/binary_local-hooks/20-syslinux_i18nin Tails main Git repository to see what parameters it passes to live-config (locales, keyboard-layouts) then grep the relevant variable names (
LIVE_TIMEZONE) in live-config source to see what is currently done depending on the chosen language, and might thus need to be triggered by tails-greeter as well; while appealing, installing
locales-allis not an option: it avoids the need to compile locales at runtime, but it increases the ISO size by 130MB+, which seems overkill since compiling one given locale takes roughly 3s on a quite old laptop.
- locale generation: done with localedef (see "design":./TailsGreeter/design.html for details of the interface)
- keyboard: layout is applied with the help of corresponding GDM d-bus signals.
- console keyboard: live-config
014-console-setupscripts might be usable; need some envvars set.
- Note: live-config scripts we'll run ourselves must not run on boot before we run them: these scripts are not idempotent
- ui hint: Choose the language of your Tails session.
- responsible dev:
- dev's notes: This item should be really visible, probably on top of the TailsGreeter screen. More information can be found in "localization at runtime":./localization_at_runtime.html.
- name: Administrator password
- default value: none
- effects: execute
$TAILS_USER_PASSWORDsaved into temporary file. See "design":./TailsGreeter/design.html for details.
- ui hint: (draft) enter here a password that will be asked to grant administrator rights. Leave this field blank to disable administrator rights.
- responsible dev:
- Related TODO item: "better root access control":./better_root_access_control.html