我正在尝试找出如何为所有用户更改 XFCE 默认背景壁纸系统。
但是,我无法找到如何对系统范围的设置执行此操作,无论是从命令行还是通过编辑某些配置文件?
谢谢
答案1
让我们将解决方案分为两部分:
找到保存设置的位置。合理的程序将其用户设置保存在 中的“点”文件中
$HOME
,通常位于 a.progname
(可以是具有更复杂配置的文件或目录)或下.config/
。 XFCE 使用后者,桌面设置存储在~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml
该文件的结构并不太简单,因为它可以处理多显示器设置、Xinerama 和许多其他东西。如果您想知道当前背景在您的特定情况下到底是什么样子,请搜索当前背景的文件名。
确保这些设置传播到新创建的用户帐户。在一个合理的系统上,这正是
/etc/skel
保存复制到新创建的用户帐户主目录中的文件的角色(参见例如hier(7)
手册页)。
因此,将文件(将前导目录复制到您的$HOME
)那里,就应该是这样。您可以巧妙地使用install
(在 Linux 上通常在 coreutils 包中找到)来创建所有所需的目录:
install -D -v \
{$HOME,/etc/skel}/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml
如果您还需要为现有用户更改此设置,sed
在大多数情况下,简单地使用现有文件可能会成功,但您必须解析配置 XML 以使其万无一失(著名 SO 帖子的强制链接)。