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が何らかの理由でリクエストを正しく処理していません。

ありがとうございました!

EDIT フルスクリプト: 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 に答える