Xubuntu 16.04 – Установить фоновое изображение для всех пользователей (системное)

Вопрос или проблема

Я пытаюсь установить фоновое изображение для всех пользователей в системе на Xubuntu 16.04. Версия Xubuntu:

dpkg -l xubuntu-desktop
Предпочтение=Неизвестно/Установка/R=Удаление/P=Полное удаление/H=Удержание
| Статус=Не/Установлен/Конфигурирован/U=Распакован/полуКонфигурирован/
         Полу установлен/Триггер ожидания/Триггер зависимый
|/ Ошибка?=(нет)/R=Необходима переустановка (Статус, ошибка: БОЛЬШОЕ=плохо)
||/ Имя                                          Версия                     Архитектура                 Описание
+++-=============================================-===========================-===========================-===============================
ii  xubuntu-desktop                               2.206                       i386                        Система рабочего стола Xubuntu

Рабочая сессия – это

/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"?>

<!-- настройки по умолчанию -->
<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 (не системную по умолчанию!), переменная 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

Держите в курсе, если это сработает.

Где я ошибаюсь?

Заранее спасибо

Мои проблемы, вероятно, возникли из-за использования gdm3.

Как указано здесь, значение переменной XDG_CONFIG_DIRS зависит от используемого .desktop файла в /usr/share/xsessions.

Поэтому для размещения глобальной конфигурации крайне важно, чтобы конфигурация была прочитана (логично..) и конфигурация была прочитана, когда она размещена в одном из путей, указанных в XDG_CONFIG_DIRS.

Решение:

  1. разместите конфигурацию (например, фон рабочего стола) в /etc/xdg/xdg-xubuntu/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml
    для фона рабочего стола необходимая строка следующая

Установите значение на путь к желаемому изображению. Весь файл конфигурации для меня выглядит следующим образом:

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

<!-- настройки по умолчанию -->
<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. Создайте ссылку на путь, где была сделана ваша конфигурация (/etc/xdg/xdg-xubuntu) к пути /etc/xdg/xdg-default, чтобы она вступила в силу, если вы выберете “системное по умолчанию” в gdm3

    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. Войдите снова

Исправьте меня, если что-то можно сделать лучше.

Ответ или решение

Установка фона рабочего стола для всех пользователей в Xubuntu 16.04

Введение

Если вы являетесь системным администратором или просто хотите установить однообразный фон рабочего стола для всех пользователей в Xubuntu 16.04, вы попали по адресу. В этой статье приводится пошаговое руководство по настройке системного фона рабочего стола, обеспечивающее нужный результат при использовании дисплейного менеджера gdm3 и среды рабочего стола XFCE.

Предпосылки

Убедитесь, что ваш Linux-дистрибутив обновлен до последней версии, так как это может скрывать потенциальные баги. Запустите следующие команды, чтобы обновить систему:

sudo apt update
sudo apt upgrade

Системный блог

Чтобы фон рабочего стола был установлен глобально для всех пользователей, необходимо внести изменения в конфигурационный файл xfce4-desktop.xml. Этот файл управляет параметрами рабочего стола XRDE. Основная проблема заключается в том, что пользовательские настройки, хранящиеся в папке ~/.config/xfce4, могут перезаписывать системные конфигурации.

Этап 1: Настройка глобального фона

  1. Откройте файл конфигурации для редактирования:

    sudo nano /etc/xdg/xdg-xubuntu/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml
  2. Вставьте настройки для фона рабочего стола. Полный пример файла может выглядеть следующим образом:

    <?xml version="1.0" encoding="UTF-8"?>
    <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>
     </property>
    </channel>

Убедитесь, что указанный в last-image путь к изображению существует на вашей системе.

Этап 2: Обновление переменной окружения XDG_CONFIG_DIRS

Чтобы сделать ваши настройки доступными для всех пользователей, включите путь к созданному файлу конфигурации в переменной окружения XDG_CONFIG_DIRS.

  1. Создайте символическую ссылку, выполнив команду:

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

Этап 3: Отмена локальных настроек пользователей

Чтобы глобальные настройки имели приоритет, удалите локальную конфигурацию:

rm -rf ~/.config/xfce4

Этап 4: Перезагрузка и проверка

После выполненных настроек вам необходимо выйти из системы и войти снова, чтобы изменения вступили в силу.

Заключение

Следуя инструкциям, вы сможете установить фон рабочего стола для всех пользователей в Xubuntu 16.04. Это займет всего несколько минут и поможет создать единый стиль оформления для всех пользователей системы. Если у вас возникли вопросы, не стесняйтесь задавать их в комментариях!

Оцените материал
Добавить комментарий

Капча загружается...