总的来说,我是 Ubuntu/Python/Bash/Gnome 的新手,所以我仍然觉得我有可能做错了什么,但现在已经 3 天没有成功了......
这是脚本应该做的:
* [✓] 从 wallbase.cc 下载一张随机图片
* [✓] 将其保存到运行脚本的同一目录
* [x] 设为壁纸
有两次尝试使用不同的命令设置壁纸,但在脚本中都没有成功。有一个打印语句(从底部开始第二行)吐出正确的终端命令,因为我可以 C&P 打印结果并且它工作正常,它只是在脚本中执行时不起作用。
#!/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)
#attempt 1
settings = Gio.Settings.new("org.gnome.desktop.background")
settings.set_string("picture-uri", "file://" + os.getcwd() + "/" + pic_name)
settings.apply()
#attempt 2
bashCommand = "gsettings set org.gnome.desktop.background picture-uri file://" + os.getcwd() + "/" + pic_name
print bashCommand
os.system(bashCommand)
settings.apply()
请您参考如下方法:
您已成功更改设置,但仍未应用,请尝试下一步:
settings.apply()
设置“picture-uri”字符串后。
