Ir al contenido

Instalar bspwm en Fedora

bspwm

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.”

Dejá una respuesta