¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
  1. Libros
  2. LINUX
  3. X Window
Extrait - LINUX Dominar la administración del sistema (5ª edición)
Extractos del libro
LINUX Dominar la administración del sistema (5ª edición)
1 opinión
Volver a la página de compra del libro

X Window

¿Cómo funciona un entorno gráfico?

1. X Window System

a. Un modelo cliente/servidor

Mientras en otros sistemas operativos se integra la interfaz gráfica en lo más profundo del sistema, Unix y Linux disponen de una arquitectura gráfica totalmente diferente. El sistema gráfico básico se llama X Window System o, de manera más corriente, X Window, X11 o sencillamente X.

X no es sólo un simple programa. Es un sistema gráfico completo encargado de dibujar y gestionar los eventos de los componentes habituales de un entorno gráfico de usuario GUI (Graphical User Interface): ventanas, botones, menús, listas, menús desplegables, casillas de selección, cursores de ratón, etc. Tome nota: X puede gestionar y mostrar estos componentes gráficos, pero no se encarga de instalarlos. X sólo gestiona las interacciones entre el hombre y la máquina.

images/chap9_001.png

Arquitectura X Window

X tiene otra particularidad: es cliente/servidor. A menudo, el servidor X es un componente de software en un ordenador que dispone de un teclado, un ratón y una pantalla. Recibe y responde a órdenes de visualización, o procedentes del teclado o ratón. El cliente X se conecta al servidor y le manda órdenes de visualización, peticiones de entrada a través del teclado o el estado del ratón. Dic ...

Xorg

1. Condiciones generales y Wayland

Desde la aparición de Xorg, la configuración de X Window se ha visto reducida al mínimo: solo concierne generalmente a los casos en los que es necesario la modificación del comportamiento por defecto. Como prueba, en diez años, el autor solo ha tenido que modificar la configuración en dos ocasiones para activar opciones experimentales de su tarjeta gráfica.

Wayland es, al igual que Xorg, un protocolo de comunicación entre un servidor de pantalla y sus clientes. Se proporciona un conjunto de bibliotecas para permitir el uso nativo por las aplicaciones. Se desarrolló Wayland con el objetivo de reemplazar Xorg, que se ha convertido en una aplicación pesada, menos segura (las comunicaciones entre el cliente y el servidor transitan sin estar cifradas), y es poco eficiente. La implementación de Wayland en Linux se llama Weston. La diferencia más visible con respecto a Xorg es el uso obligatorio de un compositor gráfico para administrar la visualización, lo que implica el uso de funciones avanzadas de bibliotecas o pilotos gráficos, y de material asociado: por ejemplo openGL con la aceleración material 3D.

La aparición de Wayland no hace obsoleto el uso de X Window: algunos entornos y algunas aplicaciones todavía lo necesitan. El componente XWayland asegura la compatibilidad de las aplicaciones X con Wayland. Se trata de Xorg parcheado que funciona como una capa de Wayland.

Las distribuciones Ubuntu 20.04, SLES, openSUSE 15.2, Red Hat Linux 8 y CentOS 8 siguen usando Xorg de manera nativa por defecto. En la mayoría de los casos, los editores no consideran nativemente Wayland como lo bastante estable para reemplazar Xorg, sin embargo permiten su activación para realizar pruebas, pero sin dar soporte.

A Xorg le quedan algunos años de cohabitación con Wayland.

Para saber si su distribución utiliza Wayland, compruebe la presencia de la variable de entorno WAYLAND_DISPLAY

$ echo $WAYLAND_DISPLAY 
wayland-0 

Si quiere conocer las aplicaciones que usan XWayland, use el comando xlsclients. Este comando lista los clientes X (XWayland o Xorg) activos. Si falta alguna aplicación gráfica que esté funcionando, es porque está usando Wayland. He aquí un ejemplo con la aplicación Firefox en XWayland:...

El Display Manager

1. Principio

El Display Manager, o gestor de visualización, es un elemento de X Window que se encarga de la conexión de usuarios, locales o remotos, de su autenticación, y de la carga de componentes en su entorno de trabajo al abrir sesión. Gestiona un conjunto de visualizaciones X que pueden ser locales o remotas.

Para las conexiones remotas, el Display Manager se apoya en el protocolo estándar XDMCP (X Display Manager Control Protocol).

El Display Manager representa más o menos el equivalente gráfico de los servicios propuestos por init, getty y login: pide identificadores y contraseñas, autentica a las personas y abre una sesión.

El gestor por defecto se llama XDM: X Display Manager. Su estilo gráfico no resulta muy atractivo, pero es ligero y funciona con todos los servidores X.

Se puede ver una sesión X como una sesión de consola: es la duración del proceso de un usuario después de la conexión. En una consola es el shell; en X, es una «session manager», en general, el gestor de ventanas (o un proceso del entorno ofimático) o un terminal gráfico. Cuando este proceso está cerrado (desconexión del terminal, salida del entorno ofimático, etc.) la sesión finaliza y el sistema vuelve a mostrar la caja de conexión de XDM (o cualquier otro Display Manager).

Es posible abrir varias sesiones X desde un solo Display Manager, incluso en una misma máquina.

Linux dispone de varios Display Manager, pero se utilizan principalmente cuatro:

  • XDM: versión básica.

  • GDM: versión propuesta por GNOME.

  • KDM: versión ofrecida por KDE.

  • LightDM: versión ofrecida por Ubuntu y Unity, reemplazado por GDM después de que se abandonara este último.

Las versiones GDM, KDM y lightDM han evolucionado: ofrecen lo mismo que XDM con funcionalidades adicionales:

  • lista de los usuarios.

  • iconos (avatares) asociados.

  • elección de una sesión gráfica particular (Gnome, fvwm, KDE, etc.).

  • posibilidad de autoconexión.

  • temas gráficos atractivos.

  • lista de los servidores X remotos (XDMCP).

  • pasar de un usuario a otro.

  • etc.

2. XDM

a. Configuración general

Aunque XDM ya no se utilice demasiado, puede ser necesario comprender su funcionamiento ya que todos los demás toman la configuración de base...

Window Manager y entorno personal

1. Mediante el Display Manager

El tipo de entorno gráfico cargado por la sesión X se suele determinar desde gdm o kdm (no es habitual utilizar xdm) y el menú asociado. Éstos recuerdan la sesión anterior como sesión por defecto gracias a la presencia del archivo .dmrc en su directorio personal:

jolivares@ubuntu:~$ pwd  
/home/jolivares  
jolivares@ubuntu:~$ cat .dmrc  
[Desktop]  
Session=ubuntu 

En las últimas versiones, habrá que buscar en/var/lib/ServiceAccounts/users/$USER. El archivo se llama como el usuario. Esto evita a gdm o a kdm la necesidad de tener derechos extendidos para leer sus archivos:

# cat alejandro 
[User]  
Language=  
Session=  
XSession=icewm-session  
Icon=/home/alejandro/.face  
SystemAccount=false 

Tanto si utiliza como gestor gdm o como si emplea kdm, notará que ambos comparten la lista de las sesiones posibles. Es una de las ventajas de Freedesktop: los archivos de descripción de las sesiones están ubicados en /usr/share/xsessions (la descripción del archivo kdmrc configura otras ubicaciones alternativas).

$ ls -l /usr/share/xsessions/  
total 12  
-rw-r--r-- 1 root root  207 oct.   4 13:16 gnome.desktop  
-rw-r--r-- 1 root root 2274 sept. 21 03:30 plasma.desktop  
-rw-r--r-- 1 root root  238 oct.   4 13:16 ubuntu.desktop 

Cada archivo desktop representa una sesión posible. Las descripciones y los comandos de inicio están presentes en cada uno de los archivos, y en particular mediante las líneas Exec y Name:

$ grep -E "Exec|Name=" /usr/share/xsessions/*.desktop  
/usr/share/xsessions/gnome.desktop:Name=GNOME  
/usr/share/xsessions/gnome.desktop:Exec=gnome-session --session=gnome  
/usr/share/xsessions/gnome.desktop:TryExec=gnome-shell  
/usr/share/xsessions/plasma.desktop:Exec=/usr/bin/startkde  
/usr/share/xsessions/plasma.desktop:TryExec=/usr/bin/startkde  
/usr/share/xsessions/plasma.desktop:Name=Plasma  
/usr/share/xsessions/ubuntu.desktop:Name=Ubuntu  
/usr/share/xsessions/ubuntu.desktop:Exec=/usr/lib/gnome-session/
run-systemd-session ubuntu-session.target  
/usr/share/xsessions/ubuntu.desktop:TryExec=unity 

Cuando selecciona...

Escritorio remoto

1. RDP

Remote Desktop Protocol es un protocolo de escritorio remoto, desarrollado por Microsoft, para sistemas operativos Windows. Existen clientes, e incluso servidores, para todos los sistemas operativos, incluído Linux. Es posible dar seguridad a la conexión usando certificados.

El servidor se llama xrdp. Está disponible en la mayoría de las distribuciones instalando el paquete que lleva el mismo nombre. En una Fedora 31 o una CentOS 8, se instala de la manera siguiente:

# yum -y install xrdp  # o dnf install xrdp, en Fedora, Red Hat, CentOS 
# apt-get install xrdp # en Ubuntu o Debian  
# systemctl start xrdp  
# systemctl enable xrdp # arranque automático 

RDP escucha en el puerto 3389 en TCP. Habrá que autorizar el puerto de escucha como sigue:

En Red Hat o CentOS 8 o versiones más recientes, y Fedora:

# firewall-cmd --permanent --zone=public -add-port=3389/tcp  
# firewall-cmd --reload 

En Ubuntu, hay que abrir el puerto pero también modificar una regla de seguridad:

# ufw allow 3389/tcp 

Después, modifique el archivo /etc/polkit-1/localauthority.conf.d/02-allow-colord.conf añadiendo:

polkit.addRule(function(action, subject) {  
if ((action.id == “org.freedesktop.color-manager.create-device” || action.id == 
“org.freedesktop.color-manager.create-profile” || action.id ==   
“org.freedesktop.color-manager.delete-device”...

Accesibilidad

Si bien la mayoría de usuarios no tienen problemas para leer una pantalla, escribir con un teclado y utilizar un ratón, otros pueden padecer trastornos que les impidan trabajar de manera normal. Según la minusvalía, Linux y sus herramientas proponen varios medios para ayudar a estas personas.

Esta sección repasa algunos de los medios disponibles para ayudar a los minusválidos, en particular con discapacidades motrices o visuales.

1. Asistencia al teclado y el ratón

Un simple ajuste del teclado puede ayudar une persona con problemas motores. Por ejemplo, una persona lenta va a dedicar mucho tiempo a buscar una tecla, con el riesgo de equivocarse; luego apretará demasiado tiempo la tecla deseada, lo que tendrá como efecto repetir el carácter tecleado varias veces.

El módulo AccessX del entorno gráfico permite muchos ajustes. Son accesibles desde los centros de configuración de los entornos gráficos. En KDE, por ejemplo, el módulo Accesibilidad de la pestaña General de la configuración del sistema propone modificar numerosos ajustes por defecto, entre los cuales se encuentra el funcionamiento del teclado. Por ejemplo, en la pestaña Filtros de teclado, marque Usar teclas lentas. Si una persona quiere efectuar una acción, no se tendrá en cuenta hasta que se cumpla el plazo elegido (0,5 segundos por defecto). Debajo, Usar teclas...