python 3.6.9锁屏

2024-05-16 13:13:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用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') 编辑:并使用subprocess.run(), 不要使用breaksleep

那么我如何用python3锁定屏幕呢? 也许我遗漏了什么,或者我的命令不好

这里是我的ubuntu版本信息:

Distributor ID: Ubuntu
Description:    Ubuntu 18.04.5 LTS
Release:    18.04
Codename:   bionic

Tags: orgimportsendlock屏幕ostypecall