Данная статья применима к:
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7), РУСБ.10015-10, РУСБ.10015-17
- Astra Linux Special Edition РУСБ.10015-37 (очередное обновление 7.7)
- Astra Linux Special Edition РУСБ.10015-03 (очередное обновление 7.6)
- Astra Linux Special Edition РУСБ.10152-02 (очередное обновление 4.7)
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)
- Astra Linux Special Edition РУСБ.10015-16 исп. 1 и исп. 2
- Astra Linux Special Edition РУСБ.10265-01 (очередное обновление 8.1)
- Astra Linux Common Edition 2.12
См. уточнения по применимости в статье.
Принудительное обновление пользовательских конфигурационных файлов при входе пользователя
Для того, чтобы при каждом входе пользователя пользовательская конфигурация автоматически перезаписывалась конфигурацией, заданной администратором системы, указать в первой строке файлов в каталоге /usr/share/fly-wm/ параметр:
;update
Файлы в которых указан этот параметр будут заменять соответствующем пользовательские файлы при входе пользователя в графическую сессию.
Принудительное обновление отдельных параметров пользовательских конфигурационных файлов при входе пользователя
Задаваемые администратором параметры конфигурации оконного менеджера fly-wm могут быть указаны в файле /usr/share/fly-wm/theme.master/themerc. Синтаксис указания параметров такой же, как и в основных конфигурационных файлах. Например:
[Variables] ScreenSaverDelay=600
Параметры, заданные таким способом, заменяют соответствующие параметры, заданные пользователем. При этом действует следующий механизм:
- При запуске пользовательской графической сессии выполняется чтение пользовательских конфигурационных файлов;
- После чтения пользовательских конфигурационных файлов проверяется наличие файла /usr/share/fly-wm/theme.master/themerc и секции [Variables] в этом файле. Если секция обнаружена, то считываются определенные в ней параметры, значения которых переопределяют значения одноименных параметров из секций [Variables] считанных ранее пользовательских конфигураций;
- Для наблюдения за изменениями файла /usr/share/fly-wm/theme.master/themerc включается монитор изменений, использующий механизм inotify. Если файла нет, то монитор появления новых файлов устанавливается на на каталог /usr/share/fly-wm/theme.master/. При этом каталог может быть разделяемым сетевым ресурсом, монтирующимся на всех компьютерах организации при их загрузке;
- Когда файл /usr/share/fly-wm/theme.master/themerc изменяется (или появляется, если его не было), срабатывает механизм мониторинга, файл считывается, после чего переменные из этого файла применяются к текущим графическим сессиям всех пользователей.
Пользователь не может переопределить параметры, заданные в файле /usr/share/fly-wm/theme.master/themerc. Если этот файл стереть или запретить его чтение (что также отслеживается в реальном времени), то пользователи смогут менять все свои параметры используя инструменты fly-admin-theme и fly-wmfunc FLYWM_UPDATE_VAL. При этом утилита fly-admin-theme отслеживает параметры, заданные в /usr/share/fly-wm/theme.master/themerc, и показывает их пользователю как недоступные для изменений, не позволяя их изменять и применять.
Выборочное обновление значений отдельных параметров пользовательских конфигурационных файлов при входе пользователя
Для выборочного обновления значений параметров создать файлы с обновляемыми параметрами в каталоге /usr/share/fly-wm/theme.update/. Если дата модификации такого файла новее чем дата модификации файла c таким же именем из пользовательского каталога ~/.fly/[theme/], то при входе пользователя в графическую сессию параметры в пользовательском файле будут перезаписаны параметрами соответствующего файла из каталога /usr/share/fly-wm/theme.update/. При этом сохраняется возможность дальнейшей модификации пользовательской конфигурации самим пользователем с сохранением изменений до следующего обновления.
Пример файла, выполняющего замену "обоев" графической сессии. Замена выполняется путем изменения каталога, в котором размещаются обои. Файл /usr/share/fly-wm/theme.update/current.themerc:
[Variables] WallPaper="<полный_путь_к_новому_каталогу>"
Данный механизм предназначен для обновления отдельных пользовательских параметров при обновлении пакета fly-wm, а также может быть использован по усмотрению администратора.