无法使用python(2.7.3),bash和gnome3设置背景图像

时间:2012-08-27 17:29:09

标签: python bash

#!/usr/bin/env python
import os
bashCommand = "gsettings set org.gnome.desktop.background picture-uri file:///home/{me}/autowallpaperchanger/" + pic_name
print bashCommand
os.system(bashCommand)

打印结果:

gsettings set org.gnome.desktop.background picture-uri file:///home/{me}/autowallpaperchanger/wallpaper-1252048.jpg

将打印结果复制并粘贴到终端中会使更改成功,因此命令正确,但是os.system由于某种原因没有正确处理请求。

谢谢!

EDIT 完整脚本: http://pastebin.com/bUKYYrn1

1 个答案:

答案 0 :(得分:1)

使用原始字符串。

#!/usr/bin/env python
import os
bashCommand = r"gsettings set org.gnome.desktop.background picture-uri file:///home/{me}/autowallpaperchanger/" + pic_name
print bashCommand
os.system(bashCommand)

在python中正确的做法是

from gi.repository import Gio

SCHEMA = 'org.gnome.desktop.background'
KEY = 'picture-uri'

def change_background(filename):
    gsettings = Gio.Settings.new(SCHEMA)
    gsettings.set_string(KEY, "file://" + filename)
    gsettings.apply()

if __name__ == "__main__":
    change_background("/home/{me}/autowallpaperchanger/pic_name")