Merge remote-tracking branch 'origin/feature/7461-persistence.conf-in-whisperback...
[tails/lblissett.git] / wiki / src / blueprint / TailsGreeter.mdwn
blob7d6b878f0c436b4b592c292bba6a32e046ec1b3a
1 [[!meta title="tails-greeter"]]
3 tails-greeter is shipped in Tails 0.11 and later.
4 Remaining action items and bugs are split into individual pages in
5 [[!tails_todo "" desc="todo"]] and [[!tails_bug "" desc="bugs"]].
7 Archive
8 =======
10 This started as an implementation of custom [[todo/boot_menu]] for GDM3 as part of GSoC2011 project.
12 This page is the entry point to [[design
13 description|TailsGreeter/design]] and relevant
14 [[useful information|TailsGreeter/refs]].
16 The [[project status
17 updates|TailsGreeter/blog]] and [[timeline|TailsGreeter/timeline]] pages were actively used during GSoC.
19 [[!toc levels=2]]
21 How it should look like
22 -----------------------
24 0. After GDM is started user is presented with language-chooser-widget
25    and "Enable persistence?" checkbox. If the user enables
26    persistence, they are asked their encryption passphrase(s).
27 0. Choosing language and layout is immediately applied: if
28    corresponding .po file is available then TailsGreeter is
29    immediately translated.
30 0. One can choose to either login directly, or to go to an
31    options screen.
32 0. In the options screen:
33    - admin-password-widget: typing password and confirming makes the
34      user sudoer with the chosen password; if no password is entered,
35      the user is not given any admin rights.
36 0. After logon, desktop must be shown with proper locale and layout.
38 Requested options details
39 -------------------------
41 Developers are encouraged to provide input for various options to be
42 asked via boot-menu.
44 ### Language
46 1. name: Language
47 2. default value: English
48 3. effects: 
49    - setup locale for the TailsGreeter so that the user can understand the other
50      choices;
51    - generate the chosen locale;
52    - setup locale for the session to be started;
53    - maybe more: have a look at
54      `config/binary_local-hooks/20-syslinux_i18n` in Tails main Git
55      repository to see what parameters it passes to live-config
56      (locales, keyboard-layouts) then grep the relevant variable names
57      (`KEYBOARD_LAYOUT`, `LIVE_LOCALES`, `LIVE_TIMEZONE`) in
58      live-config source to see what is currently done depending on the
59      chosen language, and might thus need to be triggered by
60      tails-greeter as well; while appealing, installing `locales-all`
61      is not an option: it avoids the need to compile locales at
62      runtime, but it increases the ISO size by 130MB+, which seems
63      overkill since compiling one given locale takes roughly 3s on
64      a quite old laptop.
65     * locale generation: done with localedef (see [[design|TailsGreeter/design]] for details of the interface)
66     * keyboard: layout is applied with the help of corresponding GDM d-bus signals.
67     * console keyboard: live-config `015-keyboard-configuration`,
68       `117-xserver-xorg` and `014-console-setup` scripts might be usable;
69       need some envvars set.
70     * Note: live-config scripts we'll run ourselves must not run on boot
71       before we run them: these scripts are *not* idempotent
72 4. ui hint: Choose the language of your Tails session.
73 5. responsible dev:
74 6. dev's notes: This item should be really visible, probably on top of the
75    TailsGreeter screen. More information can be found in
76    [[todo/localization_at_runtime]].
78 ### Administrator password
80 1. name: Administrator password
81 2. default value: none
82 3. effects: execute `set-user-password-and-locale` with `$TAILS_USER_PASSWORD` saved into temporary file. See [[design|TailsGreeter/design]] for details.
83 4. ui hint: (draft) enter here a password that will be asked to grant administrator
84    rights. Leave this field blank to disable administrator rights.
85 5. responsible dev:
86 6. Related TODO item: [[todo/better_root_access_control]]