gsettings 命令行工具不会更改背景

use*_*330 2 command-line desktop-background

过去半年我一直在使用elementary os,现在我已经在我的系统上安装了最新的Ubuntu。在基本操作系统上,我使用此命令来更改桌面背景:

gsettings set org.gnome.desktop.background picture-uri file:///path_to_image
Run Code Online (Sandbox Code Playgroud)

然而,这个命令在Ubuntu中似乎没有做任何事情。我可以通过在“外观”菜单中选择不同的图像来更改背景,但我需要从脚本更改背景,因此需要工作命令。

在终端中运行上述命令时不会产生错误。如果我运行 gsetting get 命令,它会返回它一直拥有的背景图像,就好像什么也没发生一样。它完全忽略我的设置命令。我尝试此命令的图像与默认提供的 /usr/share/backgrounds 图像中的图像相同。另外,我将整个后台文件夹(及其内容)的权限更改为每个人都可读可写,但无济于事。

我尝试注销并重新登录,看看它是否会对背景产生任何更改,但什么也没有发生,即使发生了,我也不想每次背景更改时都重新登录......

进行在线搜索没有结果。

感谢您的时间!

mur*_*uru 7

gsettings如果无法写入设置,显然会成功退出:

$ chmod a-w .config/dconf/ -R
$ gsettings set org.gnome.desktop.background picture-uri file:///usr/share/backgrounds/Forever_by_Shady_S.jpg
$ echo $?
0
Run Code Online (Sandbox Code Playgroud)

这要么是极其糟糕的设计,要么是一个错误。确保该~/.config/dconf文件夹及其中的所有内容可写并且归您所有:

sudo chown $USER:$USER ~/.config/dconf -R
chmod u+w ~/.config/dconf -R
Run Code Online (Sandbox Code Playgroud)