我试过这段代码:如何在Ubuntu 14.04使用Python(使用Unity)使用更改桌面壁纸
import os
os.system("gsettings set org.gnome.desktop.background picture-uri file:///home/user/Pictures/wallpapers/X")
其中user
是我的名字,X
是图片。
但不改变背景到给定的图片,它设置默认的Ubuntu壁纸。
我在做什么错?
我试过这段代码:如何在Ubuntu 14.04使用Python(使用Unity)使用更改桌面壁纸
import os
os.system("gsettings set org.gnome.desktop.background picture-uri file:///home/user/Pictures/wallpapers/X")
其中user
是我的名字,X
是图片。
但不改变背景到给定的图片,它设置默认的Ubuntu壁纸。
我在做什么错?
首先,确保文件路径是正确的。在终端执行此行:
ls /home/user/Pictures/wallpapers/X
该文件是否列出?如果是这样,请继续下一步。
确保您知道gsettings
命令的位置。在终端中,运行:
which gsettings
这应该会得到您的完整路径gsettings
。如果没有显示任何内容,则包含gsettings
的目录不在your $PATH
variable中。
假设路径是/usr/bin/gsettings
。 尝试在终端执行这样的:
/usr/bin/gsettings set org.gnome.desktop.background picture-uri /home/user/Pictures/wallpapers/X
如果它的工作原理,传递相同的字符串os.system()
:
import os
os.system("/usr/bin/gsettings set org.gnome.desktop.background picture-uri /home/user/Pictures/wallpapers/X")
试试这个:
import os
os.system("gsettings set org.gnome.desktop.background picture-uri file:/home/user/Pictures/wallpapers/picture_name")
试试这个:
import subprocess
subprocess.Popen("DISPLAY=:0 GSETTINGS_BACKEND=dconf /usr/bin/gsettings set org.gnome.desktop.background picture-uri file://{0}".format(picture_path), shell=True)
即使在cron中使用它也会起作用。我写了一个脚本,下载bing图像,然后设置为壁纸。
,你也可以尝试下面的命令:
feh --bg-fill picture_path
hsetroot -extend picture_path
要设置特定的墙纸,该命令是:
gsettings set org.gnome.desktop.background picture-uri 'file:///home/user/Pictures/wallpapers/apple.jpg'
的命令来查看(得到)是什么当前壁纸:
gsettings get org.gnome.desktop.background picture-uri
当我在python中运行它时,输出为0但没有任何事发生 –
您是否在命令行上尝试过?如果它在那里工作,它应该在Python中工作。 –
是的,我在终端上试过它不起作用 –