Когда я запускаю терминал в Ubuntu, я получаю следующий путьecho $PATH
/home/myuser/anaconda3/condabin:/home/myuser/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
Я хочу удалить пути с ключевым словом games из своего , но не могу найти, где задаются $PATH
пути типа /usr/games
, /user/local/games
, ./usr/sbin
Я попробовал grepgrep xxx ~/.* -l
Это дает файлы /usr/bin
, которые устанавливают /usr/local/bin
и т. д.
Но не для вышеупомянутых games
и sbin
путей. Как мне узнать, откуда он установлен?
решение1
Есть несколько мест, где его можно установить. Для начала, его можно установить в одном или нескольких из следующих:
- любой скрипт профиля оболочки (например
~/.bashrc
,/etc/profile
, ,/etc/bash.bashrc
,/etc/profile.d/*
, и т.д.) /etc/login.defs
/etc/security/pam_env.conf
/etc/environment
$HOME/.pam_environment
решение2
Если он не установлен в вашей личной среде, то он установлен для каждого пользователя. Это означает, что где-то в /etc
. Перейдите /etc
и выполните:
grep usr.games * */* */*/* 2> /dev/null
При установке Ubuntu это даст вам:
environment:PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
login.defs:ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
manpath.config:MANPATH_MAP /usr/games /usr/share/man
passwd:games:x:5:60:games:/usr/games:/usr/sbin/nologin
passwd-:games:x:5:60:games:/usr/games:/usr/sbin/nologin
Файлы passwd
предназначены для пользовательских игр, поэтому не имеют значения. manpath
для чтения руководств. Так что, если вы удалите его из environment
и login.defs
, ваши игровые дни окончены.