Ubiquity, GNOME, and accessibility.
cjwatson at ubuntu.com
Fri Jan 18 13:58:41 GMT 2008
On Tue, Jan 15, 2008 at 05:26:39PM +1100, Luke Yelavich wrote:
> At UDS Boston, I briefly talked with Colin about accessibility, and
> the only-ubiquity option to only launch ubiquity on the live CD. Since
> this option will be easily made available to users in the gfxboot
> screen re-organisation, I am writing to discuss implementing
> accessibility for this feature, as only using Ubiquity will be
> selectable by those who may wish to enable accessibility.
Right, good point. If your mail filters are ready to get a substantial
mail flood due to being a bug contact for ubiquity, I'd be happy to add
you to the ubuntu-installer team so that you can do the ubiquity work
> Since only the necessary parts of GNOME are launched along with
> ubiquity, in order to provide wallpaper, theme, and window management,
> all running as root, and since from my checking that this all gets run
> by ubiquity itself, some work needs to be done, both on the ubiquity
> side, as well as the casper side. From what I understand about the way
> things work now, the following needs to happen.
> * If any accessibility profile is selected, and only-ubiquity gets
> activated, casper will have to set all gconf settings for the root
I think there's a decent argument that ubiquity-dm should (be told to)
start the desktop environment bits as the 'ubuntu' user. It's not so
much that the security properties matter here, but it would simplify
casper's job as well as bringing the only-ubiquity environment closer to
the environment you get when you run a full live session and then start
ubiquity in it.
> * If the accessibility profile chosen requires the use of the
> at-spi-registryd daemon, ubiquity will have to be notified that it has
> to run this daemon.
For GNOME, this seems to be if /desktop/gnome/interface/accessibility is
set in gconf. This isn't necessary in KDE, is it?
It looks to me as if the right answer would be to modify
ubiquity/bin/ubiquity-dm to fetch /desktop/gnome/interface/accessibility
from the ubuntu user's gconf database, and if it's set to true then
start at-spi-registryd before doing anything else GTK-related (so before
setting the background). Would you take care of this?
> I think the above two points are the only things that need addressing,
> as from what I can gather, gnome-settings-daemon gets run, which sets
> a lot of gconf settings, including those for keyboard accessibility,
> mouse, wallpaper settings, and theme. Please feel free to correct me
> if I am wrong.
That's correct to the best of my knowledge. If more is needed, I'm sure
it will become obvious rather quickly.
> I am quite happy to work on the casper side of the implementation, and
> am also willing to work on the parts of ubiquity that need changes
> made, if I am pointed in the right direction. The only other question
> is whether it would be better to make use of gconf from within
> ubiquity, or whether it would be better to add another command-line
> argument, to tell ubiquity that accessibility needs to be enabled.
I'd call gconftool-2 from ubiquity-dm if using the GTK frontend and it's
available. ubiquity already uses gconftool-2 elsewhere, so this isn't
much of a stretch. Do wrap it inside "if
osextras.find_on_path('gconftool-2')" (as is done in the GTK frontend)
to avoid breaking Xubuntu, though.
Colin Watson [cjwatson at ubuntu.com]
More information about the Ubuntu-installer