My workaround for this problem is to send "halt" command to the
underlying client o/s. Below are the steps needed, do in the server:

1. Chroot to the client environment:

$sudo chroot /opt/ltsp/i386

2. Define root password:

#passwd

3. Install openssh server and exit from chroot:

#apt-get install openssh-server
#exit

4. Update the client image:

$sudo ltsp-update-image

5. Create the down script:
#!/bin/bash
my_ip=`printenv|grep SSH_CONNECTION|sed 
's/\(SSH_CONNECTION=\)\([0-9]*\.[0-9]*\.[0-9]*\.[0-9]*\)\(.*\)/\2/'`
ssh root@$my_ip halt

6. Place a launcher on client's desktop referring to the above script.

-- 
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to gnome-session in Ubuntu.
https://bugs.launchpad.net/bugs/491940

Title:
  Patch for LTSP clients to properly reboot/shutdown

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

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;
  }

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/gnome-session/+bug/491940/+subscriptions

-- 
Mailing list: https://launchpad.net/~desktop-packages
Post to     : desktop-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~desktop-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to