Xubuntu 16.04 - 为所有用户设置背景图像(系统范围)

Xubuntu 16.04 - 为所有用户设置背景图像(系统范围)

我正在尝试为 xubungu 16.04 上的所有用户设置系统范围的背景图像。Xubuntu 版本:

dpkg -l xubuntu-desktop
Gewünscht=Unbekannt/Installieren/R=Entfernen/P=Vollständig Löschen/Halten
| Status=Nicht/Installiert/Config/U=Entpackt/halb konFiguriert/
         Halb installiert/Trigger erWartet/Trigger anhängig
|/ Fehler?=(kein)/R=Neuinstallation notwendig (Status, Fehler: GROSS=schlecht)
||/ Name                                          Version                     Architektur                 Beschreibung
+++-=============================================-===========================-===========================-===============================
ii  xubuntu-desktop                               2.206                       i386                        Xubuntu desktop system

已启动的会话是

/usr/bin/startxfce4

我知道,与用户相关的设置保存在~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml

我尝试引入下的设置/etc/xdg/xdg-xubuntu/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml,但它们没有效果。

如果我注销,删除整个~/.config/xfce4文件夹并再次登录,则用户相关的设置会被再次写入。

这些是当前写入的用户相关的默认值:

<?xml version="1.0" encoding="UTF-8"?>

<channel name="xfce4-desktop" version="1.0">
  <property name="backdrop" type="empty">
    <property name="screen0" type="empty">
      <property name="monitor0" type="empty">
        <property name="workspace0" type="empty">
          <property name="color-style" type="int" value="0"/>
          <property name="image-style" type="int" value="5"/>
          <property name="last-image" type="string" value="/usr/share/backgrounds/xfce/xfce-teal.jpg"/>
        </property>
        <property name="workspace1" type="empty">
          <property name="color-style" type="int" value="0"/>
          <property name="image-style" type="int" value="5"/>
          <property name="last-image" type="string" value="/usr/share/backgrounds/xfce/xfce-teal.jpg"/>
        </property>
        <property name="workspace2" type="empty">
          <property name="color-style" type="int" value="0"/>
          <property name="image-style" type="int" value="5"/>
          <property name="last-image" type="string" value="/usr/share/backgrounds/xfce/xfce-teal.jpg"/>
        </property>
        <property name="workspace3" type="empty">
          <property name="color-style" type="int" value="0"/>
          <property name="image-style" type="int" value="5"/>
          <property name="last-image" type="string" value="/usr/share/backgrounds/xfce/xfce-teal.jpg"/>
        </property>
      </property>
    </property>
  </property>
</channel>

在我看来,这一行具有正确的设置:

<property name="last-image" type="string" value="/usr/share/backgrounds/xfce/xfce-teal.jpg"/>

这就是我尝试设置它的方式/etc/xdg/xdg-xubuntu/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml

<?xml version="1.0" encoding="UTF-8"?>

<!-- default settings -->
<channel name="xfce4-desktop" version="1.0">
  <property name="desktop-icons" type="empty">
    <property name="style" type="int" value="2"/>
    <property name="file-icons" type="empty">
      <property name="show-home" type="bool" value="true"/>
      <property name="show-filesystem" type="bool" value="true"/>
      <property name="show-removable" type="bool" value="true"/>
      <property name="show-trash" type="bool" value="true"/>
    </property>
    <property name="icon-size" type="uint" value="48"/>
    <property name="tooltip-size" type="double" value="64.000000"/>
  </property>
  <property name="backdrop" type="empty">
    <property name="screen0" type="empty">
      <property name="monitor0" type="empty">
        <property name="image-path" type="string" value="/usr/share/xfce4/backdrops/xubuntu-wallpaper.png"/>
        <property name="image-style" type="int" value="5"/>
        <property name="image-show" type="bool" value="true"/>
        <property name="workspace0" type="empty">
           <property name="last-image" type="string" value="/usr/share/backgrounds/gnome/Terraform-green.jpg"/>
        </property>
      </property>
      <property name="monitor1" type="empty">
        <property name="image-path" type="string" value="/usr/share/xfce4/backdrops/xubuntu-wallpaper.png"/>
        <property name="image-style" type="int" value="5"/>
        <property name="image-show" type="bool" value="true"/>
      </property>
    </property>
  </property>
</channel>

以下搜索仅返回我自己设置全局背景的尝试:

find /etc -type f -exec grep last-image {} /dev/null \; 2> /dev/null
/etc/xdg/xdg-xubuntu/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml:           <property name="last-image" type="string" value="/usr/share/backgrounds/gnome/Terraform-green.jpg"/>

该线程引导我找到以下文件/etc/xdg/xdg-ubuntu

https://forum.xfce.org/viewtopic.php?id=6999

更新:

我注意到,如果我进行以下调整,我的设置就会生效:

cp /etc/xdg/xdg-xubuntu/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml /etc/xdg/xfce4/xfconf/xfce-perchannel-xml/

注意:该xfce4-desktop.xml文件在目标目录中不存在。

这一事实和此主题引导我到变量XDG_CONFIG_DIRS

echo $XDG_CONFIG_DIRS
/etc/xdg/xdg-default:/etc/xdg:/etc/xdg

注意:我使用 gdm3 作为会话管理器,并将系统默认值设置为startxfce4(如前所述)。我这样做是startxfce4因为/usr/share/xsessions/xubuntu.desktop

如果我直接选择xubuntu-Session(不是系统默认的!),变量XDG_CONFIG_DIRS设置如下:

echo $XDG_CONFIG_DIRS
/etc/xdg/xdg-xubuntu:/usr/share/upstart/xdg:/etc/xdg:/etc/xdg

我想使用系统默认值,所以我现在尝试的是

ln -sf /etc/xdg/xdg-xubuntu /etc/xdg/xdg-default

如果有效的话,请及时通知您。

我哪里做错了?

提前致谢

答案1

我的问题可能来自于使用 gdm3。

正如指出的那样这里,变量 XDG_CONFIG_DIRS 的值取决于 /usr/share/xsessions 下使用的 .desktop 文件。

因此,要放置全局配置,至关重要的是读取配置(逻辑..)并且在将配置放置在 XDG_CONFIG_DIRS 中命名的路径之一时读取配置。

解决方案:

  1. 放置配置(例如桌面背景)在/etc/xdg/xdg-xubuntu/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml 桌面背景下,必要的行是

将值设置为所需图像的路径整个配置文件如下所示:

<?xml version="1.0" encoding="UTF-8"?>

<!-- default settings -->
<channel name="xfce4-desktop" version="1.0">
  <property name="desktop-icons" type="empty">
    <property name="style" type="int" value="2"/>
    <property name="file-icons" type="empty">
      <property name="show-home" type="bool" value="true"/>
      <property name="show-filesystem" type="bool" value="true"/>
      <property name="show-removable" type="bool" value="true"/>
      <property name="show-trash" type="bool" value="true"/>
    </property>
    <property name="icon-size" type="uint" value="48"/>
    <property name="tooltip-size" type="double" value="64.000000"/>
  </property>
  <property name="backdrop" type="empty">
    <property name="screen0" type="empty">
      <property name="monitor0" type="empty">
        <property name="image-path" type="string" value="/usr/share/xfce4/backdrops/xubuntu-wallpaper.png"/>
        <property name="image-style" type="int" value="5"/>
        <property name="image-show" type="bool" value="true"/>
        <property name="workspace0" type="empty">
           <property name="last-image" type="string" value="/usr/share/backgrounds/gnome/Terraform-green.jpg"/>
        </property>
      </property>
      <property name="monitor1" type="empty">
        <property name="image-path" type="string" value="/usr/share/xfce4/backdrops/xubuntu-wallpaper.png"/>
        <property name="image-style" type="int" value="5"/>
        <property name="image-show" type="bool" value="true"/>
      </property>
    </property>
  </property>
</channel>
  1. 如果您在 gdm3 中选择了“系统默认” ,请将配置的路径 ( /etc/xdg/xdg-xubuntu) 链接到路径/etc/xdg/xdg-default,以使其生效

    ln -sf /etc/xdg/xdg-xubuntu /etc/xdg/xdg-default

  2. 如果您尚未强制执行设置(unlocked="root"向属性添加,(如下所示:

来源:https://forum.xfce.org/viewtopic.php?id=6999),然后确保用户设置不会覆盖它们。您可以注销并执行

rm ~/.config/xfce4
  1. 重新登录

如果有什么可以做得更好的,请纠正我。

相关内容