Re: [gdm-list] at-spi-registryd not starting automatically in gdm [was multiple at-spi...]



Hi Brian,


PS: Meanwhile, I suspect the XEVIE error that I mentioned in a previous email is due to the fact that I tried to start it with a terminal remotely through X and my local X server does not offer the necessary lib. (at-spi-registryd does start automatically in the gnome session, and also by a dwell gesture in the gdm session)

So perhaps you are only saying that at-spi-registryd doesn't startup
for remote sessions?  If a dwell gesture to start GOK, orca, or
gnopernicus works on a local X server, then the existing logic
probably just doesn't work in a remote situation.  I don't see
any code disabling the startup of at-spi-registryd in a remote
case.

Here is the error message that I was talking about:

[code]
frafu UbuntuDesktop:~$ /usr/lib/at-spi/at-spi-registryd &
[1] 10245
frafu UbuntuDesktop:~$ Xlib:  extension "XEVIE" missing on display ":0.0".

frafu UbuntuDesktop:~$
[/code]

Meanwhile, I have discovered (by doing several tests with enabling and disabling Assistive Technology in gnome sessions) that the error message seems not to be relevant regarding the starting of at-spi-registryd, because at-spi-registryd gets started despite the error message. And I am able to use mousetweaks, which requires at-spi. (But I don't know whether all applications requiring at-spi will run.)


Please, do not get me wrong: at-spi-registryd still does not automatically start at the gdmlogin session started remotely through NX from nomachine.com .

I don't have the possibility to try it locally. (at least moment)





Sorry, my assertion of at-spi-registryd being probably disabled on purpose was not correct; here is what Sebastien Bacher replied to me on the ubuntu-desktop mailing list; Sebastien Bacher is the maintainer of the desktop for ubuntu:

I'm glad to hear that Sebastien is not applying patches to disable
a11y on Ubuntu.  The problem must, as he suggests, be upstream.  That
said, it seems to work okay on Solaris.


As the problem is probably upstream, I also filed a bug against gdm in gnome. Here are the urls filed in ubuntu and gnome:

https://bugs.launchpad.net/gdm/+bug/135903

http://bugzilla.gnome.org/show_bug.cgi?id=471978


Note the code in gui/gdmcommon.c, the function gdm_common_atspi_launch
which calls pre_atspi_launch in the same file.  It assumes that
at-spi-registryd is in LIBEXECDIR.  If it is in a different location
on your system, this could cause the problem.  I don't see any other
obvious things that would make the code not work on a different
platform.  You mention it fails when you log in remotely.  If it
works when you log in locally, then perhaps the current code is
broken for the remote case.

Here is the full path:  /usr/lib/at-spi/at-spi-registryd
I don't know yet how to look whether it is in LIBEXECDIR. I have to look that up how to check it.


I'd recommend inserting gdm_debug calls into this area of the code to see
what the code is doing and to print out any failure return codes, etc.
Then I'd run make and in the build tree do the following

export DOING_GDM_DEVELOPMENT=1
./gdmlogin

Setting this environment variable allows you to run the GUI programs
like gdmlogin and gdmgreeter from a logged in session for debugging
and theme development purposes.  However, the code to call
gdm_common_atspi_launch in gui/gdmlogin.c is only executed if
DOING_GDM_DEVELOPMENT is not true, so you'll need to comment
out those if-tests so it always calls the function.  Normally
you don't want it to try to start the registry daemon in this
mode because the user should already have one running if they
need it.  And it will fail to start if one is already running.
But if you run your desktop without accessibility turned off,
then you can see if running gdmlogin this way starts it.  This
might be easier than however you are testing this issue now.

I am currently trying this. Could you please give me the prototype of the gdm_debug function, and tell me what header to include in gdmlogin.c for the gdm_debug function?



Note you can also test gestures in this way if you run gdmlogin
or gdmgreeter with the GTK_MODULES environment variable set to
the value in the GDM configuration file.

Also note you can turn on debugging in the gesture modules by
setting the GDM_DEBUG_GESTURES=1 environment variable or turn
it on in the GDM configuration.

That is good to know.



Moreover, the fact that at-spi-registryd starts automatically in Ubuntu 7.04 could be seen as a confirmation of that fact; I just checked it. (I am using normally Ubuntu 7.10)

So you are saying it worked in 7.04 but doesn't in 7.10.  We changed
the way GDM starts at-spi-registryd in GDM 2.17.1, and a similar
change went into gnome-session.  The "new" way of launching
at-spi-registryd hasn't changed significantly since then.  Does
at-spi-registryd require the gdm user have a writable $HOME
directory now or something?  This is a common reason some
programs will fail to startup if you try to run them from GDM.

Does the fact, that I am able to start at-spi-registryd with a dwell gesture not exclude the problem of a writeable $HOME directory? If I remember correctly, when I start it with a gesture, it runs under the user gdm.


Cheers

Francesco



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]