Изменение конфигов при входе

Доброго времени суток. Пытаюсь осилить шаблоны, но выходит как-то не очень, по сему прошу помощи. Задача: при логине пользователя изменить системные переменные http_proxy. Для этого пытаюсь править шаблонами ~/.bashrc.
Создаю папку /var/calculate/remote/templates/bashrc/, в ней файл bashrc с содержимым:

export http_proxy="http://proxy-url:3128"
export https_proxy="http://proxy-url:3128"
export ftp_proxy="http://proxy-url:3128"
export HTTP_PROXY="http://proxy-url:3128"
export HTTPS_PROXY="http://proxy-url:3128"
export FTP_PROXY="http://proxy-url:3128"

и .calculate_directory

 # Calculate ac_desktop_profile==up path=~ name=.bashrc chmod=0755 chown=#-ur_login-#:#-ur_group-#

Но при логине пользователя ничего не происходит.
ЧЯДНТ?

Компьютер в домене CDS?

Да.

С событием ac_desktop_profile==up пока не подскажу, нет примера под рукой. У себя мы настраиваем по аналогии с шаблонами оверлея, отмечая в ~/.calculate/ini.env настроенный софт, чтобы в дальнейшем не править настройки при каждом входе.

1) В templates создайте директорию 3.1. Содержимое 3.1/.calculate_directory:

# Calculate cl_name==calculate-core&&cl_ver>=3.1.1 append=skip

Эта проверка нужна для исключения шаблонов из старых утилит, в частности calcuate-assemble. В будущем будет удобно делать миграцию, создавая новую ветку.

2) В 3.1 создайте директорию 3.1/*desktop**. Содержимое 3.1/desktop/**.calculate_directory*:

# Calculate env=desktop path=~ name= chmod=0700 chown=#-ur_login-#:#-ur_group-# ac_desktop_profile==on&&ur_domain_set==on

Здесь: “env” явно указывает на то, что должны использоваться переменные и пути утилит calculate-desktop, устанавливается путь и права доступа, проверяется событие установки пакета, проверяется что пользователь доменный.

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

3) В desktop создайте директорию 3.1/desktop/*bash**. Содержимое 3.1/desktop/bash/**.calculate_directory*:

# Calculate append=skip merge(app-shells/bash)!=&&ini(office.bash)<4.0&&pkg(app-shells/bash)>4

Здесь по аналогии с шаблонами оверлея выполняются некоторые дополнительные проверки. Функция ini при работе из окружения env=desktop работает с файлом ~/.calculate/ini.env. Проверяется, метод установки, а так же то, что пакет присутствует в системе.

4) В bash создайте файл 3.1/desktop/bash/*ini.env*:

 # Calculate format=samba path=~/.calculate

[office]
bash = 4.0

Этот шаблон обновит файл настроек “~/.calculate/ini.env”, указав что настройки bash уже были выполнены.

5) Создайте шаблон настроек 3.1/desktop/bash/*bashrc*:

 # Calculate name=.bashrc comment=#
export http_proxy="http://proxy-url:3128"
export https_proxy="http://proxy-url:3128"
export ftp_proxy="http://proxy-url:3128"
export HTTP_PROXY="http://proxy-url:3128"
export HTTPS_PROXY="http://proxy-url:3128"
export FTP_PROXY="http://proxy-url:3128"

Для удобства шаблон не начинается с точки, поэтому в заголовке я указал имя конечного файла. Без указания формата шаблон будет восприниматься как ‘raw’, переписывая файл назначения. Указание символа комментария позволит увидеть в конечном файле путь к сформировавшему его шаблону.

P.S. Если в дальнейшем понадобится обновить настройки bash, можно будет изменить в проверках версию с “4.0” на “4.0.1”.

Спасибо, так заработало.

Не могу подружится с шаблонами!

В /var/calculate/remote/templates/3.1 создал файл .calculate_directory с содержимым

 # Calculate append=skip cl_name==calculate-core&&cl_ver>=3.1

Создал папку desktop с .calculate_directory

 # Calculate env=desktop path=~ name= chmod=0700 chown=#-ur_login-#:#-ur_group-# ac_desktop_profile==on&&ur_domain_set==on

В папке desktop сделал папку plasma c файлами:
.calculate_directory

 # Calculate append=skip merge()!=&&ini(update.plasma)!=off&&ini(ver.plasma)<4.10.1&&pkg()>=4.10

ini.env

 # Calculate format=samba path=~/.calculate</code>
[ver]
plasma = 4.10.1
[update]
plasma = on

И модифицированный plasma-desktop-appletsrc взятый из /var/lib/layman/calculate/profiles/templates/ и тд

Шаблон не обновляется. Что я делаю не так?

Если пользователь не доменный - ошибка будет здесь ur_domain_set==on.

В папке desktop сделал папку plasma c файлами

То есть /var/calculate/remote/templates/3.1/desktop/plasma/.calculate_directory содержит?

 # Calculate append=skip merge()!=&&ini(update.plasma)!=off&&ini(ver.plasma)<4.10.1&&pkg()>=4.10

Если так, то вам нужно указать параметры для merge и pkg (kde-base/plasma-workspace), потому что если у этих функций нет параметров, то подразумевается что название текущего каталога - это название пакета, а название родительского каталога - категория. В системных шаблонах это kde-base/plasma-workspace-4.10. А у вас получается пакет desktop/plasma.

Пользователь доменный.

Исправил /var/calculate/remote/templates/3.1/desktop/plasma/.calculate_directory

 # Calculate append=skip merge(kde-base/plasma-workspace)!=&&ini(ver.plasma)<4.10.1&&pkg(kde-base/plasma-workspace)>=4.10

Всё равно не выходит каменный цветок…

Пользователь настраивается с нуля или у него уже настроенный сеанс и не накладываются новые шаблоны?

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