2015-08-28 72 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