[orca-list] Lightdm GTK greeter accessibility revisited
- From: Peter Vágner <pvdeejay gmail com>
- To: Orca-list <ORCA-LIST gnome org>
- Cc: pan pav 7c5 gmail com, Kyle <kyle gmx ca>
- Subject: [orca-list] Lightdm GTK greeter accessibility revisited
- Date: Wed, 2 Dec 2015 12:15:46 +0100
Hello,
This is turning in to a little story, so please apologize for posting a
lot of background details.
I am currently trying to run lightdm with lightdm GTK greeter working on
my system. I would like to use it to either login into mate, or login
into xfce4 or login directly into kodi.
Lightdm appears to be only one accessible enough from the minimalist
desktop managers I know of.
Lightdm greeter started implementing accessibility support in a way so
it has preferences to launch on screen keyboard, screen reader from its
menu. The problem with this initial goal was the issue where upon
dismissing the greeter session there was at-spi2 core bus still present
and it was not easy to get accessibility support working inside the
resulting user session after logging in. Here is the corresponding bug
report https://bugs.launchpad.net/lightdm-gtk-greeter/+bug/1366534.
While in this state I was able to hack around the fact there are lightdm
greeter processes open after the greeter is dismissed by using
session-setup-script and session-cleanup-script to kill these. While not
particularly nice solution this worked pretty well.
There were issues with other stale processes so lightdm GTK greeter now
implements a way to run some helper apps such as at-spi2-core or applet
indicators specific processes remembers their pid's and gracefully kills
these when exiting. While implementing this a feature that causes more
problem than it solves crept in unfortunately. Current versions of
lightdm GTK greeter now set NO_AT_BRIDGE environment variable. The
original reasoning behind this is that when lightdm greeter launches
at-spi2 it should force ATK not to launch it again by setting
("NO_AT_BRIDGE", to true. The result of this is that orca is started,
at-spi2 is started but these can't communicate to each other I guess. By
experimenting I have found out that orca and ATK won't start another
copy of at-spi2 core if one is already launched by lightdm so I think
this can be removed without risking other possible issues. The
corresponding bug report is at
https://bugs.launchpad.net/lightdm-gtk-greeter/+bug/1483864 .
So given this I hoped we might see awesome accessibility related greeter
experience very soon but unfortunately I've found another issue and this
time I am afraid it might have something to do with orca.
When lightdm GTK greeter is configured with reader in its accessibility
states it includes Screen reader menu item which allows starting orca. A
keyboard equivalent of enabling that menu item is an F4 keyboard
shortcut which is working as a toggle i.e. it switches screen reader to
on or off. Under the hood lightdm GTK greeter launches orca or to be
precise the command configured in its config file, remembers its pid and
then kills that pid when the feature is toggled to off.
What I have just noticed when orca receives sigterm it appears to freeze
here. I am however only able to reproduce this when running inside a
lightdm greeter session and when logged into xfce for example I can kill
orca without issues. This is with orca 3.18.2 and with orca master.
Unfortunately I can find nothing useful in the debug*.out file orca
generates. How would I go about trying to better troubleshoot this?
I do have some other possibly related questions:
- Orca launches other helper apps such as speech-dispatcher which in
turn may optionally also launch pulseaudio. Should these also be tracked
in lightdm GTK greeter the same way at-spi is?
- When lightdm is running as a systemd service and I call systemctl stop
lightdm the greeter process is terminated however at-spi and I suspect
the other tracked processes are still running. Is this a bug?
Greetings
Peter
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]