Conectando al servidor de terminales

Uno de los problemas que nos encontramos en el centro es que tanto el profesorado como el personal de administración pretenden utilizar el servidor como un cliente más. Es muy frecuente que nos pregunten el motivo de tener un equipo con una contraseña que únicamente conoce una persona y por lo tanto no puede ser utilizado ni para imprimir un documento. El personal de administración, escaso de recursos informáticos, considera un derroche económico tener un equipo parado. La realidad es que el servidor es el equipo más importante de la estructura que estamos creando y por ello debe estar ubicado en un lugar de difícil acceso, aunque ello dificultará nuestras tareas de configuración y mantenimiento. Pero eso no es problema ya que de forma remota disponemos de pleno acceso al servidor aunque no estemos situados físicamente sobre la consola del mismo.

Conexión remota mediante ssh

SSH es un protocolo que, entre otras cosas, permite establecer una conexión en modo texto desde un terminal hacia un servidor, pero si en el terminal disponemos de un servidor gráfico X, sería posible incluso ejecutar aplicaciones gráficas en el servidor y redirigir la salida hacia el servidor grafico de nuestro terminal, logrando una conexión gráfica remota.

Para realizar una conexión gráfica remota mediante ssh necesitamos tan solo dos elementos: Como terminal gráfico X sirve un PC que tenga cualquier distribución de linux en modo gráfico. Incluso existe la posibilidad de conectar desde sistemas operativos Microsoft Windows si instalamos cygwin. Los pasos a realizar son dos:

El servidor ssh deberá tener activada la redirección del protocolo X (lo está por defecto), es decir, deberá tener el siguiente parámetro en el archivo de configuración /etc/ssh/sshd_config:

// Habilitar la redirección X en /etc/ssh/sshd_config
X11Forwarding yes

Para arrancar el servidor ssh debemos ejecutar:

// Arrancar el servidor ssh
# /etc/init.d/ssh start

Nota: Para más información sobre el servicio ssh, consultar el apartado 'Otros servicios'

Una vez dispongamos de un servidor ssh funcionando, desde el cliente podremos iniciar sesión en el servidor mediante el comando ssh (cliente ssh)  y una vez iniciada sesión en el servidor, podemos lanzar cualquier aplicación gráfica que se visualizará en la pantalla del cliente.

Por ejemplo, supongamos que en nuestro terminal tenemos una versión reducida de Linux como Damn Small Linux (http://www.damnsmalllinux.org ) y deseamos conectarnos a otro PC que tiene instalado Knoppix y ejecutar el editor gráfico gimp, los pasos que haremos serán:

// Conexión gráfica remota por ssh
[dsl]$ ssh -X pepe@192.168.0.50 // Nos conectamos por ssh como usuario...
...pepe y añadimos la opción -X para redirigir Xwindows.
[knoppix]$ gimp // Ya estamos conectados. Ejecutamos el gimp

El resultado será que desde el terminal podemos manejar la aplicación gimp que realmente se está ejecutando en el servidor. Podemos verlo en la siguiente imagen:

Ejecución de una aplicación gráfica remotamente

Si deseamos disponer del escritorio completo, podemos ejecutar:

// Ejecutar escritorio gnome
$ gnome-session

De esta forma tendremos en nuestro terminal un escritorio gnome del servidor.

Los terminales podrían disponer de un sistema linux mínimo configurado de manera que al arrancar se conecten automáticamente al servidor de terminales. De ésta forma los usuarios creerán que están manejando el PC en el que están sentados aunque realmente están manejando las aplicaciones del servidor.

Se podrían conectar simultáneamente tantos usuarios como permita la memoria del servidor aunque lógicamente, cuantos más usuarios se conecten de forma simultánea, mayor será la carga del servidor y más lenta será su respuesta. Para que el servidor vaya un poco suelto, debe disponer de unos 256 MB por cada cliente. Conviene que disponga de discos duros rápidos e incluso en sistema RAID 1 (espejo) para mayor seguridad y rapidez.