Introducción
En el mundo de Linux, la personalización y la velocidad son aspectos que muchos usuarios buscan mejorar constantemente. Un lanzador rápido y flexible puede marcar la diferencia entre un flujo de trabajo fluido y uno lleno de interrupciones. Rofi es una herramienta ligera que combina las funciones de lanzador de aplicaciones, cambiador de ventanas y menú personalizable, todo ello con un consumo de recursos mínimo.
¿Qué es Rofi?
Rofi es un selector que se invoca mediante un atajo de teclado y presenta una lista filtrada de elementos. Mientras el usuario escribe, la lista se reduce en tiempo real, permitiendo encontrar rápidamente aplicaciones, comandos, ventanas o cualquier otro tipo de entrada. Su interfaz es basada en texto, lo que lo hace compatible con prácticamente cualquier entorno de escritorio o gestor de ventanas.
Instalación
La mayoría de las distribuciones incluyen Rofi en sus repositorios oficiales. En sistemas basados en Debian/Ubuntu se puede instalar con:
- sudo apt update
- sudo apt install rofi
En Fedora:
- sudo dnf install rofi
En Arch Linux y derivados:
- sudo pacman -S rofi
Para quienes prefieren compilar desde el código fuente, el proyecto está disponible en GitHub y requiere dependencias como libxcb, xcb-util-wm y pango.
Uso básico
Una vez instalado, lanzar Rofi es tan sencillo como ejecutar:
rofi -show run
para obtener un lanzador de comandos, o:
rofi -show drun
también se puede usar como cambiador de ventanas con:
rofi -show window
La tecla predeterminada para invocar Rofi suele configurarse en el gestor de ventanas. Por ejemplo, en i3 se añade:
bindsym $mod+d exec rofi -show drun
Esto abre el menú de aplicaciones cada vez que se pulsa la tecla Super + D.
Configuración básica
Rofi lee su configuración desde ~/.config/rofi/config. Un archivo mínimo podría contener:
rofi.font: Sans 10 rofi.background-color: #000000 rofi.text-color: #FFFFFF rofi.border-color: #333333
Estas líneas definen la fuente, el color de fondo, el color del texto y el color del borde. Modificar estos valores permite adaptar la apariencia al tema del escritorio sin necesidad de instalar temas externos.
Temas y personalización
Para un mayor nivel de personalización, Rofi soporta temas completos almacenados en ~/.config/rofi/themes/. Un tema sencillo que solo ajusta colores y tamaños podría verse así:
* {
background: #2E3440;
foreground: #D8DEE9;
border: #4C566A;
}
window {
width: 30%;
height: 40vh;
border: 2;
border-color: #4C566A;
}
Guardar este archivo como dark.theme y luego invocar Rofi con:
rofi -show drun -theme dark
aplicará el estilo elegido. (Nota: el modo drun se usa para lanzar aplicaciones; el ejemplo anterior muestra cómo combinar modo y tema.)
Modos avanzados
Además de los modos run, drun y window, Rofi incluye varios modos especializados:
ssh: lista de hosts definidos en~/.ssh/configpara conectarse rápidamente.calc: un pequeño evaluador de expresiones matemáticas.emoji: selector de emojis con búsqueda en tiempo real.windowcd: cambiar directorio basado en la ventana activa.combi: combina varios modos en una sola vista, permitiendo cambiar entre ellos con pestañas.
Estos modos se invocan especificando el argumento -show, por ejemplo rofi -show ssh.
Integración con gestores de ventanas
La verdadera potencia de Rofi se revela cuando se combina con atajos de teclado en gestores de ventanas tiling. En i3, además del lanzador de aplicaciones, se puede definir un atajo para el cambiador de ventanas:
bindsym $mod+Shift+d exec rofi -show window
En Sway (el compositor de Wayland compatible con i3) la sintaxis es idéntica. En bspwm, se puede usar:
super + d
rofi -show drun
Y en XFCE o GNOME, se pueden utilizar herramientas como xbindkeys o la configuración de atajos personalizados para lanzar Rofi con la combinación deseada.
Scripts y modos personalizados
Una de las características más poderosas de Rofi es la capacidad de crear modos propios mediante scripts. Basta con crear un ejecutable que imprima líneas en su salida estándar; cada línea se tratará como una entrada. Por ejemplo, un script que liste los contenedores Docker activos:
#!/bin/bash
docker ps --format '{{.Names}}'
Guardarlo como ~/.local/share/rofi/docker.sh, hacerlo ejecutable y luego añadir:
rofi -modi docker:~/.local/share/rofi/docker.sh -show docker
Esto abrirá un menú con los nombres de los contenedores y, al seleccionar uno, se podrá pasar el valor a otro script mediante el argumento -selected-row.
Consejos y trucos
- Usar
-filterpara iniciar la búsqueda con un texto predefinido. - Combinar Rofi con
xclippara copiar la selección al portapapeles automáticamente. - Aprovechar el modo
calcpara realizar conversiones rápidas sin abrir una calculadora gráfica. - Establecer un demonio que mantenga Rofi en memoria para reducir el tiempo de arranque en sistemas con hardware limitado.
- Explorar la galería de temas en la wiki oficial para encontrar inspiración y descargar diseños creados por la comunidad.
Rendimiento y consumo de recursos
Rofi está escrito en C y utiliza XCB o Wayland directamente, lo que lo hace extremadamente ligero. En una máquina típica con 2 GB de RAM, el proceso consume menos de 5 MB de memoria y apenas unos pocos milisegundos de CPU al iniciar. Esto lo convierte en una opción ideal incluso para dispositivos antiguos o para entornos de contenedores donde se busca minimizar el overhead.
Conclusión
Rofi combina simplicidad, flexibilidad y potencia en un solo paquete. Ya sea que necesite un lanzador de aplicaciones rápido, un cambiador de ventanas eficiente o una plataforma para crear menús personalizados mediante scripts, Rofi se adapta a casi cualquier flujo de trabajo en Linux. Su bajo consumo de recursos y su amplia capacidad de tematización lo hace indispensable tanto para principiantes que buscan mejorar su productividad como para usuarios avanzados que desean ajustar cada detalle de su entorno. Si aún no lo ha probado, le invitamos a instalarlo, configurar un atajo de teclado y descubrir por qué tantos usuarios lo consideran el lanzador definitivo del ecosistema Linux.


