Мне установили переменные среды в ~/.pam_environment, и они существуют как ожидалось в любом эмуляторе графического терминала, который я открываю. Если я открываю виртуальный терминал, например, TTY1 и вход в систему, мои переменные среды PAM не присутствуют.
Как я могу удостовериться, что ~/.pam_environment переменные всегда загружаются?
Один путь состоит в том, чтобы отредактировать /etc/pam.d/login
как это:
--- a/login 2015-06-15 03:35:17.422387358 +0200
+++ b/login 2015-06-15 03:36:41.535536201 +0200
@@ -50,7 +50,7 @@
session required pam_env.so readenv=1
# locale variables are also kept into /etc/default/locale in etch
# reading this file *in addition to /etc/environment* does not hurt
-session required pam_env.so readenv=1 envfile=/etc/default/locale
+session required pam_env.so readenv=1 user_readenv=1 envfile=/etc/default/locale
# Standard Un*x authentication.
@include common-auth
не Может сказать, является ли это 'надлежащий путь', все же.
Согласно чиновнику документация , ~/.pam_environment для переменных среды всей сессии, которые будут влиять просто конкретный пользователь . Это означает при редактировании того файла как сами или как корня, редактирование двух различных файлов. Если Вы делаете это как свой пользователь:
user@here:~$ sudo nano ~/.pam_environment
это откроет/home/user/.pam_environment.
, Но если Вы, если открытый это как корень
user@here:~$ sudo su
root@here:~$ nano ~/.pam_environment
это откроет/root/.pam_environment. Таким образом, необходимо быть осторожными для не редактирования этого файла как корня.
, Чтобы проверить, что Ваши переменные среды действительно существуют, отредактируйте ~/.pam_environment, сохраняют его и выход из системы или выходят из ssh сессии. Когда Вы входите в систему снова выполненный экспорт , который распечатывает все переменные
user@here:~$ export