如何在解锁后30分钟锁定屏幕

时间:2016-01-01 18:52:05

标签: screen-lock chron

我希望我的孩子只能使用电脑30分钟,此时我希望屏幕被锁定。此时,如果我选择再次解锁屏幕,我希望屏幕再次锁定30分钟。

如何编写脚本来执行此操作?

要从命令行锁定屏幕(在ubuntu上),我可以使用命令

gnome-screensaver-command -l <​​/ p>

但如何在解锁后30分钟激活此命令?

1 个答案:

答案 0 :(得分:0)

感谢您的评论,这有帮助。这是我提出的解决方案,在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()