Feature #5501

Persistence preset: locale and accessibility options (language, keyboard, and formats) in Greeter

Added by Tails 2013-07-18 07:41:59 . Updated 2020-03-21 18:51:26 .

Status:
Confirmed
Priority:
Normal
Assignee:
Category:
Persistence
Target version:
Start date:
2015-12-31
Due date:
% Done:

0%

Feature Branch:
Type of work:
Research
Blueprint:

Starter:
0
Affected tool:
Deliverable for:

Description

We want to allow users to choose, once for all, their preferred language and keyboard layout, in a way that their elected settings are saved in the Tails system cleartext partition.


Subtasks

Feature #10821: Warning on language settings in cleartext Confirmed alant

0


Related issues

Related to Tails - Feature #8846: Persistent preset: background option Duplicate 2015-02-03
Related to Tails - Feature #12470: Document how to start the screen reader with keyboard shortcuts Resolved 2017-04-22
Related to Tails - Bug #12509: The Greeter should have initial keyboard focus on the default action. Resolved 2017-05-05
Related to Tails - Feature #12644: Allow remembering boot options Rejected 2017-06-06
Related to Tails - Feature #9004: Greeter revamp: Rework the "remember" options for language settings Rejected 2015-03-03
Related to Tails - Feature #14544: Spend software developer time on smallish UX improvements In Progress 2018-08-31
Related to Tails - Feature #5722: Default to Mac keyboard layout on Mac hardware Confirmed
Related to Tails - Bug #17136: Persistence preset: Greeter settings In Progress
Has duplicate Tails - Bug #7920: KEYBOARD LAYOUT SAVED IN PERSISTENT Duplicate 2014-09-20
Has duplicate Tails - Bug #10388: persistence vol doesn't remember added keyboard layout Duplicate 2015-10-18
Has duplicate Tails - Feature #12216: Persistent settings for Tails Greeter Duplicate 2017-02-08
Has duplicate Tails - Feature #12467: Persistent keyboard layout Duplicate 2017-04-21

History

#1 Updated by aboules 2014-01-17 04:20:44

good idea, my nordish friend. But thought too short.
A user friendly product rather allowed the user to change kb layout (screen resolution, …) ‘just in time’ and saved that to persistence.

#2 Updated by aboules 2014-01-17 04:39:43

@liveusb-creator
Besides that it is ridiculous to implicate a security risk for a Norwegian who has norwegian kb layout on his stick:
If you supported a /etc/rc2.d script to run /home/amnesia/Persistent/startup/startup.root (using sudo*) and /home/amnesia/Persistent/startup/startup.user
anything was encrypted.

  • needs a /etc/sudoers.d/zzz_startup

#3 Updated by intrigeri 2014-01-17 06:32:28

> Besides that it is ridiculous to implicate a security risk for a Norwegian who has
> norwegian kb layout on his stick:
> If you supported a /etc/rc2.d script to run
> /home/amnesia/Persistent/startup/startup.root (using sudo*) and
> /home/amnesia/Persistent/startup/startup.user
> anything was encrypted.

First, Redmine is not the preferred place to discuss development of
new features with other Tails developers. The tails-dev@boum.org
mailing-list is.

Second, the general idea of running scripts at login time was
mentioned a few times on IRC recently (no idea if this was the same
person insisting, or something else). I’ve replied several times that
1. this idea has important security implications, and requires quite
some thought, starting with: who has write access to
/home/amnesia/Persistent/startup/startup.root? 2. it would be good
if someone sent a good design + security discussion to
tails-dev@boum.org about it. Else, likely nothing will happen.

#4 Updated by aboules 2014-01-17 12:59:58

jesus! intrigeri!

you (or s/o in #tails) pointed me here.
You do not need to care about r/w permissions (or anything else) of ppl not using your bleeding tails bc it is too inconvenient!
Make that bleeding Tails usable to users!

#5 Updated by BitingBird 2014-06-09 10:04:06

  • Subject changed from allow choosing language at installation time to Allow choosing language at installation time
  • Description updated
  • Starter set to No

#6 Updated by sajolida 2014-06-29 14:20:44

  • Category set to Installation

#7 Updated by BitingBird 2014-09-21 11:09:06

  • has duplicate Bug #7920: KEYBOARD LAYOUT SAVED IN PERSISTENT added

#8 Updated by BitingBird 2015-01-04 22:53:37

  • Category changed from Installation to Persistence
  • Affected tool set to Installer

#9 Updated by BitingBird 2015-03-14 14:12:35

#10 Updated by BitingBird 2015-04-10 15:58:13

Do we still want to do that? If we persist the language in clear, do we need to do so at install, or can it wait until the first boot?

#11 Updated by intrigeri 2015-04-11 10:04:25

> Do we still want to do that?

I think so.

> If we persist the language in clear, do we need to do so at install, or can it wait until the first boot?

On first boot, the system partition is read-only (see the “a” in “Tails” :)

It might be that the Greeter revamp process leads us to revisit that, at least in theory, but I’m not aware of anyone working on technical solutions to this problem => in the meantime, I’m considering that doing this at installation time is still the most realistic way to go.

#12 Updated by sajolida 2015-04-14 16:22:51

> On first boot, the system partition is read-only (see the “a” in “Tails” :)
>
> It might be that the Greeter revamp process leads us to revisit that, at least in theory, but I’m not aware of anyone working on technical solutions to this problem => in the meantime, I’m considering that doing this at installation time is still the most realistic way to go.

Despite the “a”, I’m not sure to understand what you mean. The mockups
for the new Greeter have included an option to remember the language
settings from there for at least 6 months (probably more than 1 year)
and I know that you’ve seen them.

For example https://tails.boum.org/blueprint/greeter_revamp_UI/#index2h2

  • If it is realistic to have this in the Greeter, then I think it would
    be a better suited place.
  • If it is not realistic to have this in the Greeter, then this should
    be clearly notified to the people working on the new design and they
    will stop waisting their time trying to design an interface to do that…

#13 Updated by intrigeri 2015-04-15 07:26:05

We’re not putting the same meaning behind “realistic” here, which I believe has lead to some misunderstanding.

I believe that having that option in the Greeter is realistic… it just needs someone to do it. I’m aware someone is committed to implement the new Greeter design, but I have no idea if this commitment includes solving the (potentially hard) technical “the system partition is read-only” problem. Besides, the person who’ll be working on the GTK implementation aspects isn’t very experienced in this other field. Hence my reluctance to assume “oh yeah, no problem, it’ll be done”.

#14 Updated by sajolida 2015-04-15 16:54:46

Fully understood, now indeed.

#15 Updated by emmapeel 2015-07-10 07:35:19

  • related to Feature #8846: Persistent preset: background option added

#16 Updated by BitingBird 2015-08-25 14:27:54

  • Priority changed from Elevated to Normal

downgrading priority: this will not be for the next year.

#17 Updated by sajolida 2015-10-20 08:32:51

  • Subject changed from Allow choosing language at installation time to Allow choosing language and keyboard at installation time or in Tails Greeter

Renaming to reflect the conflict between installation vs Greeter and be able to really duplicate Bug #7920 and Bug #10388.

#18 Updated by sajolida 2015-10-20 08:34:42

To add some more to the discussion, doing this at installation time would leave open the UX problem of changing this setting. Let’s say you’re using Tails to use public computers while travelling but they present different keyboard layout.

#19 Updated by sajolida 2015-10-20 08:35:00

  • has duplicate Bug #10388: persistence vol doesn't remember added keyboard layout added

#20 Updated by intrigeri 2015-10-23 08:29:22

> To add some more to the discussion, doing this at installation time would leave open the UX problem of changing this setting. Let’s say you’re using Tails to use public computers while travelling but they present different keyboard layout.

The proposed user story seems to take this into account already: “I should be proposed to choose another language and keyboard layout in tails-greeter, still”. Which might invalidate “the conflict between installation vs Greeter” you’ve seen, and the follow-up Redmine changes. I’ll let you check the ticket description again and judge.

#21 Updated by sajolida 2015-10-24 03:56:34

There are two different things in the description of the ticket, one is “once for all” which I understand is proposed to happen in Tails Installer. And the second that you pointed out is “choose another language and keyboard layout in tails-greeter” which implies that this is not made persistent (also linked to the technical limitation that you pointed out in Feature #5501#note-13. I have a problem with this and I think that people should be able to change or erase whatever they made persistent “once and for all”.

It make sense to let them do this always from the same place (more consistent for them, probably less work for us). In my opinion, this would ideally be in Tails Greeter, but could as well be Tails Installer if we don’t do that in Tails Greeter for whatever reason.

Still, we didn’t put this in our roadmap for 2016-2017 (maybe that’s a mistake) but this should anyway be discussed again more in depth, both the UX and the implementation, when we have people availble to tackle this.

#22 Updated by intrigeri 2015-10-31 10:08:44

Thanks for clarifying! I think we agree on mostly everything. I could not forbid myself to think about it, so I’ll sum up the pros/cons I’ve found, in the hope it saves us time when we come back to it later. I think we’ll have to choose between:

a) Go straight to a Greeter-only approach, that works for picking the default, saving it, and choosing one-time exceptions

b) Do the first iteration that’s in the ticket description, and later do (a).

In favour of (b):

  • it would be a tremendous improvement for many users, compared to the current situation;
  • it’s a lot cheaper and thus much more likely to happen soon: as opposed to (a), it’s a simple matter of Python + GTK programming, that could be suitable for new or occasional contributors, so perhaps it can be done without adding tons of process and overhead around; and it’s such a tiny incremental change compared to what we have now that it doesn’t need (IMO) to block on our lack of UX people, if a coder among us feels like doing it as useful procrastination task one of these days (in practice it’s copying the language/region/formats UI from the Greeter into the Installer, and having the Greeter default to the settings saved by the Installer);
  • most of the work needed by (b) is needed for (a) anyway, so even if we want (a) some day, having done (b) first will be a good start;
  • with (b), the worst case situation caused by the “once for all” aspect (i.e. “I picked the wrong language at install time so I have to pick the one I want every time I start Tails”) is essentially the same UX that all non-English speakers have to go through right now; in that sense it can be argued that it’s not a regression.

In favour of (a):

  • it can be argued that yes, it’s a UX regression that with (b) one can choose something once for all but not easily modify it in a persistent manner later on (I can feel that it’s different than “defaulting to English without having had any choice”, but have a hard time phrasing why);
  • if we really want to go through the full UX design + evaluation etc. process even for (b), then doing the entire change once for all is cheaper;
  • a (small) part of the work needed for (b) is wasted once we do (a), so better make up our mind and do (a) directly rather than going for an incremental approach;
  • doing (b) removes some of the pressure to do (a) so we’ll never do it.

I’ll stop it here, before I spend more time on it than it would take me to just implement (b) ;)

#23 Updated by sajolida 2015-11-01 07:20:40

I’m fine with both. I don’t think that (b) needs a serious UX process. It’s a tiny and temporary improvement and we can document a workaround to modify these setting later on.

I’ll also check with Alan what’s he’s view on (a).

#24 Updated by elouann 2017-02-21 18:38:39

  • has duplicate Feature #12216: Persistent settings for Tails Greeter added

#25 Updated by sajolida 2017-03-19 19:54:18

  • Subject changed from Allow choosing language and keyboard at installation time or in Tails Greeter to Allow remembering locale options (language, keyboard, and formats) in Greeter

We should allow these settings to be changed whenever the user needs it, so I think that we need that as a “Remember” checkbox. Adding this possibility to Tails Installer would only duplicates this feature but cannot replace it. So let’s have it first (and maybe only) in the Greeter. Renaming the ticket accordingly.

#26 Updated by sajolida 2017-05-16 10:53:47

  • related to Feature #12470: Document how to start the screen reader with keyboard shortcuts added

#27 Updated by sajolida 2017-05-16 10:54:25

  • Subject changed from Allow remembering locale options (language, keyboard, and formats) in Greeter to Allow remembering locale and accessibility options (language, keyboard, and formats) in Greeter

Broadening the scope of this after Feature #12470.

#28 Updated by sajolida 2017-05-26 16:03:36

  • related to Bug #12509: The Greeter should have initial keyboard focus on the default action. added

#29 Updated by intrigeri 2017-05-27 06:59:34

#30 Updated by elouann 2017-05-29 06:55:39

#31 Updated by elouann 2017-06-06 15:21:46

#32 Updated by Anonymous 2018-01-18 15:39:50

#33 Updated by Anonymous 2018-01-18 15:40:08

#34 Updated by Anonymous 2018-08-18 12:24:56

  • related to Feature #9004: Greeter revamp: Rework the "remember" options for language settings added

#35 Updated by Anonymous 2018-08-19 06:44:13

  • Subject changed from Allow remembering locale and accessibility options (language, keyboard, and formats) in Greeter to Persistence preset: locale and accessibility options (language, keyboard, and formats) in Greeter

#36 Updated by intrigeri 2019-01-12 12:01:18

  • Affected tool deleted (Installer)

With Feature #15292, Tails Installer won’t be a good place to implement this.

#37 Updated by sajolida 2019-01-22 18:42:37

  • related to Feature #14544: Spend software developer time on smallish UX improvements added

#38 Updated by intrigeri 2019-01-23 10:19:50

  • Type of work changed from Code to Research

Next steps: check if we can store this in the system partition (mount it RW and then back to RO? I did not manage to do that for Tails Upgrader) or in GPT flags (Bug #8862).

#39 Updated by intrigeri 2019-01-23 13:37:06

  • related to Feature #5722: Default to Mac keyboard layout on Mac hardware added

#40 Updated by sajolida 2019-10-29 14:48:36

  • related to Bug #17136: Persistence preset: Greeter settings added

#41 Updated by sajolida 2020-03-21 18:51:26

  • Description updated

Now that Tails Installer is not a thing anymore, I’m removing the previous design from the description of this ticket. For reference it was:

As a Norvegian-speaking Tails user:

  1. In the Tails USB Installer, I choose Norvegian language and keyboard layout.
  2. I boot Tails.
  3. tails-greeter is displayed to me in Norvegian, with a Norvegian keyboard layout.
  4. I may type my persistent volume passphrase using my preferred keyboard layout, without the need to tell Tails about it once again.
  5. I should be proposed to choose another language and keyboard layout in tails-greeter, still.

We’re left with persisting this from Tails Greeter.