cambiar / etc / environment no afectó mis variables de entorno

10

Estoy tratando de instalar el sistema experto Euler siguiendo estas instrucciones . Para agregar la variable de entorno, edité mi /etc/environmentpara que se convierta de la siguiente manera:

 PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:
/home/mohammad/Desktop/eye"
 EYE_HOME = "/home/mohammad/Desktop/eye"

Pero cuando lo uso printenv PATH, no veo el nuevo directorio agregado a mi ruta.

¿Qué estoy haciendo mal aquí?

Moha el todopoderoso camello
fuente
Ese enlace no está funcionando en este momento (SourceForge está inactivo), pero ¿puede especificar si desea variables de entorno de todo el sistema? Dado que es para una aplicación, este es probablemente el caso y, por lo tanto, muchas de las respuestas a continuación son incorrectas.
Michael Scheper

Respuestas:

8

No sé la razón por la cual PATH no cambió (después de volver a iniciar sesión), pero

EYE_HOME = "/home/mohammad/Desktop/eye"
--------^-^

esos espacios impiden que se establezca EYE_HOME.

Cabe señalar que /etc/environmentno es un archivo de secuencia de comandos, sino un tipo de archivo de asignación que lee PAM. OTOH tales espacios no están permitidos en archivos de script como /etc/profiley ~/.profiletampoco.

Si usa un archivo de script, debe exportar las variables como se muestra en la respuesta de Avinash Raj.

Tenga en cuenta que si bien ~/.bashrcfunciona si inicia su programa desde una ventana de terminal, es posible que no funcione si lo inicia desde el entorno gráfico, ya que no lo obtiene el administrador de pantalla.

Gunnar Hjalmarsson
fuente
@ gunnar-hijalmarsson --- correcto. El hecho de que el administrador de pantalla no se inicie desde mi shell me muerde muchas veces. He publicado un truco para ver las variables que se establecen en el DE: askubuntu.com/a/356973/16395
Rmano
Buen truco, @Rmano! ¿ Hay alguna posibilidad de que pueda agregarlo a help.ubuntu.com/community/EnvironmentVariables ?
Gunnar Hjalmarsson
Gracias, nunca edité uno de esos y no sé si tenía los permisos. Lo tendré en cuenta si tengo tiempo, pero de lo contrario, siéntase libre de copiar / pegar lo que quiera, esa página necesita ser actualizada. Una pregunta: ¿A todos los gestores de visualización (LightDM, gdm, kdm) de origen ~/.profile, incluso si mi shell por defecto no es bashsino, por ejemplo, zsh?
Rmano
Comprobado por mí mismo. Yo uso zsh; las aplicaciones lanzadas por el DE ven las variables establecidas en ~/.pam_environmenty ~/.profile(NO ~/.zprofile). Esto es bueno y malo, pero la parte mala se resuelve cambiando .profilepara que genere mi .zprofiley .zshenv. Y confirmo que el uso .pam_environmentes malo, se sobrescribe en algún momento (no debería, pero lo es).
Rmano
@Rmano: Sé que ~/.profileproviene de lightdm y gdm; No estoy seguro acerca de kdm.
Gunnar Hjalmarsson
5
gedit ~/.bashrc

Después de eso, agregue las siguientes líneas,

export EYE_HOME="/home/mohammad/Desktop/eye"
export PATH=$PATH:$EYE_HOME

Guarde el archivo y guárdelo,

source ~/.bashrc
Avinash Raj
fuente
1
¿Sería una variable amplia del sistema?
Moha el todopoderoso camello
1
@AvinashRaj: estas variables no solo serán solo para el usuario, sino que no se verán si la aplicación no se inicia desde un terminal de línea de comandos ... el entorno gráfico se inicia por sí mismo, no utilizando el shell del usuario. Ver askubuntu.com/a/356973/16395
Rmano
0

También puede probar estos dos archivos para la configuración de todo el sistema:

  • /etc/profile
  • /etc/bashrc

Para configuración amplia del usuario:

  • $HOME/.profile
  • $HOME/.bashrc

Simplemente agregue las variables como lo ha hecho /etc/environment. Pero tendrá que iniciar y cerrar sesión (o ejecutar la recarga adecuada). Tal vez por iniciar sesión y cerrar sesión /etc/environmentfuncionaría, pero no estoy seguro.

Tinti
fuente
-1

Desea editar su archivo .bashrc en su directorio de inicio.

Cuando edite la ruta, debe incluirla :$PATHal final para no reemplazar la ruta actual.

Julian Stirling
fuente