Etiqueta: Tiling Window Manager

  • Instalar bspwm en Fedora

    Instalar bspwm en Fedora

    Guía técnica completa para entornos profesionales y docentes


    🧭 1) ¿Qué es Fedora?

    Fedora es una distribución GNU/Linux patrocinada por Red Hat, reconocida por su estabilidad, innovación y políticas de software libre.
    Se caracteriza por incluir versiones actualizadas del kernel y paquetes, manteniendo a la vez una fuerte orientación a la seguridad mediante SELinux.

    Ofrece múltiples ediciones o spins (GNOME, KDE, XFCE, i3, Sway, etc.), y sirve como base de prueba para tecnologías que luego se integran en Red Hat Enterprise Linux.

    Ventajas principales:

    • Software siempre actualizado y probado.
    • Integración nativa con SELinux.
    • Excelente documentación y soporte de comunidad.

    Desventajas:

    • Ritmo de actualización rápido (puede requerir mantenimiento periódico).
    • Algunas configuraciones avanzadas no vienen preinstaladas por defecto.

    🪟 2) ¿Qué es bspwm?

    bspwm (Binary Space Partitioning Window Manager) es un gestor de ventanas en mosaico (tiling) para X11.
    Organiza las ventanas como un árbol binario, donde cada división crea un espacio asignado a una aplicación.
    Se configura a través de scripts shell y se controla mediante bspc (un cliente que envía comandos al daemon bspwm).

    Características técnicas:

    • Arquitectura modular:
      bspwm (daemon) + sxhkd (gestor de atajos) + bspc (cliente de control).
    • Sin configuraciones internas fijas: todo se maneja vía shell.
    • Extremadamente liviano y rápido.
    • Alta scriptabilidad: ideal para automatizar disposiciones de ventanas y flujos de trabajo.

    ⚖️ 3) Comparativa rápida: bspwm vs i3 vs Sway

    Criteriobspwm (X11)i3 (X11)Sway (Wayland)
    Backend gráficoXorgXorgWayland
    FilosofíaScriptable (bspc + sxhkd)Declarativa y estableCompatible con i3, Wayland nativo
    AtajosExternos (sxhkd)IntegradosIntegrados
    Reglas de ventanasPotentes (bspc rule)Limitadas (for_window)Similares a i3
    VM y compatibilidadExcelente (sin GPU 3D)ExcelenteRequiere virtio-gpu
    Curva de aprendizajeMediaBajaMedia-alta
    Ideal paraUsuarios avanzados y scriptingUsuarios nuevos o productivosEquipos modernos con Wayland

    Conclusión:

    • bspwm es perfecto para quienes desean control total mediante scripts.
    • i3 es ideal para quienes priorizan simplicidad inmediata.
    • Sway es el futuro (Wayland), pero demanda hardware compatible.

    🧰 4) Requisitos previos

    • Fedora instalado (Workstation, Server o Minimal).
    • Acceso a internet y privilegios sudo.
    • Un Display Manager (GDM, LightDM o SDDM).
    • Sistema gráfico basado en X11 (no Wayland).

    💡 Si usas VM: GNOME Boxes / Virt-Manager (QEMU/KVM) brinda la mejor compatibilidad con tiling WMs.


    ⚙️ 5) Instalación paso a paso

    Paso 1: Instalar los paquetes esenciales

    sudo dnf install -y bspwm sxhkd rofi polybar picom alacritty feh

    Paso 2: Crear las carpetas de configuración

    mkdir -p ~/.config/{bspwm,sxhkd,polybar,picom}

    Paso 3: Copiar las plantillas oficiales

    cp /usr/share/doc/bspwm/examples/bspwmrc ~/.config/bspwm/
    cp /usr/share/doc/bspwm/examples/sxhkdrc ~/.config/sxhkd/
    chmod +x ~/.config/bspwm/bspwmrc

    🧩 6) Configuración básica funcional

    🧱 ~/.config/bspwm/bspwmrc

    #!/bin/sh
    
    bspc monitor -d 1 2 3 4 5 6 7 8 9 10
    
    bspc config border_width         2
    bspc config window_gap           8
    bspc config split_ratio          0.52
    bspc config border_focus_color   "#5294E2"
    bspc config border_normal_color  "#444444"
    
    # Lanzar servicios
    pgrep -x sxhkd >/dev/null || sxhkd &
    picom --config ~/.config/picom/picom.conf &
    ~/.config/polybar/launch.sh &
    feh --bg-fill /usr/share/backgrounds/default.png 2>/dev/null &

    ⌨️ ~/.config/sxhkd/sxhkdrc

    # Terminal
    super + Return
      alacritty
    
    # Menú de aplicaciones
    super + d
      rofi -show drun
    
    # Cerrar ventana
    super + q
      bspc node -c
    
    # Navegar entre ventanas
    super + {h,j,k,l}
      bspc node -f {west,south,north,east}
    
    # Mover ventanas
    super + shift + {h,j,k,l}
      bspc node -s {west,south,north,east}
    
    # Cambiar de escritorio
    super + {1-9,0}
      bspc desktop -f '^{1-9,10}'

    📊 ~/.config/polybar/launch.sh

    #!/usr/bin/env bash
    killall -q polybar || true
    while pgrep -u "$UID" -x polybar >/dev/null; do sleep 0.5; done
    polybar example & disown
    chmod +x ~/.config/polybar/launch.sh

    ⚙️ ~/.config/polybar/config.ini

    [bar/example]
    width = 100%
    height = 28
    modules-left = workspaces
    modules-right = date

    [module/workspaces]

    type = internal/xworkspaces

    [module/date]

    type = internal/date interval = 1 date = %Y-%m-%d %H:%M

    💨 ~/.config/picom/picom.conf

    backend = "xrender";
    vsync = true;
    shadow = false;
    fading = false;

    🚀 7) Iniciar bspwm

    Con gestor de sesión (GDM/LightDM)

    Cerrá sesión → seleccioná bspwm → iniciar sesión.

    Sin display manager (modo consola)

    sudo dnf install -y xorg-x11-xinit
    echo 'exec bspwm' > ~/.xinitrc
    startx

    🧩 8) Solución de problemas comunes

    ProblemaSolución
    No responden los atajosAsegurate de que sxhkd está corriendo (pgrep -x sxhkd)
    No aparece la barraVerificá ~/.config/polybar/launch.sh y permisos de ejecución
    Parpadeo o sombras rarasEditá ~/.config/picom/picom.conf o no inicies picom
    Pantalla negra inicialPuede deberse a fondo o compositor; comentá las líneas finales del bspwmrc
    Atajos con tecla “Super” no funcionan en VMUsá Alt (Mod1) o habilitá “Grab keyboard” en tu hipervisor

    📈 9) Cuándo elegir bspwm

    Si querés…Elegí…
    Control total, scripting y reglas personalizadasbspwm
    Configuración rápida y establei3
    Entorno Wayland modernoSway
    Usarlo en VM sin GPU 3Di3 o bspwm

    ✅ 10) Resumen rápido

    sudo dnf install bspwm sxhkd rofi polybar picom alacritty feh
    cp /usr/share/doc/bspwm/examples/bspwmrc ~/.config/bspwm/
    cp /usr/share/doc/bspwm/examples/sxhkdrc ~/.config/sxhkd/
    chmod +x ~/.config/bspwm/bspwmrc

    Luego:

    • Seleccioná bspwm al iniciar sesión (o startx).
    • Editá sxhkdrc y bspwmrc a gusto.
    • Disfrutá de un entorno minimalista, rápido y perfectamente scriptable.

    🧠 Conclusión

    bspwm en Fedora combina lo mejor de ambos mundos:
    la base sólida y moderna de Fedora con la flexibilidad extrema de un tiling manager scriptable.
    Ideal para usuarios avanzados, docentes o entornos donde la eficiencia, la reproducibilidad y el control fino son prioridad.

    🧩 “bspwm no te impone un flujo de trabajo; te deja diseñarlo.”