#!/usr/bin/env python
import os
bashCommand = "gsettings set org.gnome.desktop.background picture-uri file:///home/malon/autowallpaperchanger/" + pic_name
print bashCommand
os.system(bashCommand)
Run Code Online (Sandbox Code Playgroud)
打印结果:
gsettings set org.gnome.desktop.background picture-uri file:///home/malon/autowallpaperchanger/wallpaper-1252048.jpg
Run Code Online (Sandbox Code Playgroud)
将打印结果复制并粘贴到终端中会使更改成功,因此命令是正确的,但os.system由于某种原因没有正确处理请求。在完整的脚本(在下面发布)中,我os.system在 (wget) 之前出于不同的原因使用,并且效果很好。
完整脚本在这里。
删除所有os.system与subprocess东西。只需使用 Gio/gsettings API,就像这样:
from gi.repository import Gio
settings = Gio.Settings.new("org.gnome.desktop.background")
settings.set_string("picture-uri", "file:///path/to/image.png")
Run Code Online (Sandbox Code Playgroud)