Product SiteDocumentation Site

11.2.3. Пример для механизма Gsetting

Конфигурация DE Mate хранится в базе dconf, ключами которой управляет консольное приложение GSettings. Механизм gpupdate управляет ключами Gsettings и через них редактирует ключи dconf. На текущий день через ГП можно настраивать целый ряд параметров графической среды Mate — от фона рабочего стола до хранителя экрана. Можно также добавить новые политики для незадействованных ключей Gsettings.

Примечание

Посмотреть все доступные схемы Gsettings можно, выполнив команду:
$ gsettings list-schemas
Посмотреть все ключи Gsettings можно, выполнив команду:
$ gsettings list-recursively

Примечание

Ниже рассмотрен пример создания admx для ключа idle-delay схемы org.mate.session:
$ gsettings list-keys org.mate.session
gnome-compat-startup
show-hidden-apps
idle-delay
required-components-list
default-session
auto-save-session
logout-prompt
logout-timeout
session-start
$ gsettings get org.mate.session idle-delay
5
Ключ idle-delay позволяет управлять настройкой «Считать компьютер простаивающим через».
Пример создания новой политики для ключа idle-delay схемы org.mate.session:
  1. Создать файл MyGsettings.admx:
    <?xml version="1.0" encoding="utf-8"?>
    <policyDefinitions xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" revision="1.0" schemaVersion="1.0"
    xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">
      <policyNamespaces>
        <target prefix="gsettings" namespace="BaseALT.Policies.MyGsettings" />
        <using prefix="system" namespace="BaseALT.Policies.System" />
      </policyNamespaces>
      <resources minRequiredRevision="1.0" />
      <policies>
        <policy name="OrgMateSessionIdleDelayUser" class="User"
         displayName="$(string.org-mate-session-idle-delay)"
         explainText="$(string.org-mate-session-idle-delay_help)"
         key="Software\BaseALT\Policies\gsettings"
         presentation="$(presentation.OrgMateSessionIdleDelayUser-pr)">
         <parentCategory ref="system:ALT_Screensaver_Mate" />
           <supportedOn ref="system:SUPPORTED_AltP9" />
             <elements>
               <decimal id="OrgMateSessionIdleDelay_setter" valueName="org.mate.session.idle-delay"
               minValue="1" maxValue="2147483647" />
             </elements>
        </policy>
        <policy name="OrgMateSessionIdleDelayMachine" class="Machine"
         displayName="$(string.org-mate-session-idle-delay)"
         explainText="$(string.org-mate-session-idle-delay_help)"
         key="Software\BaseALT\Policies\gsettings"
         presentation="$(presentation.OrgMateSessionIdleDelayMachine-pr)">
         <parentCategory ref="system:ALT_Screensaver_Mate" />
         <supportedOn ref="system:SUPPORTED_AltP9" />
           <elements>
             <decimal id="OrgMateSessionIdleDelay_setter" valueName="org.mate.session.idle-delay"
             minValue="1" maxValue="2147483647" />
             <boolean id="OrgMateSessionIdleDelay_setter_blocker" key="Software\BaseALT\Policies\GSettingsLocks"
             valueName="org.mate.session.idle-delay">
               <trueValue>
                 <decimal value="1" />
               </trueValue>
               <falseValue>
                 <decimal value="0" />
               </falseValue>
             </boolean>
           </elements>
         </policy>
      </policies>
    </policyDefinitions>
    
  2. Создать файл ru-RU/MyGsettings.adml:
    <?xml version="1.0" encoding="utf-8"?>
    <policyDefinitionResources xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions"
    revision="1.0" schemaVersion="1.0">
      <displayName>Определения списка настроек рабочего окружения MATE</displayName>
        <description>Этот файл содержит определения настроек рабочего окружения MATE.</description>
        <resources>
          <stringTable>
            <string id="org-mate-session-idle-delay">Считать компьютер простаивающим через</string>
            <string id="org-mate-session-idle-delay_help">Устанавливает количество минут,
            по истечении которых компьютер будет считаться простаивающим.
    
    Опция «Блокировать» — (доступна только для машинной политики) запрещает изменение
    данной настройки пользователем. Блокировка политики делает её приоритетнее аналогичной политики для пользователя.
            </string>
        </stringTable>
        <presentationTable>
          <presentation id="OrgMateSessionIdleDelayUser-pr">
            <text>Количество минут, по истечении которого компьютер будет считаться простаивающим</text>
            <decimalTextBox refId="OrgMateSessionIdleDelay_setter" defaultValue="1">Время в минутах</decimalTextBox>
          </presentation>
          <presentation id="OrgMateSessionIdleDelayMachine-pr">
            <text>Количество минут, по истечении которого компьютер будет считаться простаивающим</text>
            <decimalTextBox refId="OrgMateSessionIdleDelay_setter" defaultValue="1">Время в минутах:</decimalTextBox>
            <checkBox refId="OrgMateSessionIdleDelay_setter_blocker">Блокировать</checkBox>
          </presentation>
        </presentationTable>
      </resources>
    </policyDefinitionResources>
    
  3. Создать файл en-US/MyGsettings.adml:
    <?xml version="1.0" encoding="utf-8"?>
    <policyDefinitionResources xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions"
    revision="1.0" schemaVersion="1.0">
      <displayName>MATE desktop configurations definitions</displayName>
        <description>This file contains the desktop MATE configurations definitions.</description>
        <resources>
          <stringTable>
            <string id="org-mate-session-idle-delay">Consider the computer idle after</string>
            <string id="org-mate-session-idle-delay_help">Sets the number of minutes after which the computer will be considered idle.
    
    The "Block" option — (available only for machine policy) prevents the user
    from changing this setting. Blocking a policy makes it a priority over a similar policy for the user.
            </string>
        </stringTable>
        <presentationTable>
          <presentation id="OrgMateSessionIdleDelayUser-pr">
            <text>Number of minutes after which the computer will be considered idle</text>
            <decimalTextBox refId="OrgMateSessionIdleDelay_setter" defaultValue="1">Time in minutes</decimalTextBox>
          </presentation>
          <presentation id="OrgMateSessionIdleDelayMachine-pr">
            <text>Number of minutes after which the computer will be considered idle</text>
            <decimalTextBox refId="OrgMateSessionIdleDelay_setter" defaultValue="1">Time in minutes:</decimalTextBox>
            <checkBox refId="OrgMateSessionIdleDelay_setter_blocker">Блокировать</checkBox>
          </presentation>
        </presentationTable>
      </resources>
    </policyDefinitionResources>
    
  4. Скопировать обновленные файлы admx/adml на машину с Windows RSAT или GPUI.
    В Windows RSAT:
    • файл MyGsettings.admx в каталог \\test.alt\sysvol\test.alt\Policies\PolicyDefinitions
    • файл ru-RU/MyGsettings.adml в каталог \\test.alt\sysvol\test.alt\Policies\PolicyDefinitions\ru-RU
    • файл en-US/MyGsettings.adml в каталог \\test.alt\sysvol\test.alt\Policies\PolicyDefinitions\en-US
    Windows RSAT автоматически проверит корректность этих файлов.
    В GPUI:
    • файл MyGsettings.admx в каталог /usr/share/PolicyDefinitions
    • файл ru-RU/MyGsettings.adml в каталог /usr/share/PolicyDefinitions/ru-RU
    • файл en-US/MyGsettings.adml в каталог /usr/share/PolicyDefinitions/en-US
  5. Проверить корректность кода, открыв редактор групповых политик — GPUI в «Альт» или RSAT в Windows.
    Проверка новой политики Gsettings в GPUI
  6. Если все корректно, скопировать обновленные файлы admx/adml на контроллер домена в сетевой каталог sysvol (/var/lib/samba/sysvol/<DOMAIN>/Policies/).