在 Cinnamon 2.8.6 中更改桌面背景图像

在 Cinnamon 2.8.6 中更改桌面背景图像

我正在使用 Cinnamon 2.8.6 和 ubuntu 16.04。我需要将特定图像设置为桌面背景。但是经过谷歌搜索,我使用以下命令找到了解决方案:

gsettings set org.gnome.desktop.background show-desktop-icons false
gsettings set org.gnome.desktop.background picture-uri file:///home/techy/Downloads/desktop_bg.jpg 
gsettings set org.gnome.desktop.background show-desktop-icons true
gsettings set org.gnome.desktop.background show-desktop-icons false 

此后,背景发生了变化。但我不明白哪个包负责执行此更改?脚本实际上是如何工作的?还有其他方法可以从终端执行此操作吗?

答案1

要了解这些命令的作用,让我们跟踪一下线索。

  1. man gsettings

    GSettings 配置工具

    但是“GSettings”是什么?

  2. https://wiki.gnome.org/HowDoI/GSettings我发现:

    GSettings 是管理应用程序设置的好方法。

    好的,这样稍微好一点,因为它描述了高层的目的,但仍然非常模糊。

  3. 我们回到man gsettings。该命令的用法gsettings set描述如下:

    gsettings set SCHEMA [:PATH] KEY VALUE

    因此,GSettings 似乎是某种具有分层键模式的键值存储。

    总而言之,命令

    gsettings set org.gnome.desktop.background picture-uri file:///home/techy/Downloads/desktop_bg.jpg
    

    将把值分配给属于架构的file:///home/techy/Downloads/desktop_bg.jpg键。picture-uriorg.gnome.desktop.background

  4. 现在,当(重新)分配该值时会发生什么?这是另一个gsettings命令:

    monitor SCHEMA [:PATH] [KEY]

    监视KEY更改并打印更改的值。如果未KEY指定,则监视架构中的所有键。监视将持续到进程终止。

    因此应用程序可以监视模式和密钥的变化。

    显然,负责绘制桌面背景壁纸的进程会监视此键,并通过绘制值中引用的文件中的图像来对更改做出反应picture-uri。通常,桌面环境的桌面合成器负责此操作。在您的情况下,桌面合成器是 Cinnamon,但其他人可能有 Gnome Shell、MATE 或 Unity。

相关内容