Я пишу сценарий, чтобы смонтировать съемный диск и затем установить настольные предпосылки к файлу на том диске. Сценарий должен работать как корень, чтобы использовать cryptsetup и смонтироваться. Но когда сценарий работает как корень, я не могу заставить gsettings работать для установки настольного фона.
Если я просто пишу gsettings set org.gnome.desktop.background picture-uri file:///path/to/image.jpg
в сценарии, означая, что gsettings также выполняются как корень, ничего вообще не происходит.
Если вместо этого я пишу 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.
Таким образом, как я могу заставить gsettings работать из скрипта, запущенного как корень?