GNU/Linux >> Tutoriales Linux >  >> Linux

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

El sistema de visualización de Linux utiliza múltiples tecnologías , protocolos, extensiones, aplicaciones, servidores (daemon), drivers y conceptos para lograr el sistema de ventanas por ejemplo:
Xorg, Wayland, X11, OpenGL, RandR, XrandR, resolución de pantalla, DPI, servidor de visualización, etc.

Esa multitud puede ser abrumadora o confusa cuando no tenemos la imagen completa. Hay múltiples documentaciones para cada lado del sistema de visualización de Linux, pero globalmente, ¿cómo funciona exactamente?

Respuesta aceptada:

Pantalla Linux

El sistema de visualización de Linux utiliza múltiples tecnologías, protocolos, extensiones, aplicaciones, servidores (daemon), controladores y conceptos para lograr el sistema de ventanas, por ejemplo:Xorg, Wayland, X11, OpenGL, RandR, XrandR, Resolución de pantalla, DPI, Servidor de visualización , etc. Esto puede ser abrumador de entender por completo, pero cada lado tiene un propósito específico y no se usan todos juntos al mismo tiempo.

Protocolo X

El sistema de ventanas X, X11 (X versión 11) es un sistema de ventanas para pantallas de mapa de bits, común en sistemas operativos similares a Unix, X proporciona el marco básico para un entorno GUI:dibujar y mover ventanas en el dispositivo de visualización e interactuar con un mouse y un teclado. X no exige la interfaz de usuario, esto lo manejan los programas individuales. Como tal, el estilo visual de los entornos basados ​​en X varía mucho; diferentes programas pueden presentar interfaces radicalmente diferentes. X se originó en el Proyecto Athena en el Instituto Tecnológico de Massachusetts (MIT) en 1984. El protocolo X ha estado en la versión 11 (de ahí "X11") desde septiembre de 1987. La Fundación X.Org lidera el proyecto X, con la implementación de referencia actual , X.Org Server, disponible como software gratuito y de código abierto bajo la licencia MIT y licencias permisivas similares.

Implementación X

La mayoría de las distribuciones de Linux utilizan servidor X.Org que es la implementación gratuita y de código abierto del servidor de visualización para el Sistema X Window (X11) administrado por la Fundación X.Org. Xorg/X por sí solo no admite varias funciones proporcionadas, como escalado o renderizado, para eso Xorg usa extensiones como XFixes, RandR (RandR es administrado por xrandr puede, por ejemplo, configurar la panorámica, la resolución o el escalado), GLX (extensión de OpenGL), Render o Composite, lo que hace que un subárbol completo de la jerarquía de ventanas se represente en un búfer fuera de la pantalla, las aplicaciones pueden tomar el contenido de ese búfer y hacer lo que quieran, el búfer fuera de la pantalla se puede fusionar automáticamente en la ventana principal o fusionado por programas externos, llamados administradores de composición para hacer la composición por su cuenta como algunos administradores de ventanas hacer; P.ej. Compiz, Enlightenment, KWin, Marco, Metacity, Muffin, Mutter y Xfwm. Para otros "sin composición “Administradores de ventanas, se puede usar un administrador compuesto independiente, por ejemplo:Picom, Xcompmgr o Unagi. Extensiones compatibles con Xorg se puede enumerar con:xdpyinfo -display :0 -queryExtensions | awk '/^number of extensions:/,/^default screen number/' .

Por otro lado Wayland está pensado como un reemplazo más simple para Xorg/X11, más fácil de desarrollar y mantener, pero a partir de 2020, el soporte de escritorio para Wayland aún no está completamente listo, aparte de Gnome (por ejemplo, soporte para KDE Kwin y Wayland); en el lado de las distribuciones, Fedora usa Wayland por defecto. Tenga en cuenta que Wayland y Xorg pueden funcionar simultáneamente, este puede ser el caso dependiendo de la configuración utilizada. XWayland es una serie de parches sobre el código base del servidor X.Org que implementa un servidor X que se ejecuta en el protocolo Wayland. Los parches son desarrollados y mantenidos por los desarrolladores de Wayland para que sean compatibles con las aplicaciones X11 durante la transición a Wayland, y se incluyeron en la versión 1.16 del servidor X.Org en 2014. Cuando un usuario ejecuta una aplicación X desde Weston, llama a XWayland para atender la solicitud.

Relacionado:Después de actualizar a MacOS Catalina, ¿MAMP ya no funciona con la raíz en un montaje de red?

Todo el alcance

Un servidor de visualización o el servidor de ventanas es un programa (como Xorg o Wayland) 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, un protocolo de comunicaciones, que puede ser transparente a la red o simplemente compatible con la red. Por ejemplo, X11 y Wayland son protocolos de comunicación de servidores de visualización.

Como se muestra en el diagrama, un administrador de ventanas es otro elemento importante del entorno de escritorio que es un software de sistema que controla la ubicación y apariencia de las ventanas dentro de un sistema de ventanas en una interfaz gráfica de usuario. La mayoría de los administradores de ventanas están diseñados para ayudar a proporcionar un entorno de escritorio. Trabajan en conjunto con el sistema gráfico subyacente que proporciona el soporte de funcionalidad requerido para el hardware de gráficos, los dispositivos señaladores y un teclado, y a menudo se escriben y crean usando un kit de herramientas de widgets. KDE usa KWin como administrador de ventanas (tiene un soporte limitado para Wayland a partir de 2020), de manera similar, Gnome 2 usa Metacity y Gnome 3 usa Mutter como administrador de ventanas.

Otro aspecto importante de un administrador de ventanas es el compositor o administrador de ventanas de composición , que 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. Los administradores de ventanas de composición pueden realizar un procesamiento adicional en las ventanas almacenadas en búfer, aplicando efectos animados 2D y 3D, como mezclar, desvanecer, escalar, rotar, duplicar, doblar y contorsionar, barajar, difuminar, redirigir aplicaciones y traducir ventanas a una de varias pantallas. y escritorios virtuales. La tecnología de gráficos por computadora permite que los efectos visuales se representen en tiempo real, como sombras paralelas, vistas previas en vivo y animaciones complejas. Dado que la pantalla tiene doble búfer, no parpadea durante las actualizaciones. Los administradores de ventanas de composición más utilizados incluyen:Linux, BSD, Hurd y OpenSolaris-Compiz, KWin, Xfwm, Enlightenment y Mutter. cada uno tiene su propia implementación, por ejemplo, el compositor de KWin de KDE tiene muchas características/configuraciones como velocidad de animación, prevención de desgarro (vsync), miniaturas de ventana, método de escala y puede usar OpenGLv2/OpenGLv3 o XRender como un backend de renderizado junto con Xorg. (XRender/Render no debe confundirse con XRandR/RandR).

OpenGL (Biblioteca de gráficos abiertos) es una interfaz de programación de aplicaciones (API) multiplataforma y multilenguaje para renderizar gráficos vectoriales 2D y 3D. La API generalmente se usa para interactuar con una unidad de procesamiento de gráficos (GPU), para lograr una representación acelerada por hardware. OpenGL es una biblioteca de renderizado que se puede usar con Xorg, Wayland o cualquier aplicación que lo implemente. La instalación de OpenGL se puede comprobar con glxinfo | grep OpenGL .

La resolución de la pantalla o modos de visualización de un monitor de computadora o dispositivo de visualización es el número de píxeles distintos en cada dimensión que se pueden visualizar. Por lo general, se cita como ancho × alto, con las unidades en píxeles:por ejemplo, 1024 × 768 significa que el ancho es 1024 píxeles y la altura es 768 píxeles. xrandr se puede usar para agregar o renderizar/simular una nueva resolución de pantalla.

El PPD representa puntos por pulgada y es una medida de impresión/visualización espacial , en particular, el número de puntos individuales que se pueden colocar en una línea dentro del intervalo de 1 pulgada (2,54 cm). Las pantallas de las computadoras no tienen puntos, pero sí píxeles, el concepto estrechamente relacionado es píxeles por pulgada o PPI y, por lo tanto, DPI se implementa con el concepto PPI. El 96 predeterminado La medida de DPI significa 96 × 96 vertical y horizontalmente. Además, ¿la configuración X DPI (punto por pulgada) solo está diseñada para escalar texto? El control de calidad es muy informativo.

Relacionado:¿Por qué la cinta adhesiva no funciona bien en los cables?

Notas

Algunas herramientas de interfaz gráfica de usuario de KDE: systemsettings5> pantalla, kcmshell5 xserver y kinfocenter .

Referencias

Enlaces y fuentes: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 y 12.


Linux
  1. ¿Qué es un servidor web y cómo funciona un servidor web?

  2. Cómo trabajar con el cliente SFTP en Linux:10 comandos sftp

  3. Linux:¿cómo funciona el promedio de carga con las CPU modernas?

  4. Ssh:¿cómo funciona TCP-keepalive en Ssh?

  5. ¿Cómo funciona el comando 'ls' en Linux/Unix?

Cómo hacer un servidor CS:GO en Linux VPS

¿Qué es el comando fuente en Linux y cómo funciona?

¿Cómo funciona el intercambio de memoria en Linux?

Cómo SSH al servidor a través de Linux

¿Cómo funciona una GUI de Linux en el nivel más bajo?

¿Cómo funciona la pantalla de Linux?