ac_desktop_profile==on
Это, на сколько я понимаю, как раз директива реагировать(срабатывать) на событие - в данном случае вход в доменный профиль, верно?
Если этого условия не будет, шаблон будет выполняться при любом событии.
где можно посмотреть список возможных “событий” для шаблонов?
Все события расписаны в README-файлах /var/lib/layman/calculate/profiles/templates/3.1/
ini(office.hotkeys)==
"ini()":/main/ru/calculate_utilities_templates
- функция, при помощи которой шаблоны могут сохранять свои настройки. При настройке профиля пользователя, функция по умолчанию сохраняет значения в файле ~/.calculate/ini.env
, при настройке системы - в /etc/calculate/ini.env
. Благодаря функции ini()
мы избавляемся от необходимости заводить большое кол-во переменных. Через функцию шаблоны сами могут создавать свои переменные, которые могут полноценно участвовать в условных выражениях. После объявления, переменные функции становятся доступны для всех шаблонов.
Чтобы отслеживать изменения, а также иметь возможность управлять процессом обновления настроек, шаблоны учитывают все выполненные настройки. См. файл '~/.calculate/ini.env'
. Вверху этого файла выписаны пути к шаблонам, редактирующим этот файл. Поскольку файл имеет samba-подобный формат, менять значения можно не только при помощи функции ini()
, но и непосредственно шаблоном. В этом случае будет храниться история правок. В текущей реализации утилит, записанные утилитой ini()
значения не комментируются.
Вы можете запретить обновление одного или всех пакетов сразу, отредактировав:
[main]
update = off
При этом вся логика этих действий ложится не на утилиты, а на конкретную реализацию шаблонов.
Для ваших локальных шаблонов удобно хранить значения в отдельной секции [office]
. В примере я не использую аналога [update]
, где хранятся имена программ для возможности указать запрет на дальнейшие обновления конкретной программы, а использую только проверку глобальной переменной main.update
.
Чтобы уложиться в формат одного файла, я использую возможность сохранять значения при помощи функции, для этого в теле шаблона использую вызов #-ini()-#
. Функция только сохраняет значение ничего не возвращая.
В итоге программа будет настроена только при первом входе в сеанс.
Тестировать можно при помощи cl-desktop
. Пример вызовая для версии 3.1.1:
cl-desktop --locate=remote --verbose=on LOGIN