--- a/gdm-3.2.1/gui/simple-chooser/gdm-chooser-session.c 2011-10-18 21:07:00.000000000 -0500 +++ a/gdm-3.2.1/gui/simple-chooser/gdm-chooser-session.c 2011-11-01 13:00:10.468364266 -0500 @@ -55,6 +55,32 @@ static gpointer session_object = NULL; static gboolean +launch_xfce (GdmChooserSession *session) +{ + GError *error; + gboolean ret; + + g_debug ("GdmChooserSession: Launching xfce"); + + ret = FALSE; + + error = NULL; + g_spawn_command_line_async ("xfwm4", &error); + if (error != NULL) { + g_warning ("Error starting WM: %s", error->message); + g_error_free (error); + goto out; + } + + ret = TRUE; + + /* FIXME: should try to detect if it actually works */ + + out: + return ret; +} + +static gboolean launch_compiz (GdmChooserSession *session) { GError *error; @@ -115,9 +141,17 @@ static void start_window_manager (GdmChooserSession *session) { - if (! launch_metacity (session)) { - launch_compiz (session); + gboolean ret; + + ret = launch_metacity (session); + if (ret) { + return; + } + ret = launch_xfce (session); + if (ret) { + return; } + launch_compiz (session); } static gboolean