X11Forwarding en instalaciones de Oracle (DISPLAY not set)
X11Forwarding en instalaciones de Oracle (DISPLAY not set):
Cuando realizamos instalaciones de Oracle Database es necesario disponer de entorno gráfico para el instalador. Normalmente no se instala en máquinas con entorno gráfico así que tenemos que disponer de conexión VNC o hacer redirección de X vía SSH para poder disponer de entorno gráfico en el instalador.
Si no tenemos la redirección de X bien configurada, al iniciar el instalador recibiremos este error:
Lo primero es instalar los paquetes necesarios de xauth en la máquina de Oracle:
Cuando realizamos instalaciones de Oracle Database es necesario disponer de entorno gráfico para el instalador. Normalmente no se instala en máquinas con entorno gráfico así que tenemos que disponer de conexión VNC o hacer redirección de X vía SSH para poder disponer de entorno gráfico en el instalador.
Si no tenemos la redirección de X bien configurada, al iniciar el instalador recibiremos este error:
[oracle@oracle-linux database]$ ./runInstaller Starting Oracle Universal Installer... Checking Temp space: must be greater than 120 MB. Actual 3652 MB Passed Checking swap space: must be greater than 150 MB. Actual 2315 MB Passed Checking monitor: must be configured to display at least 256 colors >>> Could not execute auto check for display colors using command /usr/bin/xdpyinfo. Check if the DISPLAY variable is set. Failed <<<< Some requirement checks failed. You must fulfill these requirements before continuing with the installation, Continue? (y/n) [n] y >>> Ignoring required pre-requisite failures. Continuing... Preparing to launch Oracle Universal Installer from /tmp/OraInstall2012-09-08_09-35-16AM. Please wait ... DISPLAY not set. Please set the DISPLAY and try again. Depending on the Unix Shell, you can use one of the following commands as examples to set the DISPLAY environment variable: - For csh: % setenv DISPLAY 192.168.1.128:0.0 - For sh, ksh and bash: $ DISPLAY=192.168.1.128:0.0; export DISPLAY Use the following command to see what shell is being used: echo $SHELL Use the following command to view the current DISPLAY environment variable setting: echo $DISPLAY - Make sure that client users are authorized to connect to the X Server. To enable client users to access the X Server, open an xterm, dtterm or xconsole as the user that started the session and type the following command: % xhost + To test that the DISPLAY environment variable is set correctly, run a X11 based program that comes with the native operating system such as 'xclock': % If you are not able to run xclock successfully, please refer to your PC-X Server or OS vendor for further assistance. Typical path for xclock: /usr/X11R6/bin/xclockLa descripción ya nos da varias pistas, pero vamos a ver los pasos necesarios para hacer funcionar las X a través de un tunel SSH con nuestra máquina local. Suponemos que la máquina local (GNU/Linux) dispone de entorno gráfico instalado. La máquina Oracle utilizará el usuario “oracle” para la instalación.
Lo primero es instalar los paquetes necesarios de xauth en la máquina de Oracle:
# yum install xorg-x11-xauth.x86_64 xorg-x11-server-utils.x86_6 Setting up Install Process Resolving Dependencies ... ... ===================================================================================================================== Package Arch Version Repository Size ===================================================================================================================== Installing: xorg-x11-xauth x86_64 1:1.0.2-7.1.el6 ol6_latest 34 k Installing for dependencies: libICE x86_64 1.0.6-1.el6 ol6_latest 52 k libSM x86_64 1.1.0-7.1.el6 ol6_latest 26 k libX11 x86_64 1.3-2.el6 ol6_latest 582 k libX11-common noarch 1.3-2.el6 ol6_latest 188 k libXau x86_64 1.0.5-1.el6 ol6_latest 21 k libXext x86_64 1.1-3.el6 ol6_latest 33 k libXmu x86_64 1.0.5-1.el6 ol6_latest 58 k libXt x86_64 1.0.7-1.el6 ol6_latest 174 k libxcb x86_64 1.5-1.el6 ol6_latest 99 k Transaction Summary ===================================================================================================================== Install 10 Package(s) ... ...Mientras tanto, en nuestro host local, que es el que tiene entorno gráfico debemos permitir el acceso a las X a la máquina remota. Por defecto no se permite más que al usuario local:
$ xhost access control enabled, only authorized clients can connect SI:localuser:alexgarciaPodéis permitirlo para todos temporalmente o para un único host:
$ xhost + access control disabled, clients can connect from any hostPara un único host:
$ xhost +Seguimos en la máquina local y ejecutamos:
$ xauth list alex-lt/unix:0 MIT-MAGIC-COOKIE-1 f796d0a9a879facffdd3acffcfc1c160Ya hemos terminado en la máquina con entorno gráfico, ahora accedemos a la máquina Oracle, esta vez activando la redirección de X (podemos añadir el debug -vv para ver que todo va bien).
$ ssh -X oracle@192.168.1.129 -vvUna vez dentro debemos añadir a la lista de xauth la máquina a la que vamos a hacer redirección de X, es la cadena de texto de antes:
$ xauth add alex-lt/unix:0 MIT-MAGIC-COOKIE-1 f796d0a9a879facffdd3acffcfc1c16A partir de aquí si todo ha ido bien deberíamos poder ejecutar aplicaciones con entorno gráfico, por ejemplo xclock:
$ xclockSi os da algún problema después del xauth en la máquina Oracle, probad a salir de la sesión ssh y volver a entrar:
$ ssh -X oracle@192.168.1.129 -vvAseguraos también de que la máquina local con X permite el X11Forwarding:
~$ grep X11 /etc/ssh/sshd_config X11Forwarding yes
Comentarios
Publicar un comentario