我希望我的孩子只使用电脑 30 分钟,此时我希望屏幕被锁定。此时,如果我选择再次解锁屏幕,我希望屏幕在 30 分钟后再次锁定。
我怎样才能写一个脚本来做到这一点?
要从命令行锁定屏幕(在 ubuntu 上),我可以使用命令
gnome 屏保命令 -l
但是如何在解锁 30 分钟后激活此命令?
我希望我的孩子只使用电脑 30 分钟,此时我希望屏幕被锁定。此时,如果我选择再次解锁屏幕,我希望屏幕在 30 分钟后再次锁定。
我怎样才能写一个脚本来做到这一点?
要从命令行锁定屏幕(在 ubuntu 上),我可以使用命令
gnome 屏保命令 -l
但是如何在解锁 30 分钟后激活此命令?
谢谢你的评论,这很有帮助。这是我在 python 2.x 中提出的解决方案:
import gobject, dbus, time, subprocess
from dbus.mainloop.glib import DBusGMainLoop
time.sleep(30*60)
subprocess.Popen(["gnome-screensaver-command", "-l"])
def lock_status(bus, message):
if message.get_member() != "EventEmitted":
return
args = message.get_args_list()
if args[0] == "desktop-unlock":
time.sleep(30*60)
subprocess.Popen(["gnome-screensaver-command", "-l"])
DBusGMainLoop(set_as_default=True)
bus = dbus.SessionBus()
bus.add_match_string("type='signal',interface='com.ubuntu.Upstart0_6'")
bus.add_message_filter(lock_status)
gobject.MainLoop().run()