Quando eu inicio um terminal no Ubuntu eu sigo o caminhoecho $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
Quero remover esses caminhos com a palavra-chave games do meu $PATH
, mas não consegui encontrar de onde os caminhos como ,, /usr/games
estão definidos./user/local/games
/usr/sbin
Eu tentei passargrep xxx ~/.* -l
Isso fornece arquivos que definem /usr/bin
, /usr/local/bin
etc.
Mas não para os caminhos mencionados games
acima sbin
. Como descubro onde está definido?
Responder1
Existem vários locais onde pode ser definido. Para começar, ele pode ser definido em um ou mais dos seguintes:
- qualquer script de perfil de shell (por exemplo
~/.bashrc
,/etc/profile
,/etc/bash.bashrc
, ,/etc/profile.d/*
, etc) /etc/login.defs
/etc/security/pam_env.conf
/etc/environment
$HOME/.pam_environment
Responder2
Se não estiver definido em seu ambiente pessoal, será definido para todos os usuários. Isso significa em algum lugar abaixo /etc
. Acesse /etc
e emita:
grep usr.games * */* */*/* 2> /dev/null
Em uma instalação do Ubuntu, isso lhe dará:
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
Os passwd
arquivos são para os jogos do usuário, portanto não têm importância. manpath
é para ler os manuais. Então, se você removê-lo environment
e login.defs
, seus dias de jogo acabaram.