Polybar: Guía Completa de Instalación y Configuración para una Barra de Estado Altamente Personalizable en Linux

Published:

Polybar se erige como la solución definitiva para usuarios de Linux que buscan un control absoluto sobre su barra de estado. Esta herramienta open-source transforma la experiencia del escritorio, ofreciendo un nivel de personalización que supera a la mayoría de los entornos de escritorio tradicionales.

¿Qué es Polybar y Por Qué Deberías Considerarlo?

Polybar es una barra de estado altamente configurable que funciona como alternativa superior a las barras nativas de muchos entornos de escritorio. Pensado para usuarios que valoran la funcionalidad y el control estético, Polybar llena el vacío dejado por escritorios como GNOME que limitan la personalización nativa.

Características Principales:

  • Systray Icons: Integración nativa de iconos del sistema

  • Window Title: Título de ventana activa en tiempo real

  • Audio Controls: Control completo de reproducción (MPD compatible)

  • Workspace Management: Soporte para i3, bspwm y otros window managers tiling

  • Hardware Monitoring: CPU, memoria, batería, red y temperatura

  • Custom Scripts: Ejecución de scripts personalizados basados en tiempo

  • IPC Messaging: Comunicación entre procesos para actualizaciones dinámicas

Instalación en Principales Distribuciones

Ubuntu/Debian:

sudo apt update && sudo apt install polybar -y
# Para versiones más recientes en Debian
sudo apt -t bullseye-backports install polybar

Arch Linux/Manjaro:

sudo pacman -S polybar
# Opcional: versión de desarrollo
yay -S polybar-git

Fedora/RHEL:

sudo dnf install polybar
# O para CentOS/Rocky Linux
sudo yum install epel-release
sudo yum install polybar

openSUSE:

sudo zypper install polybar

Configuración Inicial y Autostart

Configuración del Archivo Principal:

# Crear backup del archivo de configuración original
sudo cp /etc/polybar/config.ini /etc/polybar/config.ini.bak

# Crear directorio de configuración de usuario
mkdir -p ~/.config/polybar

# Copiar configuración por defecto para personalización
cp /etc/polybar/config.ini ~/.config/polybar/

Configuración de Autoinicio:

Para KDE Plasma:

# System Settings > Autostart > Add Program
# Comando: polybar example

Para i3wm:

# Agregar a ~/.config/i3/config
exec --no-startup-id polybar example

Para GNOME (via Extensiones):

# Instalar gnome-shell-extension-polybar
# O usar gnome-tweaks para scripts de inicio

Personalización Avanzada: Dominando el Archivo de Configuración

Estructura Básica del Config.ini:

[colors]
; Sistema de colores hexadecimal con transparencia
background = #FF2E3440      ; Sólido
background-alt = #70373B41   ; 70% de transparencia
foreground = #FFD8DEE9
primary = #FF5E81AC
secondary = #FFA3BE8C
alert = #FFBF616A

[bar/example]
; Configuración principal de la barra
width = 100%
height = 24pt
offset-x = 0
offset-y = 0
background = ${colors.background}
foreground = ${colors.foreground}

; Posición en pantalla
fixed-center = true
wm-restack = i3
monitor = ${env:MONITOR:HDMI-1}

Módulos Esenciales Configurados:

Módulo de Sistema:

[module/cpu]
type = internal/cpu
interval = 2
format-prefix = "CPU "
format-prefix-foreground = ${colors.primary}
label = %percentage:2%%

[module/memory]
type = internal/memory
interval = 2
format-prefix = "RAM "
format-prefix-foreground = ${colors.secondary}
label = %percentage_used%%

Módulo de Red y Audio:

[module/wlan]
type = internal/network
interface = wlp3s0
interval = 3
format-connected = <ramp-signal> <label-connected>
format-connected-foreground = ${colors.foreground}
label-connected = %essid% %downspeed:9%

[module/pulseaudio]
type = internal/pulseaudio
format-volume = <ramp-volume> <label-volume>
label-volume = %percentage%%
label-volume-foreground = ${colors.primary}
ramp-volume-0 = 🔈
ramp-volume-1 = 🔉
ramp-volume-2 = 🔊

Creación de Múltiples Barras

Configuración para Barra Superior e Inferior:

[bar/top]
monitor = ${env:MONITOR:HDMI-1}
width = 100%
height = 24pt
offset-y = 0
modules-left = i3 menu
modules-center = date
modules-right = cpu memory pulseaudio wlan battery

[bar/bottom]
monitor = ${env:MONITOR:HDMI-1}
width = 100%
height = 20pt
offset-y = -20
modules-left = filesystem temperature
modules-center = xwindow
modules-right = updates backlight keyboard

Módulos Personalizados y Scripts

Ejemplo de Módulo de Fecha y Hora Personalizado:

[module/datetime]
type = internal/date
interval = 1.0

date = "%d/%m/%Y"
time = "%H:%M:%S"
time-alt = "%A, %d %B %Y %H:%M:%S"

label = %date% - %time%
label-foreground = ${colors.primary}

Integración con Scripts Externos:

[module/custom-weather]
type = custom/script
exec = ~/.config/polybar/scripts/weather.sh
interval = 600
tail = true

format-prefix = "🌤 "
format-prefix-foreground = ${colors.secondary}

Script de Ejemplo (weather.sh):

#!/bin/bash
# ~/.config/polybar/scripts/weather.sh
curl -s "wttr.in/?format=3" | awk '{print $3}'

Temas y Esquemas de Color Populares

Tema Nord (Recomendado):

[colors]
background = #FF2E3440
background-alt = #3B4252
foreground = #D8DEE9
primary = #81A1C1
secondary = #A3BE8C
alert = #BF616A

Tema Dracula:

[colors]
background = #FF282A36
background-alt = #44475A
foreground = #F8F8F2
primary = #BD93F9
secondary = #50FA7B
alert = #FF5555

Tema Solarized Dark:

[colors]
background = #FF002B36
background-alt = #073642
foreground = #839496
primary = #268BD2
secondary = #859900
alert = #DC322F

Solución de Problemas Comunes

Problema: La barra no aparece

# Verificar configuración
polybar -c ~/.config/polybar/config.ini example

# Modo verbose para debugging
polybar -c ~/.config/polybar/config.ini example -l info

Problema: Módulos no funcionan

# Recargar configuración
pkill polybar
polybar example &

# Verificar dependencias de módulos
# Ej: pulseaudio para módulo de audio, lm_sensors para temperatura

Mejores Prácticas y Consejos Avanzados

Organización de Configuración:

# Estructura recomendada de directorios
~/.config/polybar/
├── config.ini
├── scripts/
│   ├── weather.sh
│   ├── vpn-status.sh
│   └── system-updates.sh
└── themes/
    ├── nord.ini
    └── dracula.ini

Performance Optimization:

[global/wm]
; Reducir uso de CPU en máquinas limitadas
interval = 2
padding = 1
module-margin = 1

Recursos y Comunidad

Documentación Oficial:

Configuraciones de la Comunidad:

Conclusión: Por Qué Polybar es una Inversión que Vale la Pena

Polybar representa la culminación de la filosofía Linux de personalización absoluta. Aunque requiere una inversión inicial de tiempo para dominar su sistema de configuración basado en texto, las recompensas en términos de productividad y estética son incomparables.

Ventajas Clave:

  • ✅ Control total sobre cada aspecto de la barra

  • ✅ Integración profunda con window managers tiling

  • ✅ Performance optimizado incluso en hardware antiguo

  • ✅ Comunidad activa y amplia colección de configuraciones

Consideraciones:

  • ⚠️ Curva de aprendizaje para usuarios novatos

  • ⚠️ Configuración 100% basada en texto

  • ⚠️ Requiere mantenimiento activo para updates

Para usuarios que buscan transformar su workflow y crear un entorno de escritorio verdaderamente personalizado, Polybar no es solo una herramienta—es una declaración de principios sobre lo que significa tener control real sobre tu sistema operativo.

- Advertisement -
Jorge
Jorgehttps://nksistemas.com
Soy Jorge, Sr Sysadmin Linux/DevOps/SRE y creador de NKSistemas.com Trabajo con plataformas: Linux, Windows, AWS, GCP, VMware, Helm, kubernetes, Docker, etc.

Related articles