我試過這段代碼:如何在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中工作。 –
是的,我在終端上試過它不起作用 –