[Bug 491940] Re: Patch for LTSP clients to properly reboot/shutdown

Alkis Georgopoulos alkisg at gmail.com
Sat Apr 3 08:25:36 UTC 2010


LXDE has added upstream support for LTSP reboot/shutdown, using the same method as the patch proposed here.
http://lxde.git.sourceforge.net/git/gitweb.cgi?p=lxde/lxsession;a=commit;h=d2508534100fddbac931fa60e3b989ae54ddf147

Thanks, pcman and vagrantc.

Maybe we'd have better luck trying upstream gnome support too...

-- 
Patch for LTSP clients to properly reboot/shutdown
https://bugs.launchpad.net/bugs/491940
You received this bug notification because you are a member of Edubuntu
Bugsquad, which is subscribed to ltsp in ubuntu.

Status in “gnome-session” package in Ubuntu: New
Status in “ltsp” package in Ubuntu: Confirmed

Bug description:
Binary package hint: gnome-session

Please consider the following 4 lines for inclusion to debian/patch/95_dbus_request_shutdown.patch.
Those lines make LTSP clients properly reboot/shutdown.


gboolean
gsm_manager_request_shutdown (GsmManager *manager,
                              GError    **error)
{
        g_debug ("GsmManager: RequestShutdown called");

        g_return_val_if_fail (GSM_IS_MANAGER (manager), FALSE);

        if (manager->priv->phase != GSM_MANAGER_PHASE_RUNNING) {
                g_set_error (error,
                             GSM_MANAGER_ERROR,
                             GSM_MANAGER_ERROR_NOT_IN_RUNNING,
                             "RequestShutdown interface is only available during the Running phase");
                return FALSE;
        }

+       if (g_getenv ("LTSP_CLIENT"))
+               g_spawn_command_line_async("xprop -root -f LDM_LOGOUT_ACTION 8s -set LDM_LOGOUT_ACTION HALT", error);

        request_shutdown (manager);

        return TRUE;
}

gboolean
gsm_manager_request_reboot (GsmManager *manager,
                            GError    **error)
{
        g_debug ("GsmManager: RequestReboot called");

        g_return_val_if_fail (GSM_IS_MANAGER (manager), FALSE);

        if (manager->priv->phase != GSM_MANAGER_PHASE_RUNNING) {
                g_set_error (error,
                             GSM_MANAGER_ERROR,
                             GSM_MANAGER_ERROR_NOT_IN_RUNNING,
                             "RequestReboot interface is only available during the Running phase");
                return FALSE;
        }

+        if (g_getenv ("LTSP_CLIENT"))
+               g_spawn_command_line_async("xprop -root -f LDM_LOGOUT_ACTION 8s -set LDM_LOGOUT_ACTION REBOOT", error);

        request_reboot (manager);

        return TRUE;
}






More information about the edubuntu-devel mailing list