0
#!/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 由于某种原因没有正确处理请求。

谢谢!

编辑完整脚本: http: //pastebin.com/bUKYYrn1

4

1 回答 1

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")
于 2014-09-24T13:40:03.370 回答