GNU/Linux >> Tutoriales Linux >  >> Linux

Xorg, X11, Wayland? Servidores de visualización y protocolos de Linux explicados

¿Alguna vez te has preguntado qué hacen el servidor X, Xorg, X11, Wayland y cosas por el estilo? Wayland vs Xorg, ¿qué es mejor? Esta guía es para ti !

Siempre te topas con esos términos y sabes que tienen que ver con los gráficos, pero te gustaría aprender más.

¿Qué es un servidor de pantalla en Linux?

Un servidor de visualización es un programa cuya tarea principal es coordinar la entrada y salida de sus clientes hacia y desde el resto del sistema operativo, el hardware y entre sí. El servidor de visualización se comunica con sus clientes a través del protocolo del servidor de visualización.

El servidor de visualización es crucial en cualquier interfaz gráfica de usuario, específicamente en el sistema de ventanas. El componente básico de la interfaz gráfica de usuario (GUI) se encuentra entre la interfaz gráfica y el kernel.

Entonces, gracias a un servidor de visualización, puede usar su computadora con GUI. Sin él, solo estaría restringido a una interfaz de línea de comandos.

Es fundamental no confundir el servidor de visualización con un entorno de escritorio. Los entornos de escritorio (Gnome, KDE, Xfce, MATE, etc.) utilizan servidores de visualización.

El servidor de visualización se comunica con sus clientes a través del protocolo del servidor de visualización. Hay tres protocolos de servidor de visualización disponibles en Linux. X11 y Wayland son dos de ellos. El tercero, Mir, está más allá del alcance de este tutorial.

Sistema de ventanas X, Xorg, X11, explicado

Sistema de ventanas X

El sistema X Window, a menudo denominado simplemente X, es antiguo. Originalmente originado en 1984, era el sistema de ventanas predeterminado para la mayoría de los sistemas operativos similares a UNIX, incluido Linux.

X.Org

El servidor X.Org es la implementación gratuita y de código abierto del servidor de pantalla X Window System administrado por la Fundación X.Org. Es una aplicación que interactúa con las aplicaciones cliente a través del protocolo X11 para dibujar cosas en la pantalla y enviar eventos de entrada como movimientos del mouse, clics y pulsaciones de teclas.

Por lo general, uno iniciaría un servidor X que esperará a que las aplicaciones del cliente se conecten a él. Sin embargo, Xorg se basa en un modelo cliente/servidor y, por lo tanto, permite que los clientes se ejecuten de forma local o remota en una máquina diferente.

Si no es obvio, está implícito en el diseño de X11 que la aplicación y la pantalla no tienen que estar en la misma computadora. Cuando se desarrolló X, era generalizado que el servidor X se ejecutaría en una estación de trabajo y los usuarios ejecutarían aplicaciones en una computadora remota con más poder de procesamiento.

X11

X11 es un protocolo de red. Describe cómo se intercambian los mensajes entre un cliente (aplicación) y la pantalla (servidor). Estos mensajes suelen llevar comandos de dibujo primitivos como "dibujar un cuadro", "escribir estos caracteres en esta posición", "se ha hecho clic en el botón izquierdo del ratón", etc.

Pero X11 es viejo, y todavía era un montón de trucos sobre un protocolo que no se revisó durante más de 30 años. La mayoría de las funciones del protocolo X Server ya no se usaban.

Todo el trabajo que hizo X11 fue redelegado a las aplicaciones individuales y al administrador de ventanas. Y, sin embargo, todas esas funciones antiguas siguen ahí, pesando sobre todas estas aplicaciones, perjudicando el rendimiento y la seguridad.

Wayland, el servidor de visualización de próxima generación

Wayland fue iniciado por Kristian Hogsberg, un desarrollador de X.Org, como un proyecto personal en 2008. Es un protocolo de comunicación que especifica la comunicación entre un servidor de visualización y sus clientes.

Wayland se desarrolla como un proyecto impulsado por la comunidad gratis y de código abierto para reemplazar el sistema de ventanas X (también conocido como X11 o Xorg ) con un sistema de ventanas moderno, seguro y más sencillo.

En Wayland, el compositor es el servidor de visualización. El compositor es un administrador de ventanas que proporciona a las aplicaciones un búfer fuera de pantalla para cada ventana. El administrador de ventanas compone los búferes de ventana en una imagen que representa la pantalla y escribe el resultado en la memoria de visualización.

El protocolo Wayland permite que el compositor envíe los eventos de entrada directamente a los clientes y permite que el cliente envíe el evento de daño directamente al compositor.

Como en el caso X, cuando el cliente recibe el evento, actualiza la interfaz de usuario (UI). Pero en el renderizado de Wayland ocurre en el cliente, por lo que el cliente envía una solicitud al compositor para indicar la región que se actualizó.

La principal ventaja de Wayland sobre X es que parte de cero. Una de las principales razones de la complejidad de X es que, a lo largo de los años, su función ha cambiado. Como resultado, en la actualidad, X11 actúa en gran medida como un protocolo de comunicaciones "realmente terrible" entre el cliente y el administrador de ventanas.

Wayland también es superior cuando se trata de seguridad. Con X11, es posible hacer algo conocido como "registro de teclas" al permitir que cualquier programa exista en segundo plano y lea lo que sucede con otras ventanas abiertas en el área X11.

Esto simplemente no sucederá con Wayland, ya que cada programa funciona de forma independiente.

Conclusión

Sin embargo, el sistema X Window todavía tiene muchas ventajas sobre Wayland. Aunque Wayland elimina la mayoría de los defectos de diseño del Xorg, tiene sus problemas. A pesar de que el proyecto Wayland ha estado activo durante más de diez años, las cosas no son 100 % estables.

A partir de 2022, la mayoría de los videojuegos y las aplicaciones con uso intensivo de gráficos para Linux todavía se escriben para X11. Además, muchos controladores de gráficos de código cerrado, como los de NVIDIA GPU, aún no ofrecen soporte completo para Wayland.

X no puede durar y Wayland, en muchos sentidos, es una mejora. Pero por ahora, la gran mayoría de las aplicaciones nativas fueron escritas para Xorg. Hasta que todas esas aplicaciones estén portadas, Xorg necesita mantenimiento. Wayland no es muy estable todavía, en comparación con Xorg.


Linux
  1. Comunicación entre procesos en Linux:sockets y señales

  2. Linux:¿deshabilitar/modificar el botón central para pegar en X11/xorg?

  3. ¿La distribución de Linux se ejecuta completamente en Wayland (sin X11)?

  4. Agente Nova (Linux) y Agente Rackspace (Windows)

  5. Cómo instalar el servidor RabbitMQ y Erlang en Linux

Linux:¿cómo funciona la pantalla de Linux?

Jenkins Server en Linux:un servidor de automatización gratuito y de código abierto

30 herramientas y servicios interesantes para monitorear sus servidores Linux

Uso de Ajenti en la gestión de servidores Linux

Cómo instalar y configurar el servidor DNS en Linux

¿Cómo funciona la pantalla de Linux?