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
Criterio | bspwm (X11) | i3 (X11) | Sway (Wayland) |
---|---|---|---|
Backend gráfico | Xorg | Xorg | Wayland |
Filosofía | Scriptable (bspc + sxhkd) | Declarativa y estable | Compatible con i3, Wayland nativo |
Atajos | Externos (sxhkd) | Integrados | Integrados |
Reglas de ventanas | Potentes (bspc rule ) | Limitadas (for_window ) | Similares a i3 |
VM y compatibilidad | Excelente (sin GPU 3D) | Excelente | Requiere virtio-gpu |
Curva de aprendizaje | Media | Baja | Media-alta |
Ideal para | Usuarios avanzados y scripting | Usuarios nuevos o productivos | Equipos 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
Problema | Solución |
---|---|
No responden los atajos | Asegurate de que sxhkd está corriendo (pgrep -x sxhkd ) |
No aparece la barra | Verificá ~/.config/polybar/launch.sh y permisos de ejecución |
Parpadeo o sombras raras | Editá ~/.config/picom/picom.conf o no inicies picom |
Pantalla negra inicial | Puede deberse a fondo o compositor; comentá las líneas finales del bspwmrc |
Atajos con tecla “Super” no funcionan en VM | Usá Alt (Mod1 ) o habilitá “Grab keyboard” en tu hipervisor |
📈 9) Cuándo elegir bspwm
Si querés… | Elegí… |
---|---|
Control total, scripting y reglas personalizadas | bspwm |
Configuración rápida y estable | i3 |
Entorno Wayland moderno | Sway |
Usarlo en VM sin GPU 3D | i3 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
ybspwmrc
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.”