He escuchado los siguientes términos tanto como recuerdo. Tratar de encontrar una fuente que los describa y su relación entre sí simplemente no existe. Y es, cuanto menos, confuso.
¿Alguien puede explicarme, como lo haría con un niño de cinco años, los siguientes términos y cómo se relacionan o correlacionan entre sí?
- Gnomo
- KDE
- Unidad
- xorg
- x11
- x servidor
- iniciox
- Panteón
- GTK
- cuarto de galón
- Administrador de ventanas
Respuesta1
Gnomo, KDE, Unidad, Panteón
Gnome, KDE, Unity, Pantheon son entornos de escritorio.
Un entorno de escritorio consta de muchas herramientas diferentes. por ejemplo: administrador de inicio de sesión, administrador de ventanas, iniciador de aplicaciones, menús, emulador de terminal, administrador de archivos, navegador web, editor, herramientas gráficas para la configuración del sistema y muchas otras utilidades. Es un paquete completo de todo lo que necesitas.
Imagen dereddit:
GTK y QT
GTK y QT son conjuntos de herramientas/marco para desarrollar software, por ejemplo: muchas herramientas desarrolladas para el entorno de escritorio Gnome utilizan GTK para crear su GUI, en lugar de escribir todo yo mismo, las uso para acelerar mi desarrollo y al mismo tiempo usar y seguir un marco estándar que todos los demás programas utilizan en el mismo entorno.
X, X11 y Xorg
X es un marco, incluso podemos hacer referencia a él como un protocolo, X11 es la última versión de este protocolo y Xorg (servidor Xorg: X usa una estructura de cliente de servidor) es una implementación de x11, es como HTTP y los navegadores, HTTP es un protocolo, HTTP2 es la última versión y los navegadores web que utilizan este protocolo para comunicarse con los servidores web de alguna manera lo implementaron.
De Wikipedia:
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.
Simplemente nos permite dibujar y mostrar cosas y también contiene muchos controladores necesarios.
Sin embargo, incluso X necesita un administrador de ventanas para usar sus capacidades, en la siguiente imagen se ve twm
el administrador de ventanas y xterm
otras cosas ejecutando una sesión X. Para obtener más información sobre los administradores de ventanas, lea la última sección.
iniciox
startx
es un script para abrir un entorno gráfico, inicializa una sesión X.
Administradores de ventanas
Los administradores de ventanas son en su mayoría parte del entorno de escritorio, incluso puedes usarlos en lugar de utilizar un entorno de escritorio completo. Hay muchos administradores de ventanas disponibles, como: i3wm, awesome, openbox, fluxbox, blackbox, xfwm4, compiz, etc.
Controlan cómo actúan nuestras ventanas, cómo se ven, qué elementos tienen, dónde deben aparecer mi título y mis botones predeterminados, ¿qué sucede si las arrastro/cambio de tamaño/cierro? etc. Los administradores de ventanas utilizan servidores de visualización como X o Wayland para lograr esto.
Las imágenes son de Wikipedia.
Respuesta2
Explicación de ELI5:
- Servidor Xorg,x11,x: todo lo mismo. Es básicamente un software gigante que hace posible la GUI. No hay servidor X en ejecución => Sin GUI.
- administrador de ventanas: eso es lo que hace que Windows sea bonito. El servidor X te ofrece lo básico.
startx
es un comando. En los viejos tiempos, así es como aparecía la GUI.- Gnome, KDE, Unity, Pantheon: todos son shells gráficos. Mientras que el servidor X le brinda una GUI básica, los shells gráficos le dan a las aplicaciones una apariencia y un comportamiento específicos (como Alt+, Tabpor ejemplo). Trabaja junto con los administradores de ventanas. A menudo vienen incluidos con software adicional como editores de texto, navegadores web, etc. Se debe corregir lo de Unity: en realidad es solo un complemento para el administrador de ventanas de Compiz, que se hace evidente cuando Unity falla y te quedas con un escritorio básico y sin lanzador o panel superior.
- GTK, QT: conjuntos de herramientas gráficas. Básicamente, el "lenguaje" de la programación GUI. Más específicamente, son "bibliotecas", y la mayoría de los lenguajes comunes en el escritorio Linux, como Python o C++, usan esas bibliotecas para crear aplicaciones GUI.