我试图用“gnome screensaver command”锁定ubuntu服务器的屏幕,然后按回车键解锁。当我手动执行时,它工作得很好,因此考虑使用Python子流程模块将其自动化
我面临的问题是,它锁定了屏幕,并且在计时器过期后,回车键(“echo-ne\n”,知道这可以通过CLI发送回车)没有发生
下面是代码片段
import subprocess
import time
cmd = subprocess.call(["/usr/bin/gnome-screensaver-command", "-l"])
time.sleep(10)
subprocess.call(["echo", "-ne", "\n"])
尝试了另一种方法:
#******THIS METHOD IS NOT LOCKING THE SCREEN AT ALL*******
cmd = subprocess.Popen(["/usr/bin/gnome-screensaver-command", "-l"], stdin = subprocess.PIPE, shell=True)
time.sleep(10)
cmd.communicate(input="\n")
按照我的要求应该怎么做
问题是屏幕保护程序读取键盘而不是通过标准输入过程
将键盘事件发送到桌面(也许)是可行的。有一些程序(比如Windows上的
caffeine
)这样做是为了防止屏幕保护程序被激活,但是让我提出一个不涉及键盘事件的可移植的替代方案:像这样:
相关问题 更多 >
编程相关推荐