2015-08-28 62 views

回答

2

首先,确保文件路径是正确的。在终端执行此行:

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") 
+1

当我在python中运行它时,输出为0但没有任何事发生 –

+0

您是否在命令行上尝试过?如果它在那里工作,它应该在Python中工作。 –

+0

是的,我在终端上试过它不起作用 –

0

试试这个:

import os 
os.system("gsettings set org.gnome.desktop.background picture-uri file:/home/user/Pictures/wallpapers/picture_name") 
1

试试这个:

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 
0

设置特定的墙纸,该命令是:

gsettings set org.gnome.desktop.background picture-uri 'file:///home/user/Pictures/wallpapers/apple.jpg' 

的命令来查看(得到)是什么当前壁纸:

gsettings get org.gnome.desktop.background picture-uri