sudo-H-u没有按预期工作

sudo-H-u没有按预期工作

我正在编写一个脚本来设置一些特定的 gsettings。如果以用户身份执行该脚本,它会按预期工作。但是,由于某种原因,我需要我的脚本与 sudo 一起工作。

我发现的一个解决方案是sudo -u <username> -H ./script在用户空间中运行它。它执行时没有任何错误,但我的更改没有在用户空间中生效。

我不明白我在这里遗漏了什么。当我运行时,sudo -u <currentUser> -H bach -c `echo " $USER $UID"`它按预期工作并向用户提供值。

这可能是什么问题?

提前致谢!

答案1

原因是您没有使用dbus-launchgsettings 命令。

man dbus-launch

如果你运行,sudo -Hu user gsettings set org.gnome.desktop.background picture-uri '' 你会得到错误

administrator@pratap:~/Music$ sudo -Hu user gsettings set org.gnome.desktop.background picture-uri ''

(process:11889): dconf-WARNING **: 18:54:53.409: failed to commit changes to dconf: Error spawning command line “dbus-launch --autolaunch=454398a8b6e94accb53d9b7e5361faaa --binary-syntax --close-stderr”: Child process exited with code 1
administrator@pratap:~/Music$

在此处输入图片描述

在此处输入图片描述

在此处输入图片描述

在此处输入图片描述

相关内容