Um processo herda um ambiente do processo pai que o inicia. Para alterar o PATH ou outros valores de ambiente em um filho, podemos definir uma variável para um valor no pai, exportar a variável se estiver em um shell e iniciar o processo filho. A criança também pode ler um ou mais arquivos de inicialização para alterar seu próprio ambiente ao iniciar.
Portanto, há mais duas perguntas para obter uma resposta:
Qual é a árvore de herança pai / filho que leva ao processo que você deseja que seja afetado pelo PATH ou pela alteração do ambiente?
Quais arquivos de inicialização são usados / lidos / originados pelos processos relevantes nessa árvore?
Aqui está parte da saída do ps (1) para mostrar o que quero dizer com uma árvore de herança:
# /bin/ps -o 'uid:5,pid:5,ppid:5,user:4,args' axf
UID PID PPID USER COMMAND
0 1 0 root /usr/lib/systemd/systemd
0 1481 1 root /usr/sbin/gdm-binary -nodaemon
0 1497 1481 root \_ /usr/libexec/gdm-simple-slave ...
0 1504 1497 root \_ /usr/bin/Xorg :0 ...
0 1855 1497 root \_ gdm-session-worker ...
Observe as seqüências gráficas \ _ e os números PIP / PPID (ID do processo e PID pai). O PID 1855 foi iniciado por (algum filho de?) 1497, iniciado em 1481, iniciado pelo PID 1, iniciado pelo processo ancestral 0.
Faça um rastreamento de herança semelhante para o processo que você deseja afetar, descubra quais arquivos de inicialização são relevantes e faça a alteração no PATH em algum lugar dessa árvore, provavelmente com algo semelhante a:
PATH=${PATH}:/usr/local/bin
~/.pam_environment
solução é que, por padrão, o módulo pam_env não o lê, a menos que a distribuição o configure de outra forma. No Fedora 20, não é lido, por exemplo.