[orca-list] Lightdm GTK greeter accessibility revisited



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]