.png)
У меня странная проблема с моей системой Debian Sid. Я хочу установить глобальную переменную окружения в /etc/environment
, которая должна быть прочитана модулем pam_env
. К сожалению, после повторного входа в систему переменная не устанавливается.
На другом Arch Linux box та же переменная set in etc/environment
определена как и ожидалось. Просто для проверки я попытался настроить локальную переменную env in .pam_environment
и, опять же, на Debian она не определена, а на Arch определена.
Я использую GDM на Debian и SDDM на Arch в качестве менеджеров входа. Что я упускаю? Какие файлы конфигурации (PAM или GDM) мне следует просмотреть?
EDIT: выводgrep pam_env /etc/pam.d/*
$ grep pam_env /etc/pam.d/*
/etc/pam.d/atd:auth required pam_env.so
/etc/pam.d/cron:# Read environment variables from pam_env's default files, /etc/environment
/etc/pam.d/cron:# and /etc/security/pam_env.conf.
/etc/pam.d/cron:session required pam_env.so
/etc/pam.d/cron:session required pam_env.so envfile=/etc/default/locale
/etc/pam.d/gdm-autologin:session required pam_env.so readenv=1
/etc/pam.d/gdm-autologin:session required pam_env.so readenv=1 envfile=/etc/default/locale
/etc/pam.d/gdm-launch-environment:session required pam_env.so readenv=1
/etc/pam.d/gdm-launch-environment:session required pam_env.so readenv=1 envfile=/etc/default/locale
/etc/pam.d/gdm-password:session required pam_env.so readenv=1
/etc/pam.d/gdm-password:session required pam_env.so readenv=1 envfile=/etc/default/locale
/etc/pam.d/login:# file /etc/security/pam_env.conf.
/etc/pam.d/login:session required pam_env.so readenv=1
/etc/pam.d/login:session required pam_env.so readenv=1 envfile=/etc/default/locale
/etc/pam.d/polkit-1:session required pam_env.so readenv=1 user_readenv=0
/etc/pam.d/polkit-1:session required pam_env.so readenv=1 envfile=/etc/default/locale user_readenv=0
/etc/pam.d/su:# file /etc/security/pam_env.conf.
/etc/pam.d/su:session required pam_env.so readenv=1
/etc/pam.d/su:session required pam_env.so readenv=1 envfile=/etc/default/locale
решение1
Для потомков: если в Debian вы добавите
session required pam_env.so user_readenv=1
тогда /etc/pam.d/gdm-password
PAM действительно применит ваши настройки env var, ~/.pam_environment
когда вы выполните вход с паролем с помощью GDM. Если вы входите с помощью чего-то другого, то найдите соответствующий файл в /etc/pam.d
.