首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在python上使用gnome-screensaver command

在python上使用gnome-screensaver command
EN

Stack Overflow用户
提问于 2013-04-08 10:47:15
回答 3查看 982关注 0票数 0

我有以下代码来检查屏幕是否被锁定(使用gnome-screensaver)

代码语言:javascript
复制
gnome-screensaver-command -q | grep "is active"

通过这个链接,https://askubuntu.com/questions/17679/how-can-i-put-the-display-to-sleep-on-screen-lock有一个在shell脚本上使用它的代码。但是如何使用python中的代码呢?并将其存储在一个变量中,而不管它是否处于活动状态。

EN

回答 3

Stack Overflow用户

发布于 2013-08-01 05:29:21

您还可以通过D-Bus与gnome屏幕保护程序对话

代码语言:javascript
复制
import dbus

def screensaver_active():
    bus = dbus.SessionBus()
    screensaver = bus.get_object('org.gnome.ScreenSaver', '/')
    return bool(screensaver.GetActive())

variable = screensaver_active()
票数 2
EN

Stack Overflow用户

发布于 2018-10-12 13:18:43

代码语言:javascript
复制
import dbus

def screensaver_status():
    session_bus = dbus.SessionBus()
    screensaver_list = ['org.gnome.ScreenSaver',
                        'org.cinnamon.ScreenSaver',
                        'org.kde.screensaver',
                        'org.freedesktop.ScreenSaver']
    for each in screensaver_list:
        try:
            object_path = '/{0}'.format(each.replace('.', '/'))
            get_object = session_bus.get_object(each, object_path)
            get_interface = dbus.Interface(get_object, each)
            return bool(get_interface.GetActive())
        except dbus.exceptions.DBusException:
            pass

status = screensaver_status()
print(status)

这吸引了所有的屏幕保护程序,而不仅仅是Gnome。它也不会通过使用像这样的东西来阻止

代码语言:javascript
复制
*-screensaver-command
票数 2
EN

Stack Overflow用户

发布于 2013-04-08 14:16:29

您可以使用subprocess在Python语言中执行外壳命令,然后为is active行grep其标准输出:

代码语言:javascript
复制
def isScreenLocked():
    import subprocess
    com = subprocess.Popen(['gnome-screensaver-command', '-q'], stdout = subprocess.PIPE, stderr = subprocess.PIPE)
    return "is active" in com.communicate()[0]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15870493

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档