我想用python做一个简单的脚本,当键"c";按下。当我运行时:
$ python3
import os
os.popen("dbus-send --type=method_call --dest=org.gnome.ScreenSaver /org/gnome/ScreenSaver org.gnome.ScreenSaver.Lock")
它是有效的,但当我做一个简单的循环时,命令不会锁定我的屏幕,只是用一个未使用的窗口交换我的桌面。
import os
import keyboard
if __name__ == "__main__":
while(True):
if keyboard.is_pressed('c'):
os.popen("dbus-send --type=method_call --dest=org.gnome.ScreenSaver /org/gnome/ScreenSaver org.gnome.ScreenSaver.Lock")
我已经尝试过os.popen('gnome-screensaver-command --lock')
edit:使用CCD_ 2,对不使用break
或sleep
那么,我如何用python3锁定屏幕呢?也许我遗漏了什么,或者指挥不好。
这里是我的ubuntu版本信息:
Distributor ID: Ubuntu
Description: Ubuntu 18.04.5 LTS
Release: 18.04
Codename: bionic
我终于找到了一些i3lock的解决方案你在这里找到了i3lock[1]
并使用类似:subprocess.run("i3lock")
[1] :https://i3wm.org/i3lock/