diff -rup virt-manager-0.8.7/src/virt-manager.py.in foobar/src/virt-manager.py.in --- virt-manager-0.8.7/src/virt-manager.py.in 2011-03-24 16:39:28.000000000 -0400 +++ foobar/src/virt-manager.py.in 2011-03-31 11:34:02.389991998 -0400 @@ -393,9 +393,16 @@ def main(): dbus.glib.threads_init() import dbus.service - # Specifically init config/gconf before the fork, so that pam - # doesn't think we closed the app, therefor robbing us of - # display access + # Now we've got basic environment up & running we can fork + if not options.nofork and not options.debug: + drop_tty() + drop_stdio() + + # Ignore SIGHUP, otherwise a serial console closing drops the whole app + signal.signal(signal.SIGHUP, signal.SIG_IGN) + + # Initing gconf before forking makes the app lockup on f15/rawhide... + # https://bugzilla.redhat.com/show_bug.cgi?id=692570 import virtManager.config config = virtManager.config.vmmConfig(appname, appversion, gconf_dir, glade_dir, @@ -408,14 +415,6 @@ def main(): config.hv_packages = hv_packages config.libvirt_packages = libvirt_packages - # Now we've got basic environment up & running we can fork - if not options.nofork and not options.debug: - drop_tty() - drop_stdio() - - # Ignore SIGHUP, otherwise a serial console closing drops the whole app - signal.signal(signal.SIGHUP, signal.SIG_IGN) - from virtManager.engine import vmmEngine gtk.window_set_default_icon_from_file(icon_dir + "/" +