如何通过以 root 身份运行的脚本设置桌面背景?

如何通过以 root 身份运行的脚本设置桌面背景?

我正在编写一个脚本来挂载可移动驱动器,然后将桌面背景设置为该驱动器上的文件。该脚本需要以 root 身份运行才能使用 cryptsetup 和 mount。但是当脚本以 root 身份运行时,我无法让 gsettings 工作以设置桌面背景。

如果我只是gsettings set org.gnome.desktop.background picture-uri file:///path/to/image.jpg在脚本中写入,意味着 gsettings 也以 root 身份运行,什么也不会发生。

如果我改写sudo -u username gsettings set org.gnome.desktop.background picture-uri file:///path/to/image.jpg,以便 gsettings 以用户名运行,则脚本将失败并出现以下错误:

(process:#####): dconf-CRITICAL **: unable to create file '/home/username/.cache/dconf/username': Permission denied.  dconf will not work properly.

那么,如何才能使以 root 身份运行的脚本中的 gsettings 起作用?

相关内容