.png)
Debian Sid システムで奇妙な問題が発生しています。モジュール/etc/environment
によって読み取られるはずのグローバル環境変数を に設定したいのですpam_env
が、残念ながら、システムに再ログインした後、変数が設定されません。
別の Arch Linux ボックスでは、 に設定された同じ変数etc/environment
が期待どおりに定義されています。テストのために、 にローカル環境変数を設定してみました.pam_environment
が、やはり Debian では定義されていませんが、Arch では定義されています。
ログイン マネージャーとして、Debian では GDM、Arch では SDDM を使用しています。何が足りないのでしょうか? どの (PAM または GDM) 構成ファイルを確認すればよいでしょうか?
編集: 出力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
すると、GDM を使用してパスワード ログインを行うとき/etc/pam.d/gdm-password
に、PAM は実際に環境変数設定を適用します~/.pam_environment
。他のものを使用してログインする場合は、 の下にある対応するファイルを探します/etc/pam.d
。