![在拍摄静态图片时启动屏幕保护程序](https://linux22.com/image/837270/%E5%9C%A8%E6%8B%8D%E6%91%84%E9%9D%99%E6%80%81%E5%9B%BE%E7%89%87%E6%97%B6%E5%90%AF%E5%8A%A8%E5%B1%8F%E5%B9%95%E4%BF%9D%E6%8A%A4%E7%A8%8B%E5%BA%8F.png)
我有一个连接到等离子电视的 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"])