Почему моя переменная среды частично установлена?

Resulta que el llavero gnomo almacenó la frase de contraseña para mi llavero predeterminado en un llavero especial llamado "Iniciar sesión" y desbloqueó ese llavero con mi contraseña de inicio de sesión. Los archivos de configuración PAM para iniciar sesión en la consola y SDDM utilizan el módulo PAM gnome keyring . Se puede deshabilitar comentando las líneas que contienen pam_gnome_keyring.sode todos los archivos que contienen esa cadena en el directorio /etc/pam.d; esto debería hacer que tenga que ingresar manualmente la frase de contraseña para desbloquear su llavero.

1
22.08.2017, 19:47
1 ответ

Во-первых, примечание к $PATH. У вас есть JAVA_HOMEустановленный в каталог jdk, но для PATHвам нужно сделать это $JAVA_HOME/bin.

Во-вторых, если вам нужно, чтобы эти переменные были доступны для не -интерактивных сценариев, вы можете поместить их в ~/.bashrc, так как ~/.bash_profileчитаются только интерактивными входами в систему.

На самом деле, фактический порядок, в котором (считываются профили )оболочки входа в систему,:

  1. /etc/profile

, затем:

  1. ~/.bash_profile(В CentOS, если -f ~/.bashrc, источники~/.bashrc)
  2. ~/.bash_login
  3. ~/.profile(В Ubuntu, если -n $BASH_VERSION, источники~/.bashrc)

РЕДАКТИРОВАТЬ :Если один из этих файлов найден, дальнейшие файлы не обрабатываются, если они не указаны явно

Оболочки входа без -(по умолчанию )ищут только ~/.bashrc.

Таким образом, в зависимости от того, как вы выполняете bash, вы можете даже не читать профиль, в который добавили эти строки. Выполняете ли вы sudo -u grid bash, или su grid, или su - grid, или инициируете новый сеанс ssh каждый раз при тестировании? Некоторые из этих параметров могут не запускать интерактивную оболочку bash для входа в систему.

Поэтому проверьте каждый из файлов, перечисленных выше, и посмотрите, не сбрасывает ли какой-либо из них значение переменной JAVA_HOMEили сбрасывает ее. Затем попробуйте добавить строки в конец ~/.profile, который является последним файлом, полученным оболочкой входа в систему.

В целях отладки вы можете добавить сообщения в профиль, чтобы убедиться, что он также настроен правильно.

~/.profile:

export JAVA_HOME=/home/grid/jdk
echo "DEBUG:.profile: JAVA_HOME is [$JAVA_HOME]"
export HADOOP_HOME=/home/grid/hadoop
echo "DEBUG:.profile: HADOOP_HOME is [$HADOOP_HOME]"
PATH=$HADOOP_HOME:$JAVA_HOME/bin:$PATH
echo "DEBUG:.profile: PATH is [$PATH]"
export PATH

Это вызовет 3 строки вывода при входе в интерактивную оболочку входа,а значения в скобках позволяют легко увидеть, устанавливаются ли значения с самого начала. Если вы видите, чтоJAVA_HOMEустанавливается как при получении ~/.profile, но не устанавливается, когда оболочка становится интерактивной, то вы знаете, что вам нужно продолжать следовать процессу входа в систему, чтобы определить, где значение изменяется.

0
28.01.2020, 00:49

Теги

Похожие вопросы