Feature #14522: Make Tails usable for blind users
Forward Greeter accessibility settings to the GNOME session
Accessibility support is getting better in the new Greeter, but the settings chosen in the Greeter are not automatically forwarded to the GNOME session, so if one needs some accessibility tool, then they need to enable it twice. And if they need help from someone else to do so, then they need to request such help twice.
Relevant dconf settings, i.e. those one can modify from the Universal Access menu (there's more one can fine-tune in the Universal Access settings panel but that's irrelevant here as the user cannot do that in the Greeter):
#8 Updated by intrigeri almost 2 years ago
- Description updated (diff)
Implementation-wise, the hardest part probably comes from the fact the
Debian-gdm user will need to elevate privileges in order to affect the
amnesia user's settings. We achieve that with our usual method for forwarding settings: the Greeter saves a11y settings in some format (
PostLogin reads + validates that file and sets them in
/etc/dconf/db/local.d/ + runs
dconf update (alternatively, it could directly run dconf/gsettings command as
amnesia, but that requires a D-Bus session bus though, which we probably don't have yet at this point, so we would need to use
dbus-launch and ensure the temporary D-Bus daemon is killed before we proceed with the next steps, which feels more cumbersome than writing flat text files).
It feels somewhat wrong though to do this in a Tails-specific way: other GNOME-based distros might want the same behaviour. But in practice the problem we set out to solve here mostly affects Live systems:
- for single user systems, the problem does not exist: distro installers automatically enable a11y in the installed system when it was enabled during the initial installation;
- for multi-user systems, each user has to configure their a11y prefs only once (on first login) and they'll be remembered.
So all in all, doing this in a Tails-specific way doesn't seem too bad. Still, reporting a whislist bug to GDM and/or AccountsService upstream would be nice :)