我制作了一个自动壁纸更改脚本,可以在一台计算机上运行但不能在另一台计

时间:2012-08-28 01:16:31

标签: python shell gnome-3

我的标题可能有点误导,因为我实际上无法访问工作计算机,因此我无法验证它是否真的在另一台计算机上工作,但有人通过IM告诉我它可以在他们的计算机上运行,但它对我不起作用。

这是脚本,它只使用python 2.7.3并使用bash wget并设置背景。

#!/usr/bin/env python
import urllib2
import os
from gi.repository import Gio

response = urllib2.urlopen("http://wallbase.cc/random/12/eqeq/1366x768/0.000/100/32")
page_source = response.read()
thlink_pos = page_source.find("ico-X")
address_start = (page_source.find("href=\"", thlink_pos) + 6)
address_end = page_source.find("\"", address_start + 1)

response = urllib2.urlopen(page_source[address_start:address_end])
page_source = response.read()

bigwall_pos = page_source.find("bigwall")
address_start = (page_source.find("src=\"", bigwall_pos) + 5)
address_end = page_source.find("\"", address_start + 1)

address = page_source[address_start:address_end]

slash_pos = address.rfind("/") + 1

pic_name = address[slash_pos:]

bashCommand = "wget " + page_source[address_start:address_end]
os.system(bashCommand)

print "Does my new image exists?", os.path.exists(os.getcwd() + "/" + pic_name)

settings = Gio.Settings.new("org.gnome.desktop.background")
settings.set_string("picture-uri", "file://" + os.getcwd() + "/" + pic_name)

对我来说,一切正常,HTML被解析,图像被正确下载,图像路径被验证,但没有图像变化。我使用双显示器,这是我唯一能想到的。我不使用任何特殊配置。我也在使用最新的beta nvidia驱动程序,不要认为这很重要。我也用compiz。 Ubuntu 12.04 x86。

gsettings get org.gnome.desktop.background picture-uri

该行也正确返回正确的壁纸图片。

0 个答案:

没有答案