Cómo se organizan los gráficos en LinuxDescripción general de varios entornos de escritorio

Este artículo trata sobre cómo se estructuran los gráficos en Linux y de qué componentes se compone. Contiene numerosas capturas de pantalla de diversas implementaciones de entornos de escritorio. 

Si no distingues claramente entre KDE y GNOME, o si sí lo haces pero te gustaría conocer otras alternativas, este artículo es para ti. Es una descripción general y, aunque contiene muchos nombres y algunos términos, el material también será útil para principiantes y para quienes se inician en este campo. Linux.

Este tema puede ser de interés para usuarios avanzados, ya sea que estén configurando el acceso remoto o implementando un cliente ligero. A menudo me encuentro con usuarios experimentados de Linux que afirman: "El servidor solo tiene la línea de comandos y no planeo estudiar gráficos en detalle, ya que eso es para usuarios básicos". Pero incluso los expertos Linux Con gran sorpresa y alegría descubren la opción "-X" del comando ssh (y para ello es útil comprender el funcionamiento y las funciones del servidor X).

Cómo se organizan los gráficos en LinuxDescripción general de varios entornos de escritoriofuente

Llevo casi 15 años impartiendo cursos. Linux en "Academia de redes LANITY estoy seguro de que muchas de las más de cinco mil personas a las que he capacitado leen y probablemente escriben artículos en Habr. Los cursos siempre son muy intensos (la duración promedio es de cinco días) y abarcan temas que requerirían al menos diez días para comprenderlos completamente. Durante el curso, dependiendo de la audiencia (principiantes o administradores experimentados) y de las preguntas de los participantes, siempre elijo qué explicar con más detalle y qué tratar de forma más superficial, dedicando más tiempo a las utilidades de línea de comandos y su aplicación práctica. Hay muchos temas que deben dejarse un poco de lado. Esto es historia. Linux", "Diferencias en las distribuciones Linux"," "Acerca de las licencias: GPL, BSD, ...", "Acerca de los gráficos y entornos de escritorio" (el tema de este artículo), etc. No es que no sean importantes, pero normalmente hay muchas más preguntas urgentes "aquí y ahora" y solo unos cinco días... Sin embargo, para una comprensión general de los conceptos básicos del sistema operativo Linux, comprender la diversidad disponible (de modo que incluso utilizando una distribución específica) Linux, todavía tengo una visión más amplia de todo este enorme e ilimitado mundo que se llama "Linux”) Es útil y necesario estudiar estos temas. 

A lo largo del artículo, para cada componente, indico enlaces para aquellos que quieran profundizar en el tema, por ejemplo, a artículos de Wikipedia (mientras señalo una versión más completa/útil si hay artículos en inglés y ruso).

Para ejemplos básicos y capturas de pantalla, utilicé la distribución openSUSE. Era posible usar cualquier otra distribución desarrollada por la comunidad con una gran cantidad de paquetes en el repositorio. Es difícil, pero posible, demostrar la variedad de diseños de escritorio en una distribución comercial, ya que a menudo usan solo uno o dos de los entornos de escritorio más conocidos. Por lo tanto, los desarrolladores reducen la tarea de lanzar un sistema operativo estable y depurado. En el mismo sistema, instalé todos los DM / DE / WM (una explicación de estos términos a continuación), que encontré en el repositorio. 

Las capturas de pantalla con "marcos azules" solo se toman en openSUSE. 

Se realizaron capturas de pantalla con "marcos blancos" en otras distribuciones, se indican en la captura de pantalla. 

Las capturas de pantalla con "bordes grises" se tomaron de Internet, como ejemplos de diseños de escritorio de antaño.

Vamos a empezar.

Los componentes principales que componen los gráficos.

Destacaré tres componentes principales y los enumeraré en el orden en que se inician al iniciar el sistema: 

  1. DM (Administrador de pantalla);
  2. servidor de visualización;
  3. DE (Entorno de escritorio).

Además, como subelementos importantes del entorno de escritorio: 

  • Administrador de aplicaciones/Launcher/Switcher (botón de inicio); 
  • WM (Administrador de ventanas);
  • software que viene con el entorno de escritorio.

Más detalles en cada artículo.

DM (Administrador de pantalla)

La primera aplicación que se inicia cuando se inicia "gráficos" es DM (Display Manager), un administrador de pantalla. Sus tareas principales:

  • preguntar qué usuarios dejar entrar al sistema, solicitar datos de autenticación (contraseña, huella digital);
  • elegir qué entorno de escritorio ejecutar.

Actualmente, varias distribuciones son ampliamente utilizadas: 

  • SDDM (cambió KDM),
  • GDM,
  • LightDM,
  • XDM.
  • También vale la pena mencionar Fly-DM (utilizado en Astra)Linux).

La lista de DM existentes se mantiene actualizada en Artículo Wiki. 

Cómo se organizan los gráficos en LinuxDescripción general de varios entornos de escritorio
Cómo se organizan los gráficos en LinuxDescripción general de varios entornos de escritorio
Cómo se organizan los gráficos en LinuxDescripción general de varios entornos de escritorio
Cómo se organizan los gráficos en LinuxDescripción general de varios entornos de escritorio
Vale la pena señalar que las siguientes capturas de pantalla usan el mismo administrador de pantalla LightDM, pero en diferentes distribuciones (los nombres de las distribuciones están entre paréntesis). Comprueba lo diferente que puede verse este DM gracias al trabajo de los diseñadores de diferentes distribuciones.

Cómo se organizan los gráficos en LinuxDescripción general de varios entornos de escritorio
Cómo se organizan los gráficos en LinuxDescripción general de varios entornos de escritorio
Cómo se organizan los gráficos en LinuxDescripción general de varios entornos de escritorio
Cómo se organizan los gráficos en LinuxDescripción general de varios entornos de escritorio
Cómo se organizan los gráficos en LinuxDescripción general de varios entornos de escritorio
Lo principal en esta diversidad es dejar claro que existe una aplicación que se encarga de lanzar gráficos y permitir que el usuario acceda a estos gráficos, y existen diferentes implementaciones de esta aplicación que difieren en apariencia y algunas funcionalidades (elección de entornos de diseño, elección de usuarios, versión para usuarios con discapacidad visual, posibilidad de acceso remoto a través de protocolo XDMCP).

Servidor de visualización

Display Server es una especie de base de gráficos, cuya tarea principal es trabajar con una tarjeta de video, un monitor y con varios dispositivos de entrada (teclado, mouse, paneles táctiles). Es decir, una aplicación (por ejemplo, un navegador o un editor de texto) que se representa en un "gráfico" no necesita saber cómo trabajar directamente con los dispositivos, no necesita saber sobre los controladores. Todo está a cargo de X Window.

En lo que respecta a Display Server, lleva existiendo muchos años. Linuxy en Unix estaba pensado como una aplicación Sistema X Window o en la gente común X (X). 

Ahora muchas distribuciones están reemplazando X con Wayland. 

También puedes leer:

Primero, ejecutemos las X y algunas aplicaciones gráficas en ellas.

Practicum "ejecutar X y aplicaciones en él"

Haré todo desde el usuario webinaruser recién creado (sería más fácil, pero no más seguro, hacerlo todo desde la raíz).

  • Como H'am necesita acceso a los dispositivos, doy acceso: Determiné la lista de dispositivos mirando los errores al iniciar X en el registro (/home/webinaruser/.local/share/xorg/Xorg.77.log) 

% sudo setfacl -m u:webinaruser:rw /dev/tty8 /dev/dri/card0 /dev/fb0 /dev/input/*

  • Después de eso empiezo X's:

% X -retro :77 vt8 & 

Opciones: * -retro: comience con un fondo clásico "gris", no negro como predeterminado; * :77 - Configuro (cualquiera dentro de un rango razonable es posible, solo :0 probablemente ya esté ocupado por los gráficos que ya se están ejecutando) número de pantalla, algún identificador único real mediante el cual será posible distinguir entre varias X en ejecución; * vt8: especifica el terminal, aquí /dev/tty8, en el que se mostrarán las X). 

  • Lanzamiento de la aplicación gráfica:

Para ello, primero establecemos una variable por la cual la aplicación entenderá cuál de las X tengo corriendo para enviar lo que hay que dibujar: 

% export DISPLAY=":77" 

Puede ver la lista de X en ejecución de esta manera: 

ps -fwwC X

Después de configurar la variable, podemos iniciar aplicaciones en nuestras X; por ejemplo, inicio el reloj:

% xclock -update 1 & 

% xcalc & 

% xeyes -g 200x150-300+50 y

Cómo se organizan los gráficos en LinuxDescripción general de varios entornos de escritorio
Las principales ideas y conclusiones de este fragmento:

  • X necesita acceso a los dispositivos: terminal, tarjeta de video, dispositivos de entrada,
  • Los X en sí mismos no muestran ningún elemento de interfaz: es un lienzo gris (si tiene la opción "--retro") o negro de ciertos tamaños (por ejemplo, 1920 × 1080 o 1024 × 768) para ejecutar aplicaciones gráficas en él.
  • El movimiento de la "cruz" muestra que las X rastrean la posición del mouse y transmiten esta información a las aplicaciones que se ejecutan en él.
  • Además, las X capturan las pulsaciones de teclas del teclado y pasan esta información a las aplicaciones.
  • La variable DISPLAY le dice a las aplicaciones gráficas en qué pantalla (cada X se inicia con un número de pantalla único al inicio) y, por lo tanto, cuáles de las que se ejecutan en mi máquina dibujarán X. (También es posible establecer esta variable en una máquina remota y enviar la salida a Xs que se ejecutan en otra máquina de la red). Dado que Xs se inició sin la opción -auth, no es necesario tratar con la variable XAUTHORITY o el comando xhost.
  • Las aplicaciones gráficas (o como las llaman los clientes X) se dibujan en X, sin la capacidad de moverlas/cerrarlas/cambiarlas "-g (Ancho) x (Altura) + (ShiftFromLeftEdge) + (ShiftFromTopEdge)". Con un signo menos, respectivamente, desde la derecha y desde el borde inferior.
  • Dos términos que vale la pena mencionar son X-server (así es como se llaman las X) y X-clients (así es como se llama cualquier aplicación gráfica que se ejecuta en X). Hay un poco de confusión en la comprensión de esta terminología, muchos la entienden exactamente al revés. En el caso de que me conecte desde la "máquina cliente" (en terminología de acceso remoto) al "servidor" (en terminología de acceso remoto) para mostrar una aplicación gráfica del servidor en mi monitor, entonces el servidor X se inicia en la máquina donde está el monitor (es decir, en la "máquina cliente", y no en el "servidor"), y los clientes X se inician y funcionan en el "servidor", aunque se muestran en el monitor de la "máquina cliente". 

Cómo se organizan los gráficos en LinuxDescripción general de varios entornos de escritorio

componentes DE

A continuación, analizaremos los componentes que suelen formar el escritorio.

Componentes DE: botón de inicio y barra de tareas

Comencemos con el llamado botón "Inicio". A menudo, este es un subprograma separado que se usa en la "Barra de tareas". También suele haber un subprograma para cambiar entre aplicaciones en ejecución.

Cómo se organizan los gráficos en LinuxDescripción general de varios entornos de escritorio
Después de mirar diferentes entornos de escritorio, resumiría dichas aplicaciones bajo el nombre general de "Administrador de aplicaciones (Launcher / Switcher)", es decir, una herramienta para administrar aplicaciones (iniciar y cambiar entre las que están en ejecución), y también indicar las utilidades que son un ejemplo de una aplicación de este tipo.

  • Ocurre en forma de un botón "Inicio" en la clásica "Barra de tareas" (longitud completa de uno de los bordes de la pantalla):

    ○ panel xfce4,
    ○ panel compañero/panel gnomo,
    ○ panel de valor,
    ○ tinte2.

  • También puede resaltar las "barras de tareas con forma de MacOS" por separado (no en toda la longitud del borde de la pantalla), aunque pueden aparecer muchas barras de tareas en ambos. Aquí, más bien, la principal diferencia es puramente visual: la presencia del "efecto de aumentar los íconos al pasar el mouse".

    ○ muelle,
    ○ muelle de café con leche,
    ○ muelle de el cairo,
    ○ tablón.

  • Y / O un servicio que inicia aplicaciones cuando se presionan teclas de acceso rápido (en muchos entornos de escritorio, un componente similar está necesariamente presente y le permite configurar sus propias teclas de acceso rápido):

    ○ sxhkd.

  • También hay varios "lanzadores" en forma de menú (del inglés. Launch (run)):

    ○ dmenu-ejecutar,
    ○ rofi -mostrar borracho,
    ○ Alberto,
    ○ grunge.

Cómo se organizan los gráficos en LinuxDescripción general de varios entornos de escritorio

Componentes DE: WM (Administrador de ventanas)

Leer más en ruso

Leer más en inglés

WM (Administrador de ventanas): un tipo de aplicación que se encarga de administrar las ventanas, agrega la capacidad de:

  • mover ventanas por el escritorio (incluida la estándar manteniendo presionada la tecla Alt para cualquier parte de la ventana, y no solo para el título);
  • cambiar el tamaño de las ventanas, por ejemplo, arrastrando el "marco de la ventana";
  • agrega un "título (título)" y botones para minimizar / maximizar / cerrar la aplicación en la interfaz de la ventana;
  • el concepto de qué aplicación está en "foco".

Cómo se organizan los gráficos en LinuxDescripción general de varios entornos de escritorio
Voy a enumerar los más famosos (indico entre paréntesis qué DE se usa por defecto):

Cómo se organizan los gráficos en LinuxDescripción general de varios entornos de escritorio
También enumeraré "antiguo WM con elementos DE". Aquellos. Además del administrador de ventanas, tienen elementos como el botón Inicio y la barra de tareas, que son más inherentes a DE completo. Aunque que “viejos” son, si tanto IceWM como WindowMaker ya lanzaron sus versiones actualizadas en 2020. Resulta que es más correcto no "viejo", sino "veteranos":

Cómo se organizan los gráficos en LinuxDescripción general de varios entornos de escritorio
Cómo se organizan los gráficos en LinuxDescripción general de varios entornos de escritorio
Cómo se organizan los gráficos en LinuxDescripción general de varios entornos de escritorio
Cómo se organizan los gráficos en LinuxDescripción general de varios entornos de escritorio
Cómo se organizan los gráficos en LinuxDescripción general de varios entornos de escritorio
Además del "clásico" ("administradores de ventanas de pila"), vale la pena señalar por separado WM en mosaico, que permite colocar las ventanas en mosaico en toda la pantalla y, para algunas aplicaciones, un escritorio independiente para cada aplicación en ejecución en pantalla completa. Esto es un poco inusual para las personas que no los han usado antes, pero como yo mismo he estado usando una interfaz de este tipo durante bastante tiempo, puedo decir que es bastante conveniente y te acostumbras rápidamente a tal interfaz, después de lo cual los administradores de ventanas "clásicos" no parecen convenientes.

Cómo se organizan los gráficos en LinuxDescripción general de varios entornos de escritorio
También vale la pena mencionar por separado el proyecto Compiz y el concepto de un "administrador de ventanas compuesto", que utiliza aceleración de hardware para mostrar transparencia, sombras y varios efectos 3D. Hace unos 10 años, hubo un auge en los efectos 3D en Linux-escritorios. Hoy en día, muchos de los gestores de ventanas integrados en los entornos de escritorio utilizan parcialmente capacidades de composición. Recientemente, Camino de fuego - un producto con funcionalidad Compiz similar para Wayland.

Cómo se organizan los gráficos en LinuxDescripción general de varios entornos de escritorio
También se puede encontrar una lista detallada de varios administradores de ventanas en  artículo de comparación.

Componentes DE: el resto

También vale la pena señalar los siguientes componentes de escritorio (aquí uso términos establecidos en inglés para describir el tipo de aplicación; estos no son los nombres de las aplicaciones en sí):

  • applets:
  • Software (kit de herramientas de widgets): a menudo, un cierto "conjunto mínimo" de software viene con el entorno:

DE (Entorno de escritorio)

Leer más en inglés

A partir de los componentes enumerados anteriormente, se obtiene el llamado "Entorno de escritorio". A menudo, todos sus componentes se desarrollan utilizando las mismas bibliotecas de gráficos y utilizando los mismos principios de diseño. Así, al menos, se mantiene un estilo común para la apariencia de las aplicaciones.

Aquí podemos destacar los siguientes entornos de escritorio existentes actualmente:

GNOME y KDE se consideran los más comunes, y XFCE les pisa los talones.

Cómo se organizan los gráficos en LinuxDescripción general de varios entornos de escritorio
La comparación por varios parámetros en forma de tabla se puede ver en el correspondiente artículo de wikipedia.  

Variedad DE

Cómo se organizan los gráficos en LinuxDescripción general de varios entornos de escritorio
proyecto_espejo_de_vidrio

Incluso hay ejemplos interesantes de la historia: en 2003-2007 para Linux Sun creó un tema de escritorio 3D llamado "Project Looking Glass". Yo mismo lo usé, o mejor dicho, lo probé, ya que era difícil de manejar. Este tema 3D estaba escrito en Java en una época en la que aún no existían tarjetas gráficas con capacidad 3D. Por lo tanto, todos los efectos se recalculaban mediante el procesador, y el ordenador tenía que ser muy potente, de lo contrario todo funcionaba con lentitud. Pero el resultado era magnífico. Los paneles de las aplicaciones 3D se podían girar y desplegar. Se podía girar dentro de un cilindro de escritorio con un panorama de fondo de pantalla de 360 ​​grados. Había varias aplicaciones interesantes: por ejemplo, escuchar música en forma de "cambiador de CD", etc. Se puede ver en YouTube. видео sobre este proyecto, solo que la calidad de estos videos muy probablemente sea mala, ya que en esos años no era posible subir videos de alta calidad.

Cómo se organizan los gráficos en LinuxDescripción general de varios entornos de escritorio
Xfce

Escritorio ligero. Hay un proyecto desde hace mucho tiempo, desde 1996. En los últimos años, bastante popular, a diferencia de KDE y GNOME, más pesados, en muchas distribuciones que requieren una interfaz de escritorio ligera y "clásica". Tiene muchas configuraciones y una gran cantidad de sus programas: terminal (xfce4-terminal), administrador de archivos (thunar), visor de imágenes (ristretto), editor de texto (mousepad).

 
Cómo se organizan los gráficos en LinuxDescripción general de varios entornos de escritorio
Panteón 

Se utiliza en la distribución Elementary OS. Es justo decir que hay escritorios desarrollados y utilizados dentro de una sola distribución y que no se utilizan ampliamente (si no es que no se utilizan en absoluto) en otras distribuciones. Al menos, todavía no han ganado popularidad ni han convencido a una gran audiencia de los beneficios de su enfoque. Pantheon pretende construir una interfaz similar a macOS. 

Cómo se organizan los gráficos en LinuxDescripción general de varios entornos de escritorio
Opción de panel de base:

Cómo se organizan los gráficos en LinuxDescripción general de varios entornos de escritorio
Ilustración

Fuerte enfoque en efectos gráficos y widgets (desde los días en que otros entornos de escritorio no tenían widgets en el escritorio, como el calendario/reloj). Utiliza sus propias bibliotecas. Hay un gran conjunto de sus aplicaciones "hermosas": terminal (Terminología), reproductor de video (Rage), visor de imágenes (Ephoto).

Cómo se organizan los gráficos en LinuxDescripción general de varios entornos de escritorio
Moksha

Esta es una bifurcación de Enlightenment17, que se utiliza en la distribución Bodhi.Linux. 

Cómo se organizan los gráficos en LinuxDescripción general de varios entornos de escritorio
GNOME

Inicialmente una interfaz de escritorio "clásica", creada en oposición a KDE, que estaba escrita en la biblioteca QT, en ese momento distribuida bajo una licencia que no era muy conveniente para distribuciones comerciales. 

Cómo se organizan los gráficos en LinuxDescripción general de varios entornos de escritorio
GNOME_Shell

A partir de la tercera versión de GNOME, GNOME comenzó a enviarse con GNOME Shell, que tiene un "aspecto no clásico", que no gustó a todos los usuarios (cualquier cambio repentino en las interfaces es difícil de aceptar para los usuarios). Como resultado, la aparición de proyectos de bifurcación que continúan el desarrollo de este escritorio en el estilo "clásico": MATE y Cinnamon. Se utiliza por defecto en muchas distribuciones comerciales. Tiene una gran cantidad de configuraciones y sus aplicaciones. 

Cómo se organizan los gráficos en LinuxDescripción general de varios entornos de escritorio
MATE 

Apareció sobre la base de GNOME2 y continúa desarrollando este entorno. Tiene una gran cantidad de tweaks y bifurcaciones de aplicaciones que se usaban en GNOME2 (se usan nuevos nombres para no confundir las bifurcaciones con su nueva versión para GNOME3).

Cómo se organizan los gráficos en LinuxDescripción general de varios entornos de escritorio
Canela

Una bifurcación de GNOME Shell que brinda a los usuarios una interfaz de estilo "clásico" (como lo fue en GNOME2). 

Tiene una gran cantidad de configuraciones y las mismas aplicaciones que para GNOME Shell.

Cómo se organizan los gráficos en LinuxDescripción general de varios entornos de escritorio
Periquito

Una bifurcación de estilo "clásico" de GNOME que se desarrolló como parte de la distribución Solus, pero ahora también viene como un escritorio independiente en varias otras distribuciones.

Cómo se organizan los gráficos en LinuxDescripción general de varios entornos de escritorio
KDE_Plasma (o, como suele llamarse, simplemente KDE) 

Entorno de escritorio desarrollado por el proyecto KDE. 

Tiene una gran cantidad de configuraciones disponibles para un usuario simple desde la interfaz gráfica y muchas aplicaciones gráficas desarrolladas dentro de este escritorio.

Cómo se organizan los gráficos en LinuxDescripción general de varios entornos de escritorio
Trinity

En 2008, KDE lanzó su nueva implementación de KDE Plasma (el motor de escritorio se reescribió en gran medida). Además, al igual que con GNOME/MATE, no a todos los fanáticos de KDE les gustó. Como resultado, apareció una bifurcación del proyecto, continuando el desarrollo de la versión anterior, llamada TDE (Trinity Desktop Environment).

Cómo se organizan los gráficos en LinuxDescripción general de varios entornos de escritorio
Deepin_ES

Uno de los nuevos entornos de escritorio, escrito en Qt (el mismo lenguaje que usa KDE). Ofrece una amplia gama de opciones de personalización y una interfaz bastante atractiva (aunque subjetiva) y sofisticada. Se está desarrollando como parte de la distribución Deepin. LinuxTambién existen paquetes para otras distribuciones.

Cómo se organizan los gráficos en LinuxDescripción general de varios entornos de escritorio
Fly 

Un ejemplo de un entorno de escritorio escrito con Qt. Desarrollado como parte de la distribución. Astra Linux. 

Cómo se organizan los gráficos en LinuxDescripción general de varios entornos de escritorio
LXQt

Entorno de escritorio ligero. Como varios ejemplos anteriores, escrito usando Qt. De hecho, es una continuación del proyecto LXDE y el resultado de una fusión con el proyecto Razor-qt.

Como puede ver, el escritorio está en Linux La interfaz puede tener un aspecto muy diferente, y hay opciones para todos los gustos: desde interfaces muy atractivas con efectos 3D hasta minimalistas, desde las "clásicas" hasta las inusuales, desde las que consumen muchos recursos del sistema hasta las más ligeras, desde pantallas grandes hasta tabletas y teléfonos inteligentes.

Bueno, espero haber logrado dar una idea de los componentes principales que conforman los gráficos y el escritorio en el sistema operativo. Linux.

El material de este artículo se probó en julio de 2020 en un seminario web. se puede ver aquí.

Eso es todo. Espero que haya sido de ayuda. Si tienes alguna duda y comentario, escribe. Estaré encantado de responder. Así que ven y estudia Academia de redes LANIT!

Fuente: habr.com

Compre alojamiento confiable para sitios con protección DDoS, servidores VPS VDS 🔥 Compra alojamiento web fiable con protección DDoS, servidores VPS VDS | ProHoster