Nieuws:

We zijn er weer.

Na lange tijd van afwezigheid zijn we er weer  :laugh:
We hebben alle wachtwoorden gereset, je oude wachtwoord werkt niet meer.Je moet via het "wachtwoord vergeten"-linkje je wachtwoord resetten. Je krijgt hiervoor een mailtje op het adres dat je bij ons geregistreerd hebt.

De komende tijd zijn we nog druk bezig om de rest van de site op te bouwen, dus het kan zijn dat sommige onderdelen (tijdelijk) niet werken.

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: [OPGELOST] Python, PC uitshackelen  (gelezen 736 keer)

Offline rick.blub

  • Lid
  • Steunpunt: Nee
[OPGELOST] Python, PC uitshackelen
« Gepost op: 2009/03/25, 20:12:45 »
Kan ik vanuit python mijn pc uitschakelen?
Zo ja, hoe?
« Laatst bewerkt op: 2009/03/26, 15:55:06 door richik »
Volop Ubuntu 12.04 gebruiker.

Offline siegi

  • Lid
  • Steunpunt: Nee
Re: Python, PC uitshackelen
« Reactie #1 Gepost op: 2009/03/25, 20:32:09 »
Met python kan je toch ook gewoon opdrachten doorgeven. Zoals bijv poweroff. Hiervoor heb je natuurlijk wel root rechten nodig.
http://docs.python.org/library/commands.html

Offline Nunslaughter

  • Lid
    • timovwb
  • Steunpunt: Nee
Re: Python, PC uitshackelen
« Reactie #2 Gepost op: 2009/03/25, 20:39:50 »
Ik zou commands niet gebruiken. Deze module werkt nog wel, maar word (samen met os.system en andere) sinds python 2.6 vervangen door de subprocess module. Ik denk dat commands en dergelijke ook niet meer werken in python 3.

Offline Nunslaughter

  • Lid
    • timovwb
  • Steunpunt: Nee
Re: Python, PC uitshackelen
« Reactie #3 Gepost op: 2009/03/25, 21:03:43 »
Ik heb net wat zitten prullen, en het volgende doet het dus :).

#!/usr/bin/env python

import dbus

bus = dbus.SystemBus()
bus_object = bus.get_object("org.freedesktop.Hal", "/org/freedesktop/Hal/devices/computer")

bus_object.Shutdown(dbus_interface="org.freedesktop.Hal.Device.SystemPowerManagement")

Voor overige opties zet ik hier even vanwaar ik het heb:
  <interface name="org.freedesktop.Hal.Device.SystemPowerManagement">
    <method name="Suspend">
      <arg name="num_seconds_to_sleep" direction="in" type="i"/>
      <arg name="return_code" direction="out" type="i"/>
    </method>
    <method name="SuspendHybrid">
      <arg name="num_seconds_to_sleep" direction="in" type="i"/>
      <arg name="return_code" direction="out" type="i"/>
    </method>
    <method name="Hibernate">
      <arg name="return_code" direction="out" type="i"/>
    </method>
    <method name="Shutdown">
      <arg name="return_code" direction="out" type="i"/>
    </method>
    <method name="Reboot">
      <arg name="return_code" direction="out" type="i"/>
    </method>
    <method name="SetPowerSave">
      <arg name="enable_power_save" direction="in" type="b"/>
      <arg name="return_code" direction="out" type="i"/>
    </method>
  </interface>