LPIC-1 Tema 106.2: entornos de escritorio

En el tema 106.2 de las certificaciones LPIC-1 se recoge todo lo referente al conocimiento básico sobre los principales entornos de escritorio o entornos gráficos. Esto pasa por conocer los escritorios más importantes para GNU/Linux, aunque existen más, tanto derivados de estos como completamente nuevos, LPI no los contempla por no ser tan usados.

Los candidatos que se enfrenten a las preguntas de estas pruebas tendrán que contestar preguntas tipo test sobre estos entornos gráficos, así como algunos protocolos usados para el acceso a sesiones remotas.

Entornos de escritorio

KDE Plama 5

Exponer información sobre cada uno de estos entornos, al igual que hacerlo del servidor gráfico X o de Wayland es algo estúpido. Sería llenar el artículo de teoría que ya la puedes encontrar en otras webs. Por eso, me limitaré a indicarte qué entornos son los que debes conocer para las certificaciones:

En esas Wikis puedes conocer algo más a fondo estos entornos… Y recuerda que al igual que te dije con las distribuciones, no son importantes si eliges una u otra para tu uso diario. Solo en algunos casos puede ser importante elegir y acostumbrarse a alguno concreto. Por ejemplo, en el caso de las distros para certificaciones de la Linux Foundation debes elegir CentOS o Ubuntu.

En cuanto a los entornos de escritorio, solo sería relevante si vas a hacer algunas certificaciones específicas. Por ejemplo, para las certificaciones de Red Hat es importante GNOME, ya que lo han adoptado como el escritorio predeterminado…

Protocolos de comunicación

Más importantes son los protocolos de comunicación, que en este caso sí me detendré un momento a explicar lo básico.

X11 – ssh (forwarding)

Seguramente sabrás que se puede iniciar una sesión gráfica remota desde cualquier máquina remota. Eso se puede gracias a exportar el display a nuestro propio entorno. Dicho de otro modo, la aplicación ejecutada se ejecuta en un servidor remoto, pero la interfaz gráfica que podemos ver aparece en nuestro cliente o escritorio local.

Para que eso sea posible es necesario ver si está configurado en el fichero /etc/ssh/ssh_config donde debería estar la opción siguiente opción marcada como yes y sin comentar (#), es decir, así:

X11Forwarding yes

Si está así, puedes continuar con los siguientes pasos. Mientras que si has tenido que modificarla, deberás reiniciar el demonio ssh tras guardar los cambios para que surta efecto.

Lo siguiente es bastante simple sería iniciar sesión (desde el equipo local) en el servidor remoto con ssh y el parámetro -X. Para ello necesitas la IP del servidor remoto o su nombre de red, así como el nombre de usuario y contraseña. Por ejemplo, imagina que el servidor remoto es el siguiente:

#Orden normal
ssh -X isaac@192.168.20.4

#Cuando el ancho de banda o velocidad de la conexión no son buenos, puedes usar compresión
ssh -X -C isaac@192.168.20.4

Ahora ya tengo una sesión abierta entre mi cliente y el servidor remoto. Si invoco el nombre de la aplicación gráfica se me abrirá la ventana. Por ejemplo, aquí abro el navegador web Firefox y el IDE Eclipse:

firefox &
eclipse &

Esas apps no estarán ejecutándose o consumiendo recursos en mi máquina, los procesos correspondientes se están ejecutando en el servidor remoto. ¡Ojo!

Bien, visto esto, existe otra línea junto a la anterior del fichero /etc/ssh/ssh_config que es esta otra (si está activa):

ForwardX11Trusted yes

Al habilitar Trusted X11 Forwarding se puede acelerar la velocidad de conexión, ya que se evitan algunos pasos de seguridad, aunque no es recomendable. En este caso, el procedimiento sería igual, solo que para ssh habría que usar el parámetro -Y, y el resto de pasos sigue siendo el mismo…:

ssh -Y usuario@hostname

Por cierto, otra opción para acceder a una sesión gráfica remota sería usando el greeter, es decir, el recuadro de sesión gráfica en el que introduces los credenciales. Se haría a través de xdm, kdm, gdm, lightDM, etc., según cuál sea el tuyo (busca su configuración en /usr/share/ o /etc). Una vez configurado según tu caso, podrás simplemente elegir el nombre de usuario remoto e introducir la contraseña para que muestre un escritorio remoto en vez del tuyo local…

XDMCP

Puedes usar XDMCP (X Display Manager Control Protocol) para poder iniciar una sesión remota o en varias. Cada sesión necesita de un número de pantalla como :0 o :1, etc., ya que la máquina podría tener varias pantallas asociadas.

X :0 -query 192.168.4.20

#También es posible usar Xnest, como:
Xnest :0 -query servidor1

Puedes usar tanto la IP del servidor remoto como también su hostname. Aunque usar XDMCP no es un método recomendable por problemas de seguridad. T recomiendo mejor usar ssh como antes he mostrado. Por ejemplo:

ssh -Y 192.168.4.20 Xnest :1 -query localhost

Por cierto, en cuanto a Xnest, sirve para direccionar su salida a una ventana gráfica en la que se pueden abrir varias ventanas dentro. A nivel de protocolo, Xnest actúa como un cliente de X Windows y como un servidor respectoa  las aplicaciones que se abren dentrod e la ventana Xnest.

RDP

RDP (Remote Desktop Protocol) es otro protocolo propietario de Microsoft para comunicación que debes conocer para iniciar sesión remota. En Linux, podrías acceder a un escritorio remoto de un servidor que esté a la escucha por el puerto 3389 TCP (por defecto) y un cliente que inicie la conexión, aunque no es muy recomendable usar RDP…

Para ello, puedes usar varias implementaciones de clientes y servidores RCP como xrdp, rdesktop, grdesktop, FreeRDP, etc. Por ejemplo, con xrdp puedes seguir estos pasos:

#Instala el paquete xrdp en el servidor con tu gestor de paquetes. Por ejemplo:
sudo apt-get install xrdp

#Asegúrate de que la configuración es correcta en el fichero /etc/X11/Xwrapper.config. Debes tener la línea
allowed_users=anybody

#Opcionalmente podrías crear un usuario y grupo para RDP

#Ahora, desde cualquier ordenador usando un cliente RDP podrías acceder a este servidor

SPICE

Es muy importante que conozcas SPICE (Simple Protocol for Independent Computing Environments), un protocolo para abrir escritorios remotos para acceder a máquinas virtuales. De esa manera se puede obtener una experiencia similar a la de una máquina real.

Se necesitará un software ejecutándose en el lado de la máquina virtual (remota) y la máquina local (cliente donde estará un visor de escritorio compatible con SPICE), como es evidente. Además, la MV debe tener los controladores o drivers adecuados. Por ejemplo, los VirtIO y QXL.

Todas las distros desde 2011 tienen los drivers necesarios incluidos en el paquete Xorg, por tanto, solo habría que actuar desde la máquina local (cliente). Por ejemplo, un cliente sencillo y muy habitual sería remote-viewer (con él no necesitas libvirt como con virt-viewer).

Si ya lo tienes instalado en el equipo local (cliente), podrías proceder a conectarte al servidor por SPICE de esta manera. Imagina que la máquina virtual remota se llama mvtest y que usa el puerto de comunicación 5900 para SPICE:

remote-viewer spice://mvtest:5900
También podrías usar remote-viewer para el protocolo VNC sustituyendo spice:// por vnc://, aunque esto no sea interesantepara las certificaciones LPI.

Isaac

Apasionado de la computación y la tecnología en general. Siempre intentando desaprender para apreHender.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

A %d blogueros les gusta esto:

Si continuas utilizando este sitio aceptas el uso de cookies. más información

Los ajustes de cookies de esta web están configurados para "permitir cookies" y así ofrecerte la mejor experiencia de navegación posible. Si sigues utilizando esta web sin cambiar tus ajustes de cookies o haces clic en "Aceptar" estarás dando tu consentimiento a esto.

Cerrar