Почему этот параметр.pam_environment не позволяет мне войти в систему?

Я пытаюсь убрать вещи из моего .bashrc в .pam_enviroment из-за этого. Я положил следующее в мой .pam_environment но это мешает мне войти в систему, потому что должна быть какая-то ошибка. Я тогда удалил .pam_environment пока в режиме восстановления.

VISUAL       DEFAULT=/usr/local/bin/vim
EDITOR       DEFAULT=/usr/local/bin/vim
PATH         DEFAULT=/usr/local/src/rbenv/bin:$PATH
WORKON_HOME  DEFAULT=$HOME/.virtualenv
GOROOT       DEFAULT=/usr/local/src/go
PATH         DEFAULT=$PATH:$GOROOT/bin
GOPATH       DEFAULT=$HOME/.go
PATH         DEFAULT=$PATH:$GOPATH/bin
PATH         DEFAULT=$PATH:/usr/local/src/llvm/tools/clang/tools/scan-build
PATH         DEFAULT=$PATH:/usr/local/src/llvm/tools/clang/tools/scan-view
PATH         DEFAULT=$PATH:/usr/local/src/.build/kint/bin
M2_HOME      DEFAULT=/opt/apache-maven/apache-maven-3.0.5
M2           DEFAULT=$M2_HOME/bin
PATH         DEFAULT=$M2:$PATH
JAVA_HOME    DEFAULT=/usr/lib/jvm/default-java
PATH         DEFAULT=$JAVA_HOME/bin:$PATH
ECLIPSE_HOME DEFAULT=/opt/eclipse
PATH         DEFAULT=$ECLIPSE_HOME:$PATH

В чем проблема с этими настройками? Как я уже говорил в своем предыдущем вопросе, я все еще пытаюсь найти хороший способ иметь глобальные настройки для всех моих приложений, как это было раньше, когда .profile/.bashrc для этого было достаточно...

1 ответ

Решение

Из Интернета я узнал о ком-то, кто попал в ту же проблему. .pam_environment синтаксис для ссылки на переменные должен включать фигурные скобки, устранение этого решило проблему:

VISUAL       DEFAULT=/usr/local/bin/vim
EDITOR       DEFAULT=/usr/local/bin/vim
PATH         DEFAULT=/usr/local/src/rbenv/bin:${PATH}
WORKON_HOME  DEFAULT=${HOME}/.virtualenv
GOROOT       DEFAULT=/usr/local/src/go
PATH         DEFAULT=${PATH}:${GOROOT}/bin
GOPATH       DEFAULT=${HOME}/.go
PATH         DEFAULT=${PATH}:${GOPATH}/bin
PATH         DEFAULT=${PATH}:/usr/local/src/llvm/tools/clang/tools/scan-build
PATH         DEFAULT=${PATH}:/usr/local/src/llvm/tools/clang/tools/scan-view
PATH         DEFAULT=${PATH}:/usr/local/src/.build/kint/bin
M2_HOME      DEFAULT=/opt/apache-maven/apache-maven-3.0.5
M2           DEFAULT=${M2_HOME}/bin
PATH         DEFAULT=${M2}:${PATH}
JAVA_HOME    DEFAULT=/usr/lib/jvm/default-java
PATH         DEFAULT=${JAVA_HOME}/bin:${PATH}
ECLIPSE_HOME DEFAULT=/opt/eclipse
PATH         DEFAULT=${ECLIPSE_HOME}:${PATH}

Я не считаю это лучшим подходом, но сейчас я задаю переменные в .pam_environment чтобы они вступили в силу для любого приложения (не только для тех, что были запущены в bash) и добавили настройку, которая требует дополнительной логики, помимо тривиального назначения, в .profile/.bashrc,

Другие вопросы по тегам