在拍摄静态图片时启动屏幕保护程序

在拍摄静态图片时启动屏幕保护程序

我有一个连接到等离子电视的 Ubuntu 盒子。静止图像会缩短等离子电视的使用寿命,并可能导致像素烧坏。我正在寻找一种技术,当显示器上的画面静止一段时间时启动屏幕保护程序,但如果画面移动,则阻止屏幕保护程序。这是我的一段不起作用的 Python 代码,但任何使用 Python 或其他方法的解决方案对我来说都很好:

import gtk.gdk
import time
from subprocess import *

w = gtk.gdk.get_default_root_window()
sz = w.get_size()

while (True):
    buf1 = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB,False,8,sz[0],sz[1])
    pb1 = buf1.get_from_drawable(w,w.get_colormap(),0,0,0,0,sz[0],sz[1])
    time.sleep(3)
    buf2 = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB,False,8,sz[0],sz[1])
    pb2 = buf2.get_from_drawable(w,w.get_colormap(),0,0,0,0,sz[0],sz[1])

    pix1 = pb1.get_pixels()
    pix2 = pb2.get_pixels()
    diffs = 0
    for i in range(len(pix1)):
        if(pix1[i] != pix2[i]):
            diffs = diffs + 1
    if(diffs > 10000):
        call(["xset", "dpms", "force", "on"])
        call(["gnome-screensaver-command", "--exit"])

相关内容