Capítulo 7. Sistema GUI (interfaz gráfica de usuario)

Tabla de contenidos

7.1. Entorno de escritorio GUI
7.2. protocolo de comunicación GUI
7.3. infraestructura GUI
7.4. Aplicaciones GUI
7.5. Fuentes
7.5.1. Tipos de letras fundamentales
7.5.2. Rasterización de fuentes
7.6. Sandbox
7.7. Escritorio remoto
7.8. conexión del servidor X
7.8.1. Conexión local del servidor X
7.8.2. Conexión remota del servidor X
7.8.3. Conexión chroot del servidor X
7.9. Portapapeles

Hay varias opciones para el entorno de escritorio completo GUI en el sistema Debian.


[Sugerencia] Sugerencia

Los paquetes de dependencia seleccionados por un metapaquete de tareas pueden no estar sincronizados con el último estado de transición del paquete en el entorno inestable/de prueba de Debian. Para task-gnome-desktop, es posible que deba ajustar las selecciones de paquetes de la siguiente manera:

  • Inicia aptitude con sudo aptitude -u (8).

  • Mueve el cursor a "Tareas" y presiona Enter.

  • Muevae el cursor a "Usuario final" y presiona "Enter".

  • Mueve el cursor a "GNOME" y presiona "Enter".

  • Mueve el cursor a task-gnome-desktop y presiona "Enter".

  • Mueve el cursor a "Depende" y presione "m" (selección manual).

  • Mueve el cursor a "Recomendado" y presiona "m" (selección manual).

  • Mueva el cursor a "task-gnome-desktop y presione "-". (soltar)

  • Ajuste los paquetes seleccionados y elimine los paquetes problemáticos que causan conflictos de paquetes.

  • Presiona "g" para comenzar la instalación.

Este capítulo se centrará principalmente en el entorno de escritorio predeterminado de Debian: task-gnome-desktop que ofrece GNOME en wayland.

El protocolo de comunicación GUI utilizado en el escritorio GNOME puede ser:

Consulte el sitio freedesktop.org para ver en qué se diferencia la arquitectura de Wayland de la arquitectura de X Window.

Desde la perspectiva del usuario, las diferencias se pueden resumir coloquialmente como:

  • Wayland es un protocolo de comunicación GUI del mismo host: nuevo, más simple, más rápido, sin setuid root binario.

  • X Window es un protocolo de comunicación GUI con capacidad de red: tradicional, complejo, más lento, setuid root binario

Para aplicaciones que utilizan el protocolo Wayland, el acceso a su contenido de visualización desde un host remoto es compatible con VNC o RDP. Ver Sección 7.7, “Escritorio remoto”

Los servidores X modernos tienen la Extensión de Memoria Compartida del MIT y se comunican con los clientes locales X utilizando memoria local compartida. Esto evita el canal de comunicación entre interprocesos transparentes Xlib de la red y mejora el rendimiento. Esta situación fue el antecedente de la creación de Wayland como un protocolo de comunicación GUI solo local.

Usando el programa xeyes iniciado desde la terminal GNOME, puede verificar el protocolo de comunicación GUI utilizado por cada aplicación GUI.

 $ xeyes
  • Si el cursor del ratón está en una aplicación como "Terminal GNOME" que usa el protocolo del servidor de pantalla Wayland, los ojos no se mueven con el cursor del ratón.

  • Si el cursor del ratón está en una aplicación como "xterm", que usa el protocolo del núcleo de X Window System, los ojos se mueven con el cursor del ratón y exponen la naturaleza no tan aislada de la arquitectura X Window.

A partir de abril de 2021, muchas aplicaciones GUI populares, como GNOME y LibreOffice (LO), se han migrado al protocolo del servidor de visualización de Wayland. Veo xterm, gitk, cromo, firefox, gimp, dia, y las aplicaciones de KDE aún utilizan el protocolo central del sistema X Window.

[Nota] Nota

Tanto para xwayland en Wayland como para el sistema X Window nativo, el antiguo archivo de configuración del servidor X "/etc/X11/xorg.conf" no debería existir en el sistema. Los dispositivos gráficos y de entrada ahora están configurados por el kernel con DRM, KMS y udev. El servidor X nativo se ha reescrito para usarlos. Consulte "soporte de modo de video predeterminado de modedb" en la documentación del kernel de Linux.

Estos son los conocidos paquetes del marco GUI para GNOME en el entorno de Wayland.


Aquí, "[auto]" significa que estos paquetes se instalan automáticamente cuando se instala task-gnome-desktop.

[Sugerencia] Sugerencia

gnome-tweaks es la utilidad de configuración indispensable. Por ejemplo:

  • Puede forzar la "Sobreamplificación" del volumen del sonido desde "General".

  • Puede hacer que "Mayúsculas" se convierta en "Esc" desde "Keyboard & Mouse" -> "Keyboard" -> "Additional Layout Option".

[Sugerencia] Sugerencia

Detail features of GNOME desktop environment can be configured with utilities started by typing "settings", "tweaks", or "extensions" after pressing Super-key.

Ahora hay disponible muchas aplicaciones GUI útiles en Debian. Instalar software como scribus (KDE) en el entorno de escritorio GNOME es correcta ya que la funcionalidad correspondiente no esta disponible en el entorno de escritorio GNOME. Pero la instalación de demasiados paquetes con funcionalidades solapadas puede saturar su sistema..

Aquí hay una lista de aplicaciones GUI que me llamaron la atención.

Tabla 7.3. Lista de aplicaciones GUI destacadas

paquete popularidad tamaño del paquete tipo descripción
evolution V:27, I:234 498 GNOME Gestor de información personal (trabajo en grupo y correo electrónico)
thunderbird V:49, I:118 223965 GTK Cliente de correo electrónico (Mozilla Thunderbird)
kontact V:1, I:9 2208 KDE Gestor de información personal (trabajo en grupo y correo electrónico)
libreoffice-writer V:111, I:426 39146 LO procesador de textos
abiword V:1, I:7 3467 GNOME procesador de textos
calligrawords V:0, I:4 5836 KDE procesador de textos
scribus V:1, I:16 30242 KDE desktop publishing editor para editar archivos PDF
glabels V:0, I:3 1338 GNOME editor de etiquetas
libreoffice-calc V:106, I:423 30890 LO hoja de cálculo
gnumeric V:3, I:14 10004 GNOME hoja de cálculo
calligrasheets V:0, I:2 11244 KDE hoja de cálculo
libreoffice-impress V:70, I:420 9017 LO presentación
calligrastage V:0, I:2 5142 KDE presentación
libreoffice-base V:31, I:136 5943 LO gestión de bases de datos
kexi V:0, I:1 7118 KDE gestión de bases de datos
libreoffice-draw V:71, I:421 13525 LO editor de gráficos vectoriales (dibujo)
inkscape V:14, I:122 99316 GNOME editor de gráficos vectoriales (dibujo)
karbon V:0, I:3 3581 KDE editor de gráficos vectoriales (dibujo)
dia V:2, I:21 3908 GTK editor de diagramas de flujos y otros diagramas
gimp V:50, I:260 19877 GTK editor de gráficos de mapas de bits (Pintura)
shotwell V:16, I:248 6187 GTK organizador de fotos digitales
digikam V:1, I:9 292 KDE organizador de fotos digitales
darktable V:4, I:13 30551 GTK mesa de luz y cuarto oscuro para fotógrafos
planner V:0, I:3 1394 GNOME gestión de proyectos
calligraplan V:0, I:1 19013 KDE gestión de proyectos
gnucash V:2, I:8 28051 GNOME finanzas personales
homebank V:0, I:2 1239 GTK finanzas personales
lilypond V:0, I:7 15747 - Compositor de música
kmymoney V:0, I:2 13341 KDE finanzas personales
librecad V:1, I:14 8798 Aplicación Qt sistema de diseño asistido por ordenador (CAD) (2D)
freecad I:16 53 Aplicación Qt sistema de diseño asistido por ordenador (CAD) (3D)
kicad V:2, I:12 236009 GTK software de diseño de circuitos impresos y esquemas electrónicos
xsane V:12, I:148 2339 GTK interfaz de usuario de escáner
libreoffice-math V:54, I:424 2251 LO editor matemático de fórmulas/ecuaciones
calibre V:7, I:28 63554 KDE gestión de bibliotecas y conversor de libros electrónicos
fbreader V:1, I:10 2631 GTK lector de libros electrónicos
evince V:85, I:310 939 GNOME visor de documentos (pdf)
okular V:36, I:118 17334 KDE visor de documentos (pdf)
x11-apps V:29, I:456 2476 Aplicación X pura xeyes(1), etc.
x11-utils V:178, I:565 712 Aplicación X pura xev(1), xwininfo(1)etc..

Hay disponibles muchas útiles fuentes escalables para los usuarios de Debian. Es asunto del usuario evitar la redundancia y cómo configurar partes de las fuentes instaladas para que se deshabiliten. De lo contrario, las opciones de fuente inútiles pueden saturar los menús de su aplicación GUI.

El sistema Debian usa la librería FreeType 2.0 para rasterizar muchos formatos de fuentes escalables para pantalla e impresión:

The following table is compiled in the hope to help users to chose appropriate scalable fonts with clear understanding of the metric compatibility and the glyph coverage. Most fonts cover all Latin, Greek, and Cyril characters. The final choice of activated fonts can also be affected by your aesthetics. These fonts can be used for the screen display or for the paper printing.

Tabla 7.4. Lista de notables fuentes TrueType y OpenType

paquete popularidad tamaño sans serif mono Información sobre la fuente
fonts-cantarell V:202, I:298 572 59 - - Cantarell (GNOME 3, pantalla)
fonts-noto I:148 31 61 63 40 Fuentes Noto (Google, multilingüe con CJK)
fonts-dejavu I:422 35 58 68 40 DejaVu (GNOME 2, MCM:Verdana, extendida Bitstream Vera)
fonts-liberation2 V:116, I:412 15 56 60 40 Liberation fonts para LibreOffice (Red Hat, MCMATC)
fonts-croscore V:19, I:40 5274 56 60 40 Chrome OS: Arimo, Tinos y Cousine (Google, MCMATC)
fonts-crosextra-carlito V:21, I:143 2696 57 - - Chrome OS: Carlito (Google, MCM:Calibri )
fonts-crosextra-caladea I:141 347 - 55 - Chrome OS: Caladea (Google, MCM:Cambria ) (solo en latín)
fonts-freefont-ttf V:68, I:216 14460 57 59 40 GNU FreeFont (extendido URW Nimbus)
fonts-quicksand V:63, I:422 392 56 - - Debian task-desktop, Quicksand (pantalla, sólo latín)
fonts-hack V:23, I:113 2508 - - 40 P Una tipografía diseñada para el código fuente Hack (Facebook)
fonts-sil-gentiumplus I:31 13568 - 54 - Gentium SIL
fonts-sil-charis I:26 6406 - 59 - Charis SIL
fonts-urw-base35 V:150, I:435 15558 56 60 40 URW Nimbus (Sans, Roman No. 9 L, Mono L, MCAHTC)
fonts-ubuntu V:2, I:5 4339 58 - 33 P Fuentes de Ubuntu (pantalla)
fonts-terminus V:0, I:3 453 - - 33 Fuentes para terminales retro.
ttf-mscorefonts-installer V:1, I:48 85 ¿56? 60 40 Descargador de fuentes no libres de Microsoft (ver más abajo)

Aquí:

  • "MCM" significa "métrica compatible con fuentes proporcionadas por Microsoft"

  • "MCMATC" significa "métrica compatible con las fuentes proporcionadas por Microsoft: Arial, Times New Roman, Courier New"

  • "MCAHTC" significa "métrica compatible con las fuentes proporcionadas por Adobe: Helvetica, Times, Courier"

  • Los números en las columnas de tipo de fuente representan el ancho "M" relativo aproximado para la fuente del mismo tamaño de punto.

  • La "P" en columnas de tipo de fuente mono representa su facilidad de uso para la programación con "0"/"O" y "1"/"I"/"l" claramente distinguibles.

  • El paquete ttf-mscorefonts-installer descarga Microsoft "fuentes Core para la Web" e instala Arial, Times New Roman, Courier New, Verdana, ... . Estos datos de fuentes instaladas son datos no libres.

Muchas fuentes latinas libres tienen su linaje trazado hasta la familia URW Nimbus o Bitstream Vera.

[Sugerencia] Sugerencia

Si su configuración regional necesita fuentes que no están bien cubiertas por las anteriores, utilice aptitude para verificar los paquetes de tareas enumerados en "Tasks" -> "Localization". Los paquetes de fuentes enumerados como "Depends:" o "Recommends:" en la tarea de localización de paquetes son los principales candidatos.

Debian usa FreeType para rasterizar fuentes. Su infraestructura de selección de fuentes la proporciona la biblioteca de configuración de fuentes Fontconfig.


[Sugerencia] Sugerencia

Algunos paquetes de fuentes como fonts-noto* instalan demasiadas fuentes. También es posible que desee mantener algunos paquetes de fuentes instalados pero deshabilitados en una situación de uso normal. Se esperan múltiples glifos para algunos puntos de código Unicode debido a la unificación Han y los glifos no deseados pueden ser elegidos por la biblioteca Fontconfig no configurada. Uno de los casos más molestos es "U+3001 IDEOGRAPHIC COMMA" y "U+3002 IDEOGRAPHIC FULL STOP" entre los países CJK. Puede evitar esta situación problemática fácilmente configurando la disponibilidad de fuentes mediante la interfaz gráfica de usuario de Font Manager (font-manager).

También puedes enumerar el estado de la configuración de la fuente desde la línea de comandos.

  • "fc-match(1)" para la fuente predeterminada de fontconfig

  • "fc-list(1)" para las fuentes fontconfig disponibles

Puede configurar el estado de la configuración de la fuente desde el editor de texto, pero esto no es trivial. Ver fonts.conf(5).

Muchas aplicaciones en Linux, en su mayoría GUI, están disponibles en formatos binarios de fuentes que no son de Debian.

[Aviso] Aviso

Los archivos binarios de estos sitios pueden incluir paquetes propietarios de software no libre.

Hay alguna razón de ser para estas distribuciones de formato binario para los aficionados al Software Libre que usan Debian, ya que pueden acomodar un conjunto limpio de bibliotecas utilizadas para cada aplicación por el respectivo desarrollador, independiente de las suministradas por Debian.

El riesgo inherente de ejecutar archivos binarios externos se puede reducir mediante el uso del entorno sandbox que aprovecha las modernas funciones de seguridad de Linux (ver Sección 4.7.4, “Características de seguridad de Linux”).

  • Para binarios de AppImage y algunos sitios upstream, ejecútelos en firejail con manual de configuración.

  • Para binarios de FLATHUB, ejecútelos en Flatpak . (No requiere configuración manual.)

  • Para archivos binarios de Snapcraft, ejecutarlos en Snap . (No requiere configuración manual. Compatible con programas daemon.)

The xdg-desktop-portal package provides a standardized API to common desktop features. See xdg-desktop-portal (flatpak) and xdg-desktop-portal (snap) .


Esta tecnología de entorno de espacio aislado es muy parecida a las apps en el SO de los teléfonos inteligentes, donde las apps se ejecutan bajo accesos de recursos controlados.

Algunas grandes aplicaciones GUI, como los navegadores web en Debian, también usan tecnología de entorno de espacio aislado internamente para hacerlas más seguras.


Hay varias formas de conectarse desde una aplicación en un host remoto al servidor X, incluyendo xwayland en el host local.


El acceso al servidor X local de las aplicaciones locales que usan el protocolo central X se puede hacer localmente a través de un socket de dominio UNIX local. Esto lo puede autorizar el archivo de autoridad que contiene el cookie de acceso. La situación del archivo de autoridad se identifica mediante la variable de entorno "$XAUTHORITY" y la pantalla X se identifica mediante la variable de entorno "$DISPLAY". Dado que normalmente se configuran automáticamente, no se necesita ninguna acción especial, p. "gitk" como el que sigue.

username $ gitk
[Nota] Nota

Para xwayland, XAUTHORITY tiene valor como "/run/user/1000/.mutter-Xwaylandauth.YVSU30".

Para recortar el texto en el portapapeles, véase Sección 1.4.4, “Operaciones con el ratón”.

Para recortar gráficos al portapapeles, consulta Sección 11.6, “Herramientas para información gráfica”.

Algunos comandos de la línea de comandos también pueden manipular el portapapeles (PRIMARY y CLIPBOARD).