dconf-WARNING **:无法提交对dconf的更改:给定的地址为空

所以我得到了这个脚本change_wallpaper ,基于这样的答案: 在某个小时自动更改Ubuntu壁纸并通过cron运行它。

 # For changing wallpaper at a certain time */1 6,7,8,9,10,11,12,13,14,15,16,17 * * * /home/zero/.bin/change_wallpaper '/home/zero/Pictures/Wallpapers/dawn.jpg' */1 18,19,20,21,22,23,0,1,2,3,4,5 * * * /home/zero/.bin/change_wallpaper '/home/zero/Pictures/Wallpapers/dusk.jpg' 

总之,每次启动我的Ubuntu时,如果是早上,它必须将壁纸更改为dawn.jpg ,如果是晚上则必须将壁纸更改为dawn.jpg

change_wallpaper

 #!/bin/bash -e user=$(whoami) fl=$(find /proc -maxdepth 2 -user "$user" -name environ -print -quit) for i in {1..5} do fl=$(find /proc -maxdepth 2 -user "$user" -name environ -newer "$fl" -print -quit) done export DBUS_SESSION_BUS_ADDRESS DBUS_SESSION_BUS_ADDRESS=$(grep -z DBUS_SESSION_BUS_ADDRESS "$fl" | cut -d= -f2-) IMG=$1 gsettings set org.gnome.desktop.background picture-uri "'file://${IMG}'" 

有一次,我注意到cron脚本不再工作了,所以我试着手动运行它。 然后我注意到了这个错误。

 zero@zerosystem:~$ /home/zero/.bin/change_wallpaper /home/zero/Pictures/Wallpapers/dawn.jpg (process:5420): dconf-WARNING **: failed to commit changes to dconf: The given address is empty 

为什么是这样? 我还注意到每次运行时都有不同的进程号,即(process:5420)