Un proceso hereda un entorno del proceso padre que lo inicia. Para cambiar la RUTA u otros valores del entorno en un elemento secundario, podemos establecer una variable en un valor en el elemento primario y exportar la variable si estamos en un shell, y luego iniciar el proceso secundario. El niño también puede leer uno o más archivos de inicialización para cambiar su propio entorno cuando se inicia.
Entonces, hay dos preguntas más para obtener una respuesta:
¿Cuál es el árbol de herencia padre / hijo que conduce al proceso que desea que se vea afectado por la RUTA o el cambio de entorno?
¿Qué archivos de inicialización utilizan / leen / obtienen los procesos relevantes en ese árbol?
Aquí está parte de la salida de ps (1) para mostrar lo que quiero decir con un árbol de herencia:
# /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 ...
Tenga en cuenta las secuencias gráficas \ _ y los números PIP / PPID (ID de proceso y PID principal). PID 1855 se inició por (¿algún hijo de?) 1497, que se inició en 1481, que se inició por el PID 1, que se inició por el proceso ancestro 0.
Haga un seguimiento de herencia similar para el proceso que desea afectar, descubra qué archivos de inicialización son relevantes y realice el cambio a RUTA en algún lugar de ese árbol, probablemente con algo similar a:
PATH=${PATH}:/usr/local/bin
~/.pam_environment
solución es que, de manera predeterminada, el módulo pam_env no lo lee, a menos que la distribución lo configure de otra manera. En Fedora 20 no se lee, por ejemplo.