GNOME Bugzilla – Bug 590774
libgnome required to get the default monospace font
Last modified: 2011-02-03 22:12:33 UTC
[ Initially reported on http://bugs.debian.org/539571 ] Hi, The libgnome dependency was removed in 2.26. However it's still needed to get the default monospace from GConf, as /desktop/gnome/interface/monospace_font_name (read in terminal-app.c) is shipped in libgnome. Without libgnome installed, gnome-terminal doesn't start: ERROR:terminal-app.c:1433:terminal_app_init: assertion failed: (app->system_font_desc != NULL) Aborted Can this be fixed so that gnome-terminal works without libgnome?
Maybe the shemas should be moved to a non-deprecated package then, maybe gnome-desktop or gnome-settings-daemon or gnome-control-centre ?
I've sent a mail to d-d-l asking for opinions. http://mail.gnome.org/archives/desktop-devel-list/2009-August/msg00005.html
I don't see how that crash in comment 0 can happen, EXCEPT if you use the debian or ubuntu package of gnome-terminal that has the bogus gconf patch applied. The g-t code uses "Monospace 10" as default font when the schema can't be found.
Do you mean what comment 5 in bug 564649 suggests? Seriously that's causing this crash?
I mean the patch in http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=531734 . If you're using debian's g-t, then yes, it very likely causes this crash, since it brings g-t into an unexpected situation (hence the assertion failure). Moving the schemas to a non-deprecated module has independent value, of course, and is a valid bug.
This also happens with an unpatched gnome-terminal when the libgnome gconf schemas are unregistered, so it's not a debian-specific problem. When the libgnome schemas aren't installed in the gconf registry, there will be no key for the default font. When there's no key for the font, there won't be any call to terminal_app_system_font_notify_cb, which means the fallback font isn't set either. I started gnome-terminal from gdb using a breakpoint on this function, the breakpoint is never reached.
There is a patch for handling this in: http://git.exherbo.org/?p=gnome.git;a=blob_plain;f=packages/gnome-desktop/gnome-terminal/files/0001-avoid-runtime-dependency-on-libgnome.patch;h=6338b5e6f91bf57b73f20c92270f2eb1e80661b7;hb=HEAD
The patch is wrong. This will be fixed when porting Gnome to gsettings, no need for any work until then.
Since the full gsettings port will have to wait for at least 3.1, I just ported the monospace font setting to gsettings for now.