GNOME Bugzilla – Bug 684474
screen reader doesn't read on the login screen
Last modified: 2012-09-25 17:59:53 UTC
When I flip the 'Screen Reader' switch on the login screen, nothing happens, orca doesn't greet me :-( Maybe the login screen session setup is somehow insufficient for a11y to work fully ?
Marking as a tentative blocker - having a11y work on the login screen is pretty important.
Created attachment 224864 [details] [review] data: at at-spi stuff to login session In order for orca to work we need certain accessibility services running. This commit adds those services.
something like attachment 224864 [details] [review] may help, but i haven't tested it yet.
Created attachment 224868 [details] [review] Matthias doesn't think the registryd bits should be needed. Bastien points out these files aren't going to get AutostartCondition tested since we use gnome-session -f. One more (still untested) round: data: at at-spi stuff to login session In order for orca to work we need certain accessibility services running. This commit adds those services.
Grr, I was trying to use loginctl session-status to verify that the a11y bus was launched in the gdm session. Looks like the a11y tools manage to escape the cgroup ?! Not sure whats up with that. Anyway, it still doesn't work, because orca relies on autostart conditions to get launched, see /etc/xdg/autostart/orca-autostart.desktop.
The patches in this bug are actually for gdm, so moving it there. I've also added a dependency on the gnome-session bug that is the root cause.
Created attachment 224995 [details] [review] don't run gnome-session in failsafe mode
Created attachment 224996 [details] [review] add an autostart file for orca
These are more work-in-progress patches. They rely on the patches in the blocking gnome-session bug. Even with these, I still haven't gotten orca to start and stop correctly. I did see orca start once, but then it didn't stop when I turned the switch off. It seems as if gsettings monitoring doesn't work reliably. gnome-sessions debug log did show my that the autostart condition monitor was triggering, but it alway saw the same value. Maybe this is somehow caused by the bus being 'off to the side' ?
Created attachment 225093 [details] [review] launch-environment: start dbus-daemon inside the user session We currently start dbus-daemon separately from the launch environment PAM session. This means all things activated by that bus get started in the wrong logind session and are missing important environment variables (such as XDG_RUNTIME_DIR). This commit deletes a bunch of code for managing the dbus session separately, and instead just makes it part of the session command (using dbus-launch as a wrapper around the session). Because we no longer have the specific PID of the bus daemon, we now stop the launch environment by killing the whole process group in one go.
You're suspicions were correct. attachment 225093 [details] [review] addresses those suspicions by moving dbus-daemon inside the PAM session, and it fixes the symptoms you cited.
Review of attachment 225093 [details] [review]: Only one question. ::: daemon/gdm-launch-environment.c @@ -353,3 @@ -static void -rotate_logs (const char *path, - guint n_copies) Is this log rotation stuff important? Are you deleting it intentionally?
we have a copy of it in the new place it gets called, so not important.
Created attachment 225097 [details] [review] Add an autostart file for orca Add an autostart file for orca, and install it in /usr/share/gdm/greeter/autostart. This is necessary to make the screen reader switch in the a11y menu work in the login screen.
Comment on attachment 224996 [details] [review] add an autostart file for orca oops wrong one
Comment on attachment 224868 [details] [review] Matthias doesn't think the registryd bits should be needed. (this is apparently unneeded)
Review of attachment 224995 [details] [review]: looks good
Review of attachment 224996 [details] [review]: we should remove the orca-screen-reader sitting in applications
Created attachment 225101 [details] [review] Add an autostart file for orca Add an autostart file for orca, and install it in /usr/share/gdm/greeter/autostart. This is necessary to make the screen reader switch in the a11y menu work in the login screen.
I've tested these patches, and they worked fine. Approval 1 from me.
Review of attachment 225101 [details] [review]: ::: data/autostart/orca-autostart.desktop @@ +1,3 @@ +[Desktop Entry] +Type=Application +Name=Orca screen reader Should be _Name I guess, to keep it translatable? Plus should keep the old string "Orca Screen Reader" and its capitalization to not break strings. Why were fields like _Comment, Categories, X-GNOME-Bugzilla-Bugzilla, X-GNOME-Bugzilla-Product, X-GNOME-Bugzilla-Component dropped? Because of NoDisplay?
(In reply to comment #21) > Review of attachment 225101 [details] [review]: > > ::: data/autostart/orca-autostart.desktop > @@ +1,3 @@ > +[Desktop Entry] > +Type=Application > +Name=Orca screen reader > > Should be _Name I guess, to keep it translatable? Plus should keep the old > string "Orca Screen Reader" and its capitalization to not break strings. > Why were fields like _Comment, Categories, X-GNOME-Bugzilla-Bugzilla, > X-GNOME-Bugzilla-Product, X-GNOME-Bugzilla-Component dropped? Because of > NoDisplay? There's no application menu anywhere in the login screen (nor should there be), so these are intentionally untranslated.
gdm patch tested in gnome-ostree; works for me.
Attachment 225093 [details] pushed as 348c920 - launch-environment: start dbus-daemon inside the user session Attachment 225101 [details] pushed as 62a649d - Add an autostart file for orca