Guía para la Demostración Automatizada de Temas GTK+ en Xfce

Autor: Joel Barrios Dueñas
Correo electrónico: darkshram en gmail punto com
Sitio de Red: https://www.alcancelibre.org

Licencia Creative Commons
© 1999-2026 Joel Barrios Dueñas. Este manual se distribuye bajo la licencia Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional (CC BY-NC-SA 4.0). Usted es libre de compartir y adaptar el material bajo los siguientes términos: debe dar crédito al autor, no puede utilizarlo para fines comerciales y debe compartir las obras derivadas bajo la misma licencia. La licencia completa está disponible en https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode.es.

Introducción

El guion de instrucciones de instrucciones demo-temas-xfce4.sh es una herramienta pedagógica avanzada diseñada para generar videos automáticos y desatendidos que muestran una secuencia de temas GTK+ en el entorno de escritorio Xfce. Automatiza por completo el proceso de cambio de temas, la visualización de los artilugios (widgets) GTK, la superposición del nombre del tema en pantalla (OSD) y la grabación de la demostración con ffmpeg.

Esta herramienta es ideal para crear material didáctico, tutoriales o comparativas visuales de alta calidad sobre personalización en ALDOS, sin necesidad de intervención manual durante la grabación. Su diseño robusto garantiza un resultado profesional, repetible y con granularidad.

Requisitos previos

Para ejecutar el guion de instrucciones de manera exitosa, el sistema debe cumplir con los siguientes requisitos:

Instalación y configuración

  1. Obtener los guiones: Clonar o descargar los guiones necesarios desde el almacén oficial.

    git clone https://github.com/darkshram/aldos-tools.git
    cd aldos-tools
    mkdir -p ~/.local/bin/
    install -m 0755 demo-temas-xfce4.sh tema-xfce4.sh ~/.local/bin/

    Importante que demo-temas-xfce4.sh y tema-xfce4.sh estén instalados dentro de ~/.local/bin.

  2. Instalar dependencias: Utilice el gestor de paquetes de ALDOS.

    sudo yum install awf-gtk3 xdotool ffmpeg aosd_cat
  3. Permisos de ejecución: Verifique de los permisos de ejecución al guion de instrucciones principal y auxiliar.

    chmod +x ~/.local/bin/demo-temas-xfce4.sh ~/.local/bin/tema-xfce4.sh

Uso del guion de instrucciones

Ejecute el guion de instrucciones desde una terminal en su sesión de escritorio Xfce.

demo-temas-xfce4.sh

El guion de instrucciones guiará al usuario a través de los siguientes pasos en un flujo interactivo:

  1. Validación: Comprobará la presencia de todas las dependencias (awf-gtk3, xdotool, ffmpeg, aosd_cat, tema-xfce4.sh).
  2. Preparación del sistema:
    • Precalentamiento de sudo/pkcon: Actualiza las marcas de tiempo (timestamps) para evitar solicitudes de contraseña durante la demo.
    • Precarga de bibliotecas GTK3: Carga las bibliotecas en memoria para reducir la latencia al cambiar temas.
    • Detección de resolución: Detecta la resolución de pantalla y la ajusta a dimensiones pares, un requisito para el códec de video libx264.
  3. Selección del modo de visualización: Presenta un menú clave para elegir entre dos modos:
    • Modo 1 - LIMPIO (para grabación profesional): El usuario debe minimizar manualmente la ventana de la terminal. El guion de instrucciones espera 15 segundos antes de comenzar la demostración, resultando en un video donde sólo se ve la aplicación awf-gtk3 y el OSD.
    • Modo 2 - DEPURACIÓN (para desarrollo/pruebas): La terminal permanece visible. Es útil para supervisar los mensajes del guion de instrucciones en tiempo real y detectar problemas.
  4. Preparación para la demostración: Según el modo elegido, el guion de instrucciones da instrucciones claras y una cuenta regresiva antes de iniciar.
  5. Demostración y grabación automática:
    • Inicia la grabación de pantalla con ffmpeg en segundo plano, generando un archivo con marca de tiempo (ej. demo-temas-20251227-163929.mp4).
    • Inicia y posiciona automáticamente la ventana de awf-gtk3.
    • Cicla a través de la lista predefinida de temas GTK+ (Adwaita, Nordic, Dracula, Chicago95, Redmond98, RedmondXP, Redmond7, Redmond10, ALDOS, etc.).
    • Para cada tema:
      • Aplica el tema utilizando el guion de instrucciones tema-xfce4.sh.
      • Muestra el nombre del tema actual en pantalla (OSD) utilizando aosd_cat.
      • Espera un tiempo predeterminado para que se observe el cambio.
      • Simula la pulsación de la tecla Super (Windows) para mostrar y ocultar el menú de aplicaciones de Xfce.
      • Vuelve a esperar antes de pasar al siguiente tema.
  6. Finalización:
    • Tras recorrer todos los temas, detiene la grabación de ffmpeg y cierra awf-gtk3.
    • Muestra la ruta completa donde se guardó el archivo de video final.

Estructura y funciones principales del código

El guion de instrucciones (versión 3.0) está estructurado de manera modular, con funciones específicas que facilitan su mantenimiento y comprensión. Las funciones clave incluyen:

Función Descripción
validar_dependencias() Verifica que awf-gtk3, xdotool y tema-xfce4.sh estén disponibles.
validar_dependencias_osd() Verifica específicamente la presencia de aosd_cat.
seleccionar_modo_visual() Presenta un menú interactivo para que el usuario elija entre el Modo Limpio o el Modo Depuración.
precalentar_sudo_pkcon() Ejecuta mandatos con sudo y pkcon para evitar diálogos de contraseña.
precargar_gtk3_libs() Carga bibliotecas GTK3 mediante Python para acelerar los cambios posteriores.
obtener_resolucion() Detecta la resolución de pantalla y la ajusta para que sea par (requisito de ffmpeg).
mostrar_osd_tema() Utiliza aosd_cat para mostrar el nombre del tema actual como texto superpuesto en pantalla.
iniciar_awf_gtk3() Abre, posiciona y enfoca la ventana de awf-gtk3 para la demostración.
aplicar_tema(tema) Ejecuta tema-xfce4.sh con el nombre del tema como argumento.
mostrar_menu_escritorio() Simula la pulsación de la tecla Super para mostrar/ocultar el menú de Xfce.
preparar_grabacion_desatendida() Inicia el proceso de ffmpeg para grabar la pantalla en un archivo .mp4.
main() Función de control principal que orquesta todo el flujo secuencial.

Posibles mejoras y trabajo futuro

La versión actual es robusta y cumple su propósito principal de generación de video. Las siguientes mejoras son candidatas para futuras iteraciones:

Solución de problemas

Conclusión

demo-temas-xfce4.sh es un ejemplo avanzado de automatización en Linux, que combina la gestión de temas, la interacción con el escritorio, la superposición de texto y la generación de multimedia en una única herramienta. Su evolución hacia un generador de video desatendido lo convierte en un recurso valioso para crear contenido pedagógico profesional de forma eficiente y repetible.

Al estudiar y adaptar este guion de instrucciones, los usuarios pueden aprender técnicas valiosas sobre control de procesos, manipulación de ventanas, y el diseño de herramientas de automatización sofisticadas dentro del ecosistema del software libre.