Почему $PATH не отражает то, что находится в файле среды, Ubuntu 18.04?

echo $PATH обеспечивает:

/usr/local/sbin:/usr/local/bin:/usr/bin:/sbin:/bin

в то время как /etc/environment состояния

PATH="/usr/local/sbin:/usr/local/bin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"

Я, хотя файл среды ответственен за установку среды ПУТИ. Я подразумеваю, что файл называют средой, и единственные рекомендуют, там путь. Что я пропускаю?

Это - Ubuntu 18.04.1 и когда я пытаюсь работать pcsxr, это говорит мне /usr/games не добавляется к переменной среды. Это кажется верным с одной точки зрения и лжи с другой точки зрения. Нет никакой проблемы с файлом на рабочем столе, он был проверен. Также та рассматриваемая игра была проверена, чтобы быть в /usr/games

Выполнение этой команды:

$ grep --color -H 'PATH=' ~/.bashrc ~/.profile ~/.bash_profile ~/bash.login \
                    ~/.bash_aliases /etc/bash.bashrc /etc/profile \
                     /etc/profile.d/* /etc/environment 2> /dev/null

/home/neonred811/.profile:    PATH="$HOME/bin:$PATH"
/home/neonred811/.profile:    PATH="$HOME/.local/bin:$PATH"
/etc/environment:PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
4
задан 19 August 2018 в 15:59

2 ответа

Вы можете grep все для обнаружения где /usr/local/sbin:/usr/local/bin:/usr/bin:/sbin:/bin устанавливается:

time sudo grep -rnw \
--exclude-dir={boot,dev,lib,media,mnt,proc,root,run,sys,/tmp,tmpfs,var} '/' -e \
"/usr/local/sbin:/usr/local/bin:/usr/bin:/sbin:/bin"

Это займет несколько минут для выполнения, так сделайте немного кофе или выньте мусор. На SSD NVMe, хотя это займет 45 секунд и покажет это:

Binary file /home/rick/.mozilla/firefox/9fu0cuql.default/places.sqlite matches
Binary file /home/rick/.mozilla/firefox/9fu0cuql.default/places.sqlite-wal matches

real    0m46.343s
user    0m13.143s
sys     0m8.853s

В моей системе единственное место, где путь переопределяется как Ваша, Firefox.

Однако мой $PATH переменная всегда нормальна (для меня):

$ echo $PATH
/home/rick/bin:/home/rick/.local/bin:/mnt/e/bin:/mnt/e/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/lib/jvm/java-8-oracle/bin:/usr/lib/jvm/java-8-oracle/db/bin:/usr/lib/jvm/java-8-oracle/jre/bin
0
ответ дан 1 December 2019 в 10:31

У меня была та же проблема при попытке установить мой JAVA_HOME переменная среды (ссылка) после установки default-jdk способный пакет, также на Ubuntu 18.04.1.

Установка JAVA_HOME в /etc/environment не работал вообще, даже при том, что тот файл является symlinked в /usr/lib/environment.d/ как описано здесь.

Установка его в ~/.profile работал, но был, очевидно, не в масштабе всей системы, таким образом, некоторые инструменты не могли видеть его, и это была просто боль.

Я закончил тем, что установил его с помощью сценария в /etc/profile.d/ как описано здесь, и это наконец работало.

Я понятия не имею почему /etc/environment не работает. Я успешно использовал тот метод на Ubuntu 16.04, но никакую удачу на 18,04. Я также захватил все в /etc/ как описано в этом связанном вопросе и также предложенный здесь, но не мог добраться до сути относительно него.

1
ответ дан 1 December 2019 в 10:31

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

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