> How do you run your X session? Through a DM like lightdm (which one?) or
> through startx or something else?

Yep, it's through lightdm.

My intent is to run XFCE and whatever components are needed by packages I want. 
Sort-of a minimalist approach to hoarding. That has got me some gnome 
components, but not the full-on gnome suite.

>> Other GTK apps (e.g. gimp, ristretto, xournal) report a different message 
>> that may be related:
>> Gtk-Message: 12:34:56.789: Failed to load module "atk-bridge"
>
>That one is easy: that is because libatk-adaptor is not installed.

Ah, thanks. I installed that. It seems to have worked, getting rid of the 
"failed to load..." messages. Now that list of apps each gives the same error 
as the other ones.

There's probably a better way to find reverse depends, recommends, and 
suggests, but I did this:
apt show \* | awk 'BEGIN {p=""} /^$/ {p=""} /^Package: / {p=$2} 
/^(Recommends|Suggests|Depends): .*\y(libatk-adaptor|at-spi)\y/ {print p; print 
$0}'

That earned me a list of four packages that depend on libatk-adaptor: 
python3-pyatspi, dasher, python-pyatspi, gnome-core. None of them are 
installed, so I never got libatk-adaptor. Is there a missing dependency that 
got me to that previous error?

>> % ps aux|grep -i at-spi|grep -v grep
>> xavier 895 0.0 0.0 312472 5172 ? Ssl Jul20 0:00 
>> /usr/lib/at-spi2-core/at-spi-bus-launcher
>> xavier 917 0.0 0.0 8968 3144 ? S Jul20 0:53 /usr/bin/dbus-daemon 
>> --config-file=/usr/share/defaults/at-spi2/accessibility.conf --nofork 
>> --print-address 3
>> xavier 8546 0.0 0.0 174108 5908 ? Sl Jul20 3:07 
>> /usr/lib/at-spi2-core/at-spi2-registryd --use-gnome-session
>> root 30144 0.0 0.0 312460 5632 ? Sl Jul20 0:00 
>> /usr/lib/at-spi2-core/at-spi-bus-launcher
>> root 30149 0.0 0.0 8840 2912 ? S Jul20 0:42 /usr/bin/dbus-daemon 
>> --config-file=/usr/share/defaults/at-spi2/accessibility.conf --nofork 
>> --print-address 3
>> root 30151 0.0 0.0 174148 6012 ? Sl Jul20 3:03 
>> /usr/lib/at-spi2-core/at-spi2-registryd --use-gnome-session
>
>So at-spi2 is definitely running (which is expected, it's started from
>/etc/xdg/autostart/at-spi-dbus-bus.desktop)
There's only one user logged in here, only xavier. Root isn't logged in. Should 
there be two sets?

>> % xprop -root | grep SPI
>> AT_SPI_BUS(STRING) = 
>> "unix:abstract=/tmp/dbus-0XXXXXXXXX,guid=0000000000000000123456789abcdef0"
>> % dbus-monitor --address 
>> "unix:abstract=/tmp/dbus-0XXXXXXXXX,guid=0000000000000000123456789abcdef0"
>> Failed to register connection to bus at 
>> unix:abstract=/tmp/dbus-0XXXXXXXXX,guid=0000000000000000123456789abcdef0: 
>> Did not receive a reply. Possible causes include: the remote application did 
>> not send a reply, the message bus security policy blocked the reply, the 
>> reply timeout expired, or the network connection was broken.
>
>Could you also try to connect to the bus reported in
>
>> PASS: got accessibility bus 
>> unix:abstract=/tmp/dbus-3XXXXXXXXX,guid=3333333333333333123456789abcdef0 
>> from session dbus
>
>?

Ah, dbus-monitor works fine with no error for that bus address (the one listed 
as "from session dbus"). It connects without error, and starts displaying lots 
of events as I use other windows.

For the other bus address "from root window", I figure that's my root window. 
It seems like any permissions it has should be for my user. But I'm guessing 
it's run as root? Possibly by lightdm? Testing the idea, I still get the error 
when running dbus-monitor against that bus. Trying instead with sudo 
dbus-monitor on the same bus works fine - connects and displays events.

Concurrently, I captured output from dbus-monitor against both of those two 
buses (with sudo for the root window). A diff says they seem to be capturing 
the same events, with minor differences in serials etc. It seems that my user 
processes are trying to connect with an accessibility bus that requires root 
privileges, instead of my user session's bus. That or maybe the root window 
shouldn't be running as root, or shouldn't require root privileges.

>> FAIL: mismatch between $DBUS_SESSION_BUS_ADDRESS 
>> (unix:path=/run/user/31337/bus) and well-known path 
>> /home/xavier/.dbus/session-bus/1111111111111111123456789abcdef0-0 
>> (unix:abstract=/tmp/dbus-2XXXXXXXXX,guid=2222222222222222123456789abcdef0)
>
>This mismatch shouldn't harm, but how old is
>/home/xavier/.dbus/session-bus/1111111111111111123456789abcdef0-0?

The file is 15 days old. Both $DBUS_SESSION_BUS_ADDRESS and 
$HOME/.dbus/sessions-bus/* are new to me; I haven't set either manually. Using 
dbus-monitor with the bus address in $HOME/.dbus/sessions-bus/* connects just 
fine, but no events seem to flow through as I use other windows.

At this point, I logged off and back on. The plan was to see if putting 
Hidden=True into a new file $HOME/.config/autostart/at-spi-dbus-bus.desktop did 
anything fun. It seemed to work. The error was gone, when I ran some commands 
that used to trigger it. It continued to work after I removed user autostart 
and relogged. It seems like the autostart might've had no effect, and that just 
relogging fixed it.

Output from check-ally has changed. The "from session dbus" address works fine 
with dbus-monitor. The relevant stuff seems to be:
FAIL: can't get accessibility bus from root window
WARN: you can hot-fix it by running the following command, but that will only 
work for the current session

I get no output from xprop -root|grep SPI , and there are no at-spi processes 
running as the root user.

The file in $HOME/.dbus/sessions-bus/ has unchanged contents and dates. But now 
dbus-monitor gets a refused connection.

The problem as reported isn't happening anymore, and it appears solved for me. 
Since none of the system's users need accessibility features, running without 
them on the root window won't seem to matter.

Still, if the system's state is of interest, I'd be glad to provide output.

Reply via email to