Atualização:
A definição de variáveis de ambiente global ainda deve ser realizada em /etc/environment
, mas, como você observou, usar sudo -s
faz com que o efeito dessas variáveis seja "desaparecido".
A razão para isso é que sudo
tem uma política de redefinir o Ambiente e definir um caminho seguro . Está ativado por padrão:
/etc/sudoers:
Defaults env_reset
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
Assim, o que estiver definido no /etc/environment
do caminho será substituído por sudo
.
A página de manual para sudoers
states:
env_reset If set, sudo will reset the environment to only contain
the LOGNAME, MAIL, SHELL, USER, USERNAME and the SUDO_*
variables. Any variables in the caller's environment
that match the env_keep and env_check lists are then
added. The default contents of the env_keep and
env_check lists are displayed when sudo is run by root
with the -V option. If the secure_path option is set,
its value will be used for the PATH environment
variable. This flag is on by default.
Como solução alternativa, você pode usar sudo su
que fornecerá um shell com privilégios de root, mas contendo o PATH correto.
Resposta original
Você deve defini-lo em /etc/environment
.
Teste sudo YOUR_TEXT_EDITOR /etc/environment
(certifique-se de criar um backup primeiro).
Para mais informações: EnvironmentVariables
% bl0ck_qu0te%