java_home configurar check linux ubuntu environment-variables java-home

linux - configurar - Haga que $ JAVA_HOME se pueda cambiar fácilmente en Ubuntu



set java_home ubuntu (8)

En Ubuntu, me gustaría cambiar mi variable de entorno JAVA_HOME entre Java 5 y 6.

Abro un terminal y escribo lo siguiente para establecer la variable de entorno JAVA_HOME:

export JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun

Y en esa misma ventana de terminal, escribo lo siguiente para verificar que la variable de entorno se haya actualizado:

echo $JAVA_HOME

Y veo /usr/lib/jvm/java-1.5.0-sun que es lo que espero ver. Además, modifico ~ / .profile y establezco la variable de entorno JAVA_HOME en /usr/lib/jvm/java-1.5.0-sun.

Y ahora el problema: cuando abro una nueva ventana de terminal y reviso la variable de entorno JAVA_HOME escribiendo echo $ JAVA_HOME veo que mi variable de entorno JAVA_HOME ha sido revertida a Java 6. Cuando reinicio mi máquina (o registro) una y otra vez, supongo) la variable de entorno JAVA_HOME está configurada en Java 5 (presumiblemente debido a la modificación que hice en mi ~ / .profile).

¿Hay alguna forma de evitar esto para poder cambiar mi entorno JAVA_HOME sin tener que desconectarme y volver a entrar (Y hacer que ese variable de entorno se adhiera en todas las nuevas ventanas de terminal)?


Coloque las variables de entorno en el /etc/environment global /etc/environment :

... export JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun ...

Ejecute "source / etc / environment" en cada shell donde desee que se actualicen las variables:

$ source /etc/environment

Verifique que funcione:

$ echo $JAVA_HOME $ /usr/lib/jvm/java-1.5.0-sun

Genial, no es necesario desconectarse.

Si desea establecer la variable de entorno JAVA_HOME solo en el terminal, configúrelo en el archivo ~ / .bashrc .


Después de realizar cambios en .profile, debe ejecutar el archivo para que los cambios surtan efecto.

root@masternode# . ~/.profile

Una vez hecho esto, el comando echo funcionará.


Eche un vistazo a bash(1) , necesita un shell de inicio de sesión para recoger el ~/.profile , es decir, la opción -l .


Esto probablemente resolverá su problema: https://help.ubuntu.com/community/EnvironmentVariables

Variables de entorno de sesión

Para establecer variables de entorno de una manera que afecte el entorno de un usuario en particular, no se deben colocar comandos para establecer sus valores en archivos de script de shell particulares en el directorio de inicio del usuario, pero use:

~ / .pam_environment: este archivo está específicamente diseñado para configurar el entorno de un usuario. No es un archivo de script, sino que consiste en expresiones de asignación, una por línea.

No recomendado:

~ / .profile: este es probablemente el mejor archivo para ubicar las asignaciones de variables de entorno, ya que DisplayManager lo ejecuta automáticamente durante la sesión de escritorio del proceso de inicio y también por el shell de inicio de sesión cuando se inicia sesión desde la consola de texto.


Necesita poner definición de variable en el archivo ~/.bashrc .

De la página de bash man:

Cuando se inicia un shell interactivo que no es un shell de inicio de sesión, bash lee y ejecuta comandos desde /etc/bash.bashrc y ~ / .bashrc, si estos archivos existen.


Pruebe estos pasos.

- Vamos a editar "etc / profile". Las variables de entorno deben ingresarse en la parte inferior del archivo. Como Ubuntu no da acceso a la carpeta raíz, tendremos que usar algunos comandos en la terminal

Paso 1: Inicie la Terminal. Escriba en comando: gksudo gedit /etc/profile

Paso 2: se abrirá el archivo de texto de perfil. Ingrese las variables de entorno en la parte inferior de la página ........... Ej .: export JAVA_HOME=/home/alex/jdk1.6.0_22/bin/java

export PATH=/home/alex/jdk1.6.0_22/bin:$PATH

paso3: guarda y cierra el archivo. Verifique si las variables de entorno están establecidas usando el comando echo ........ Ej echo $PATH



Tradicionalmente, si solo desea cambiar la variable en sus ventanas de terminal, .bashrc en el archivo .bashrc , que se obtiene cada vez que se abre un nuevo terminal. .profile archivo .profile no se obtiene cada vez que abre una nueva terminal.

Vea la diferencia entre .profile y .bashrc en cuestión: ¿Cuál es la diferencia entre .bashrc, .bash_profile y .environment?

.bashrc debería resolver su problema. Sin embargo, no es la solución adecuada ya que estás usando Ubuntu. Consulte la página de ayuda de Ubuntu " Variables de entorno de toda la sesión ". Por lo tanto, no es de extrañar que .profile no funcione para usted. Yo uso Ubuntu 12.04 y xfce. Configuré mi .profile y simplemente no está entrando en vigencia incluso si .profile sesión y adentro. Experiencia similar here . Por lo tanto, es posible que tenga que usar el archivo .pam_environment y olvidarse por .profile de .profile y .bashrc . Y NOTE que .pam_environment no es un archivo de script.