[25879] in Athena Bugs
Re: linux 9.3.8: gconf race condition
daemon@ATHENA.MIT.EDU (Greg Hudson)
Wed Jul 28 01:21:08 2004
From: Greg Hudson <ghudson@mit.edu>
To: Jacob Morzinski <jmorzins@mit.edu>
In-Reply-To: <Pine.GSO.4.55L.0407272054520.3050@multics.mit.edu>
Content-Type: text/plain
Content-Transfer-Encoding: 7bit
Message-Id: <1090992053.16991.142.camel@egyptian-gods.mit.edu>
Mime-Version: 1.0
Date: Wed, 28 Jul 2004 01:20:54 -0400
cc: bugs@mit.edu
Errors-To: bugs-bounces@mit.edu
Thanks again for the excellent research.
On Tue, 2004-07-27 at 21:18, Jacob Morzinski wrote:
> My guess is that the race conditionm is caused by various gnome
> applications starting up before gnome-settings-daemon has had a
> chance to do whatever magic it is responsible for.
>From reading source code, I can fill in the gaps: gnome-settings-daemon
writes the gconf settings to the X resource Xft.dpi (you can view it
with xrdb -query). Xft, the library which does the X part of the actual
rendering, reads this resource and feeds it to the fontconfig library.
If the resource is not set, the fontconfig default of 75 is used,
presumably resulting in the tiny font. You can play with this using the
commands:
echo "Xft.dpi: 75" | xrdb -merge
echo "Xft.dpi: 96" | xrdb -merge
The best solution is, like the solutions to many of our problems, to
implement a basic X session manager, which could (I believe) detect via
the session protocol when gnome-settings-daemon has finished its work by
waiting for an SmRegisterClientMessage. But that's a medium-sized
project and certainly not appropriate for the 9.3 release, so I'll need
to find a workaround. Dumping the second echo|xrdb command above into
the default xsession might serve, although it's hardly a complete
solution.
> Linux and Solaris seem to have dramatic differences in how they
> deal with Gnome fonts.
Well, they should be using essentially the same code, but we are using
the native fontconfig under Linux, so maybe there's a difference in
behavior. (It doesn't appear to be server-dependent, since I can ssh to
a Solaris machine from my Linux machine and see the behavior where the
gnome-terminal process always uses the same font.)
Fortunately, I don't have to figure this one out; it's apparently
orthogonal to the main problem.
Thanks again.