Seite 1 von 1

standby verhindern

Verfasst: 27. Dezember 2009 16:23
von hakaishi
Hallo!

Wie kann ich verhindern, dass der PC in den Standby geht, während mein Programm läuft?
Das müsste über qdbus doch irgendwie realisierbar sein...

Könnte mir da bitte jemand weiterhelfen?

Gruß
Hakaishi

Verfasst: 27. Dezember 2009 20:45
von upsala
Warum sollte er das tun? Liegts an deinem Programm oder am Benutzer?

Verfasst: 27. Dezember 2009 20:52
von honda71
hakaishi hat geschrieben:(...)
Das müsste über qdbus doch irgendwie realisierbar sein...
(...)
Ich vermute mit PC meinst Du eine Windows-Kiste?
Dann sollte der Hinweis aus der Doku Deine Frage beantworten.
The QtDBus module is a Unix-only library that you can use to perform Inter-Process Communication using the D-Bus protocol.
Gruss

Verfasst: 28. Dezember 2009 00:30
von hakaishi
Auf meinen Computer kommt nie wieder Windows!
Nein, ich benutze Ubuntu.

Ich habe selbst ein Programm geschrieben und ich möchte, dass es den Standby-Modus verhindert.
Warum es den Standby-Modus nicht verhindert kann ich nicht sagen (ich dachte das wäre normal...). Wenn ich z.B. das Laptop zuklappe, geht es in den Standby (es sei denn ich schalte diese Funktion ab). Ich möchte den Standby-Modus allerdings nur verhindern, während das Programm läuft.
Das Programm ist dieses hier:
https://launchpad.net/~hakaishi/+archive/qt-shutdown-p

Edit: Ich habe folgendes gefunden, weiß aber noch nicht wie ich es umsetzen soll:
http://www.marcuscom.com/hal-spec/hal-spec.html#locking

Gruß
Hakaishi

Verfasst: 4. Januar 2010 17:54
von hakaishi
Der Befehl
dbus-send --system --print-reply --dest=org.freedesktop.Hal /org/freedesktop/Hal/devices/computer org.freedesktop.Hal.Device.AcquireInterfaceLock string:"org.freedesktop.Hal.Device.SystemPowerManager.Suspend" boolean:true
gibt zwar keine Fehlermeldung aus, aber gesperrt wird da nichts (ebensowenig ohne das .Suspend).
Der Befehl
dbus-send --system --print-reply --dest=org.freedesktop.Hal /org/freedesktop/Hal/devices/computer org.freedesktop.Hal.Device.ReleaseInterfaceLock string:"org.freedesktop.Hal.Device.SystemPowerManager.Suspend"
gibt
Error org.freedesktop.Hal.Device.InterfaceNotLocked: The interface org.freedesktop.Hal.Device.SystemPowerManager is not locked by you
aus. Wobei ich das ganze auch nochmal mit AquireGlobalInterfaceLock bzw. ReleaseGlobalInterfaceLock probiert habe (jeweils mit '...' und "..." und ohne) . Mit dem gleichen Ergebnis.
Das Einzige was ich sonst noch dazu sagen kann ist, dass
dbus-send --system --print-reply --dest=org.freedesktop.Hal /org/freedesktop/Hal/devices/computer org.freedesktop.Hal.Device.AcquireInterfaceLock string:"org.freedesktop.Hal.Device.Storage" boolean:true
für die Speichergeräte funktioniert. Siehe
hakaishi@hakaishi-desktop:~$ gparted
error: libhal_acquire_global_interface_lock: org.freedesktop.Hal.Device.InterfaceAlreadyLocked: The interface org.freedesktop.Hal.Device.Storage is already exclusively locked either by someone else or it's already locked by yourself
wobei ein
dbus-send --system --print-reply --dest=org.freedesktop.Hal /org/freedesktop/Hal/devices/computer org.freedesktop.Hal.Device.ReleaseInterfaceLock string:"org.freedesktop.Hal.Device.Storage"
die Sperre nicht behebt... siehe
Error org.freedesktop.Hal.Device.InterfaceNotLocked: The interface org.freedesktop.Hal.Device.Storage is not locked by you
Vielleicht bin ich ja einfach zu blöd das Offensichtlichste zu sehen...
*PLEASE, HELP ME!*

Gruß
Hakaishi

Verfasst: 3. Juli 2010 00:03
von Selur
Mittlerweile ne Lösung gefunden?

Hab auch das Problem, dass ich unter Linux gerne den StandBy verhindern würde während mein Programm läuft und bis dato nur eine Windows Lösung. :(


Cu Selur

Verfasst: 3. Juli 2010 09:19
von hakaishi
Selur hat geschrieben:Mittlerweile ne Lösung gefunden?
Leider nein...

Ich habe zwar für Gnome was entdeckt, aber als ich es das letzte Mal versucht habe, hatte es nicht funktioniert. :(
Bei "gnome-screensaver-command --help" steht:

Code: Alles auswählen

 gnome-screensaver-command [OPTION ...]

[...]

-p, --poke                        Den laufenden Bildschirmschonerprozess anstoßen, um Benutzeraktivität zu simulieren
-i, --inhibit                       Verhindern, dass der Bildschirmschoner aktiviert wird. Befehl wird bei aktiver Sperre blockiert.
-n, --application-name     Die Anwendung, die den Bildschirmschoner unterdrückt
Gruß, Hakaishi

Verfasst: 3. Juli 2010 22:50
von Selur
Schade. :(

Verfasst: 5. Juli 2010 09:59
von RHBaum
wird unter linux das ned alles ueber den acpid gesteuert ?
die frage ist, wenn der direkt ueber hardware (notebook zuklappen) den standby verordnet bekommt, wie sinnvoll ist es, das zu verhindern ?
Stell dir mal vor du hasst andere Hardware dran, z.b. ne usv, die meint das sie demnaechst vorrübergehend nimmer so viel strom bringen kann und den rechner in den suspend schickt ...

weiss ned ob es sinnvoll ist, das nen prog sowas verhindern koennte ...
vor allem muesste das prog dann scho paar privilegien haben ...

Ciao ...