Rofi: El lanzador y menú rápido que transforma tu experiencia en Linux

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/config para 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 -filter para iniciar la búsqueda con un texto predefinido.
  • Combinar Rofi con xclip para copiar la selección al portapapeles automáticamente.
  • Aprovechar el modo calc para 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.

Esta obra está bajo una Licencia Creative Commons Atribución 4.0 Internacional para Francesc Roig francesc@vivaldi.net .

EspañolesEspañolEspañol