Date: Mon, 26 Jul 2010 11:23:55 -0400 From: Joe Marcus Clarke <marcus@freebsd.org> To: =?UTF-8?B?6KO05Zu95YW0?= <pagxir@gmail.com> Cc: freebsd-current@freebsd.org Subject: Re: gnome 2.30 slow startup (Could not ask session manager if shut down is available) Message-ID: <4C4DA88B.3090208@freebsd.org> In-Reply-To: <AANLkTikNuldmcIC6BTZA_ll2g8s58zMJ48NbZLI9YMCW@mail.gmail.com> References: <AANLkTikNuldmcIC6BTZA_ll2g8s58zMJ48NbZLI9YMCW@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 7/26/10 10:46 AM, 裴国兴 wrote: > Recently, I update my FreeBSD to 8.1, and Found that gnome 2.30 startup very > slow. It take one nimus or more to finish startup. > When startup, the gnome-panel will display after nautilus about 30 seconds. > >>From the console, I see that > > 1、gnome-session[1935]: WARNING: Application 'metacity.desktop' failed to > register before timeout > --------- after about 30 seconds ---------- > 2、** (gnome-panel:1966): WARNING **: Could not ask session manager if shut > down is available: 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. > > I recompile metacity, and "WARNING: Application 'metacity.desktop' failed to > register before timeout" disappear. > > I try to recompile gnome-session, but not work. > Finally, I do a little change for gnome-session and compile, it work. > the change file is gsm_manager.c > GsmConsolekit *consolekit; > gboolean can_suspend = 0; > gboolean can_hibernate = 0; > > #if 0 > g_object_get (manager->priv->dkp_client, > "can-suspend", &can_suspend, > "can-hibernate", &can_hibernate, > NULL); > #endif > > g_debug ("GsmManager: CanShutdown called"); > > g_return_val_if_fail (GSM_IS_MANAGER (manager), FALSE); > > consolekit = gsm_get_consolekit (); > *shutdown_available = gsm_consolekit_can_stop (consolekit) > || gsm_consolekit_can_restart (consolekit) > || can_suspend > || can_hibernate; > g_object_unref (consolekit); > *shutdown_available = 0; > > I use following command to start session > > setenv GNOME_SESSION "/usr/local/bin/ck-launch-session > /usr/local/bin/gnome-session" > env LC_ALL=zh_CN.UTF-8 XMODIFIERS=@im=ibus startx $GNOME_SESSION > > I also found that if login user is root, it works very well. > > The question is why the g_object_get call will take such a long time on > non-root user. This is fixed in the latest sysutils/consolekit. Prior to the fix, sessions started with startx were not marked as active, and thus could not be properly authorized. Joe -- Joe Marcus Clarke FreeBSD GNOME Team :: gnome@FreeBSD.org FreeNode / #freebsd-gnome http://www.FreeBSD.org/gnome
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4C4DA88B.3090208>