diff -Nru gnome-shell-3.6.0/debian/changelog gnome-shell-3.6.0/debian/changelog --- gnome-shell-3.6.0/debian/changelog 2012-10-09 20:43:30.000000000 +1100 +++ gnome-shell-3.6.0/debian/changelog 2012-10-09 21:15:43.000000000 +1100 @@ -1,3 +1,10 @@ +gnome-shell (3.6.0-0ubuntu3) UNRELEASED; urgency=low + + * debian/patches + - fix user switching when running lightdm + + -- Tim Lunn Tue, 09 Oct 2012 20:42:33 +1100 + gnome-shell (3.6.0-0ubuntu2) quantal; urgency=low * debian/control.in,gnome-shell-common.install: diff -Nru gnome-shell-3.6.0/debian/patches/series gnome-shell-3.6.0/debian/patches/series --- gnome-shell-3.6.0/debian/patches/series 2012-10-09 20:43:30.000000000 +1100 +++ gnome-shell-3.6.0/debian/patches/series 2012-10-09 21:15:07.000000000 +1100 @@ -2,3 +2,4 @@ #10-make-NetworkManager-optional.patch 11-no-gettext.patch 14_make-GLX-optional.patch +ubuntu-lightdm-user-switching.patch diff -Nru gnome-shell-3.6.0/debian/patches/ubuntu-lightdm-user-switching.patch gnome-shell-3.6.0/debian/patches/ubuntu-lightdm-user-switching.patch --- gnome-shell-3.6.0/debian/patches/ubuntu-lightdm-user-switching.patch 1970-01-01 10:00:00.000000000 +1000 +++ gnome-shell-3.6.0/debian/patches/ubuntu-lightdm-user-switching.patch 2012-10-09 21:15:01.000000000 +1100 @@ -0,0 +1,59 @@ +From b043396a553e047178fd2bc5e3b69870963580fc Mon Sep 17 00:00:00 2001 +From: Tim Lunn +Date: Tue, 9 Oct 2012 20:18:28 +1100 +Subject: [PATCH] userMenu: allow user switching when using lightdm + +When running lightdm and gnome-shell, its currently not possible to +switch users via the usermenu. This commit adds a dbus call to +switch to the lightdm greeter and if that fails will fallback to +the gnome-screensaver lock dialog. + +https://bugzilla.gnome.org/show_bug.cgi?id=685794 +--- + js/ui/userMenu.js | 19 ++++++++++++++++++- + 1 file changed, 18 insertions(+), 1 deletion(-) + +Index: gnome-shell-lp1064269c/js/ui/userMenu.js +=================================================================== +--- gnome-shell-lp1064269c.orig/js/ui/userMenu.js 2012-10-09 21:06:14.000000000 +1100 ++++ gnome-shell-lp1064269c/js/ui/userMenu.js 2012-10-09 21:11:52.992985846 +1100 +@@ -18,6 +18,7 @@ + const PanelMenu = imports.ui.panelMenu; + const PopupMenu = imports.ui.popupMenu; + const Params = imports.misc.params; ++const UnlockDialog = imports.ui.unlockDialog; + const Util = imports.misc.util; + + const LOCKDOWN_SCHEMA = 'org.gnome.desktop.lockdown'; +@@ -829,7 +830,11 @@ + Main.overview.hide(); + if (this._screenSaverSettings.get_boolean(LOCK_ENABLED_KEY)) + Main.screenShield.lock(false); +- Gdm.goto_login_session_sync(null); ++ if (UnlockDialog.isSupported()) ++ Gdm.goto_login_session_sync(null); ++ else ++ this._lightdmLoginSession(); ++ + }, + + _onQuitSessionActivate: function() { +@@ -863,5 +868,18 @@ + this._upClient.suspend_sync(null); + } + } ++ }, ++ _lightdmLoginSession: function() { ++ try { ++ let seat = GLib.getenv("XDG_SEAT_PATH"); ++ let result = Gio.DBus.system.call_sync('org.freedesktop.DisplayManager', ++ seat, ++ 'org.freedesktop.DisplayManager.Seat', ++ 'SwitchToGreeter', null, null, ++ Gio.DBusCallFlags.NONE, ++ -1, null); ++ } catch(e) { ++ Main.screenShield.lock(); ++ } + } + });