¿Cuáles son los subsistemas de interfaz de usuario, sus componentes y responsabilidades?


8

Estoy tratando de entender los diferentes subsistemas que están a cargo de la interfaz de usuario, la terminología para referirme a ellos y cómo están estructurados; hasta ahora sé que hay:

En el nivel superior:

escritorios ? (kde, gnomo, etc.)

Entonces nosotros tenemos:

  • un administrador de pantalla (también llamado administrador de escritorio o entorno de escritorio)
  • administrador de ventanas
  • ¿Algo más?

Estoy haciendo de esto un wiki comunitario, me gustaría que sea un lugar central para * todo lo que hay que saber (desde la perspectiva del usuario) con respecto a los subsistemas de interfaz de usuario en Linux; Lo que me gustaría saber es cuáles son los componentes de cada uno y cuáles son las responsabilidades de cada uno, es decir, me gustaría saber cosas como:

  • qué es exactamente lo que está a cargo de las teclas de acceso directo globales, cuando abro el cuadro de diálogo "Ejecutar aplicación", quién lo hace, cuando presiono una tecla para mostrar el escritorio, ejecutar un terminal, maximizar una ventana, etc., quién está capturando eso y enviándolo a la ventana derecha;
  • quien se encarga de dibujar el escritorio, los espacios de trabajo, etc.
  • ¿Cuáles son las variables de entorno que me pueden dar información sobre estos componentes?
  • ¿Es el "menú principal" un subsistema o un componente de un subsistema?

También sería bueno compilar una lista de los escritorios / subsistemas más populares, cuáles se ejecutan en cada uno, ¿puede mezclar y combinar escritorios / entornos de escritorio / administradores de ventanas, etc.?

Finalmente, ¿cómo puedo saber qué escritorio / subsistemas se están ejecutando realmente (activos?) En el sistema, ¿pueden diferentes usuarios tener un subsistema diferente cada uno?

Respuestas:


5

En primer lugar, un Administrador de visualización (o DM, por ejemplo, xdm, gdm, kdm) no es lo mismo que un entorno de escritorio (o DE, por ejemplo, GNOME, KDE, XFCE).

El Administrador de visualización se encarga del inicio de sesión gráfico y decide (o le permite elegir) qué sesión ejecutar. O qué sesión * s * en caso de que elija la opción de menú "cambiar usuario".

Un entorno de escritorio es básicamente una colección de programas (administrador de pantalla, administrador de ventana, administrador de sesión, paneles, herramientas de configuración, etc.) y bibliotecas (por ejemplo, Gtk) que tienen la intención de proporcionar un entorno coherente e integrado para trabajar.

Un Administrador de ventanas administra las ventanas: dónde ubicarlas, moverlas, redimensionarlas, minimizarlas / maximizarlas, colocarlas en mosaico, etc.). También maneja los atajos para hacer esas cosas. En algunos casos, el administrador de ventanas también pinta los bordes de las ventanas, en otros casos esta tarea se entrega a un "decorador de ventanas".

El cuadro de diálogo "Ejecutar aplicación" en GNOME es parte de gnome-panel, pero en otro DE podría ser otra parte del entorno.

Quién está a cargo de pintar ventanas, etc. depende; en caso de que haya un "compositor" en uso (a menudo parte del administrador de ventanas, por ejemplo, en Compiz), el compositor pinta las ventanas en la pantalla, de lo contrario (como era habitual en el pasado) es el servidor X lo que hace eso.

Una parte del panel gnome pone los menús principales en la pantalla, pero los datos utilizados provienen de un montón de archivos /usr/share/applications/(posiblemente combinados con un directorio equivalente en su hogar para cambios personales). Esos archivos tienen una estructura definida por FreeDesktop.org (una plataforma para que diferentes DEs colaboren en una infraestructura común), de modo que GNOME y KDE conozcan los mismos programas (pero aún pueden mostrarlos de manera diferente, y en algunos casos priorizan los programas "nativos") sobre los "extranjeros").

Y sí, diferentes usuarios pueden usar una configuración de sesión diferente (e incluso pueden definir las suyas propias). En GDM, pruebe el menú desplegable Sesión para ver las opciones disponibles.

Además, es posible mezclar y combinar varios componentes, pero eso a veces dará como resultado una menor cooperación y una pérdida de "suavidad" en la forma en que funcionan las cosas. Un ejemplo muy conocido en el que las cosas se intercambian es, por supuesto, Compiz, que reemplaza a Metacity si quieres efectos de escritorio sofisticados. Pero hay muchos otros cambios posibles.


2

Un administrador de escritorio administra su hardware principalmente, mientras que un administrador de ventanas administra su software. Por ejemplo, la administración de energía, los protectores de pantalla, el rendimiento del sistema, la pantalla de inicio de sesión, etc. son administrados por un administrador de escritorio. Su administrador de ventanas gestiona su tema, ubicación de ventana, conjunto de widgets e iconos, fuentes, etc.

Puede tener un administrador de ventanas instalado sin un administrador de escritorio. Es común iniciar sesión en una terminal virtual, luego hacer que un script de inicio de sesión ejecute su administrador de ventanas para iniciar su "escritorio".

Los administradores de escritorio son GNOME, KDE y CDE. Los administradores de ventanas son Metacity, Openbox, Enlightenment, Awesome, etc.

Para responder algunas de sus preguntas directamente:

  • el administrador de ventanas está a cargo principalmente de los atajos de teclado del escritorio.
  • el administrador de ventanas se encarga de dibujar el escritorio, los espacios de trabajo, las ubicaciones de las ventanas, etc., como se mencionó anteriormente
  • No hay muchas variables de entorno para la GUI. Estos generalmente solo son aplicables al shell detrás de una terminal. Sin embargo, puede ejecutar sety envtener una idea de lo que está configurado.
  • No estoy seguro de lo que quiere decir con el "menú principal" como un subsistema o componente de un subsistema. Los menús son parte del administrador de ventanas.

Ya he mencionado algunos administradores de escritorio y administradores de ventanas populares. Se puede encontrar más utilizando Google.

Dependiendo de su sistema operativo, probablemente haya un archivo de configuración ASCII que haya definido su escritorio preferido. Por ejemplo, en Debian GNU / Linux, esto se define en la /etc/X11/default-display-managerconfiguración. También puede ejecutar 'ps -ef | grep user 'donde' user 'es el nombre del inicio de sesión de algún usuario en el sistema, y ​​vea qué procesos se enumeran y cuál es el escritorio gráfico en ejecución. Para mí, es 'metaciudad'.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.