Conozco /etc/profile y /etc/environment, pero me gustaría establecer una variable ambiental global después de iniciar e iniciar sesión. Por global, me refiero a una variable de entorno a la que puede acceder cualquier programa (que se ejecuta con el usuario actual).
Básicamente, en cualquier momento dado, digamos 10 minutos después del arranque, me gustaría poder ejecutar un script que establezca algunas variables de entorno globales. es posible?
Fondo
Tengo algunos problemas con gpg-agent en Ubuntu 14.04. Los programas utilizan variables ambientales para conectarse al proceso gpg-agent. Mi problema es que se ejecutan varias instancias de gpg-agent (solo una de las cuales tiene habilitado el soporte ssh). Me gustaría poder eliminar todas las instancias existentes de gpg-agent e iniciar una nueva con ssh-support. Sin embargo, para que otros programas puedan acceder a la nueva instancia, necesito que las variables ambientales sean globales. Hacerlo durante el inicio no me ha funcionado ya que el otro agente gpg parece iniciarse después del mío, reemplazando las variables ambientales.
Respuesta1
A veces me enfrento a un problema estrechamente relacionado. Tengo ssh-agent
una máquina ejecutándose bajo el paraguas de su escritorio gráfico, pero accedo a la misma máquina de forma remota. Ese shell no tiene las variables de entorno.
Para eso, uso un script que busca /proc
procesos Bash y rastrea sus /proc/<pid>/environ
entradas en busca SSH_AGENT_PID
de SSH_AGENT_SOCK
variables. Luego, vuelve a crear estas entradas en la sintaxis del shell, de modo que todo este "script de raspado de entorno" se pueda eval
editar en el nuevo shell.
Básicamente, "vaya /proc
a buscar qué otros Bash-es están usando para sus variables de agente y reprodúzcalo en esta sesión".