【发布时间】:2013-02-13 12:57:26
【问题描述】:
如何防止系统(在我的应用程序打开时)挂起? (Linux - Ubuntu 10.04)如果仅通过 python 无法实现,可能是一些 Bash、C 命令/库?
【问题讨论】:
如何防止系统(在我的应用程序打开时)挂起? (Linux - Ubuntu 10.04)如果仅通过 python 无法实现,可能是一些 Bash、C 命令/库?
【问题讨论】:
在python中
import dbus
_session_bus = dbus.SessionBus()
_dbus_screensaver = _session_bus.get_object('org.freedesktop.ScreenSaver','/ScreenSaver')
simulate_activity = _dbus_screensaver.get_dbus_method('SimulateUserActivity','org.freedesktop.ScreenSaver')
simulate_activity()
在 bash 中:
qdbus org.freedesktop.ScreenSaver /ScreenSaver org.freedesktop.ScreenSaver.SimulateUserActivity
【讨论】:
xte 模拟击键/鼠标移动
如果你想用 C 语言做,从这里开始:https://wiki.ubuntu.com/GnomePowerManagerInactiveSleep
【讨论】:
您可以将脚本添加到/etc/pm/sleep.d/,当您的应用程序运行时返回错误
#! /bin/sh
ps -e -o comm | grep -q application
if test $? -eq 0; then
exit 1
fi
当在进程列表中找到您的application 并且脚本退出并出现错误 (1) 时,暂停将中止。否则返回0 并继续挂起。
当然,您可以为您的应用程序使用任何其他测试。
【讨论】: