Instalando un Window Manager minimalista. ¿Qué aplicaciones debería instalar?
Instalé un Window Manager minimalista. ¿Ahora qué? Esa es una pregunta que muchos usuarios se hacen al instalar una WM como Openbox, i3 o bspwm, que solamente muestran ventanas y poco más. Las características de un entorno de Escritorio completo, como lo son un panel/barra de tareas, explorador de archivos, o incluso un cajón de aplicaciones, suelen brillar por su ausencia en estas instalaciones, dejando en manos del usuario decidir que aplicaciones descargar. El problema es que, en algunas ocasiones, no sabemos que aplicaciones usar, o las que estamos acostumbrados pertenecen a entornos de escritorio completos y no funcionan de manera independiente.
Debido a lo anterior es que he decidido plasmar algo de mi experiencia en el uso de Window Managers y listar algunas de las aplicaciones que personalmente recomiendo y uso diariamente, así si alguien desea migrar de un entorno de escritorio a un gestor de ventanas en solitario, puede basarse en este escrito para decidir que aplicaciones instalar. Trataré de listar aquellos programas que ayudan a completar una interfaz de escritorio, así como otras aplicaciones que considero quedan bastante bien con entornos minimalistas y basan su funcionamiento principalmente en el uso del teclado, así como también el hipervínculo que mande a una web con información sobre la aplicación (el README en github o una entrada en la wiki de Arch) en lugar de un enlace para descargar, puesto que la mayoría está disponible en los repos de las distros más populares.
Panel
-
Uno de los paneles más populares, permite utilizar diferentes “módulos” para decidir que información mostrar. Además de los módulos incluidos se pueden crear nuevos que muestren la salida de un script, lo que lo vuelve sumamente poderoso en mi opinión sin dejar de lado la simpleza de uso. Incorpora una serie de módulos para mostrar la información que deseamos (incluidos los escritorios de i3 y bspwm), una bandeja del sistema y en su wiki podemos encontrar una variedad de scrips creados por la comunidad.
-
Un problema, si se le quiere ver así, de polybar es que la configuración se hace mediante un archivo de texto. tint2 parece solucionar ese problema incorporando una interfaz gráfica para editar y crear temas, pero a la vez es un panel bastante completo incorporando una gran cantidad de módulos que se pueden personalizar desde el color hasta el tipo de información que muestran. Aunque debo decir que es algo más limitado que polybar, este panel posee un “botón de tareas” que permite mostrar las aplicaciones abiertas e interactuar con ellas, mientras que polybar no, volviéndolo perfecto para stacking window managers como Openbox o Berry.
-
El panel que incorpora el entorno LXDE pero que es totalmente independiente, incorpora un menú, botones de ventanas, bandeja y es personalizable para dejarlo al gusto de cada quien.
Lanzador de aplicaciones
-
Dmenu no es un lanzador de aplicaciones, en realidad es un menú dinámico; para no explayarme mucho, básicamente podemos enrutar varias lineas a dmenu y, en un menú gráfico seleccionar una, la selección se imprime en STDOUT. Muy útil para scripts (yo mismo tengo una serie de scripts que usan dmenu), incluye un script llamado
dmenu_run
el cual muestra todas las aplicaciones instaladas, permitiendo usarlo como lanzador de aplicaciones. -
dmenu_run
tiene un problema: muestra todos los binarios instalados en el equipo, esto incluye cantidad de utilidades en línea de comandos, librerias y aplicaciones por su nombre binario y no su nombre común (“lowriter” en lugar de “Libre Office Writer”). j4-desktop soluciona esto mostrando solamente aquellos paquetes con un archivo .desktop en un menú de dmenu. Es posible modificar los parámetros de dmenu para personalizarlo un poco. -
Rofi permite no solo lanzar las aplicaciones instaladas, sino también cambiar entre ventanas abiertas e incluso puede reemplazar a dmenu como menú dinámico. Rofi es mucho más personalizable que dmenu, permitiendo crear temas complejos y llamativos.
Sistema
-
Una aplicación para elegir un fondo de pantalla. Es muy sencilla de usar y basta con elegir en la interfaz gráfica la carpeta de los Wallapaper y elegir uno. Incluye opciones para la línea de comandos también.
-
Picom es un compositor de ventanas, fork de Compton. Permite agregar sombras, transparencias y animaciones simples a las ventanas, pero la utilidad más importante es la de reducir el tearing presente en varios gestores de ventanas.
-
Esta aplicación permitirá cambiar el tema GTK+, el paquete de íconos, el tipo de fuente que usará el sistema y el tema del cursor. Originalmente desarrollado para usarse en el entorno de escritorio LXDE funciona perfectamente fuera de él.
-
No todas las aplicaciones que usamos son GTK, varias usan las librerías Qt, y para poder modificar su apariencia es necesario usar qt5ct. Desde esta pequeña aplicación se puede cambiar el tema y la apariencia de las aplicaciones Qt. Recomiendo usar el estilo GTK para que las ventanas GTK y las ventanas Qt se vean uniformes.
PulseAudio y Pavucontrol
Para poder escuchar algo en nuestros sistemas necesitamos instalar e iniciar el servidor de PulseAudio. Pavucontrol nos permitirá cambiar el volumen y las salidas y entradas de audio.
-
Dunst es un servidor de notificaciones que permite mostrar las notificaciones que envíen las aplicaciones. Es posible enviar notificaciones mediante
notify-send
incluido en el paquetelibnotify
y enviar notificaciones personalizadas. El aspecto de dunst se puede personalizar mediante un archivo de configuración. -
nm-applet funciona como un ícono en la bandeja del sistema para ver y administrar las conexiones de internet. Muy útil para agregar redes wifi o simplemente confirmar que se esté conectado al internet. Una ventana más compleja aparece como opciones avanzadas que permite una administración algo más profunda.
-
Una alternativa para nm-applet que utiliza dmenu para mostrar las opciones de conexión disponibles. Permite una administración básica de las redes disponibles mientras que una interfaz más completa se ofrece mediante nm-applet.
-
Un gestor del portapapeles sencillo que vive en la bandeja del sistema. Posee un historial de lo que se ha copiado y permite administrar todo el texto que se copie al portapapeles.
-
Un sencillo applet para la bandeja del sistema que permite ver el volumen, incluye unas cuantas opciones de personalización, como usar las teclas de volumen para controlar el applet.
-
Siempre viene útil tomar una captura de pantalla, y para ello podemos usar Scrot, una utilidad CLI para tomar capturas de pantalla. Es muy simple y sencilla pero posee algunos comandos como retrasar la captura.
-
Si scrot es muy simple, entonces Flameshot es la aplicación que buscamos. Permite elegir la zona a la que se le tomará captura, escribir sobre la captura antes de tomarla e incluso subirla a imgur.
Otros
Aquí incluyo una selección de aquellas aplicaciones que, en mi consideración, funcionan bien fuera de entornos de escritorio completos, y quedan bien en entornos minimalistas que se usan principalmente con el teclado.
-
El gestor de archivos de XFCE es uno, sino es que el mejor gestor de archivos para linux. Funciona sin problemas como un programa independiente y ofrece varias opciones interesantes como entradas personalizadas al menú de clic derecho, plugins y una interfaz moderna.
-
Un gestor de archivos en terminal bastante completo, que incluye desde opciones avanzadas de búsquedas hasta previsualización de imágenes y comandos personalizados. Está escrito y configurado en Python, lo que lo vuelve sencillo pero poderoso a la vez.
-
Un clon de Ranger escrito en go, lo que lo vuelve más rápido que su original en Python, además incorpora opciones avanzadas como scripts personalizados dependiendo el tipo de archivo y atajos de teclado personalizados
-
Un administrador de archivos muy rápido y sencillo, con una gran cantidad de plugins (scripts de bash) que lo hacen más útil aún. Es más minimalista que los anteriores pero igual de útil.
-
Un visor de imágenes simple que dedica a hacer eso: visualizar imágenes. Es posible rotar y transformar las imágenes, así como colocarlas como fondo de pantalla, todo mediante atajos de teclado y sin ningún ícono o barra de herramientas innecesaria.
-
Otro visor de imágenes simple, muy parecido a feh pero con opciones interesantes como ejecutar scripts a una imagen o ver todas las imágenes en una carpeta como galería.
-
Mpv es un reproductor de videos muy sencillo en interfaz pero bastante poderoso. Incluye una interfaz de reproducción mínima y es compatible con una gran cantidad de formatos multimedia. Al igual que sxiv y feh, es posible controlarlo (y hay cosas que solo así se pueden lograr) totalmente mediante el teclado gracias a atajos personalizables.
-
Un lector de PDF y otros formatos minimalista. Permite leer documentos sin la distracción de barras de herramientas o menús innecesarios, es controlable mediante el teclado y es posible cambiar los atajos que se utilizan. Para que funcione es necesario instalar plugins extras dependiendo de los formatos que queramos leer.
-
NCurses Music Player Client Plus Plus (si, eso significa) es un cliente para MPD que se ejecuta en terminal. Posee una enorme cantidad de opciones, desde ver la letra de las canciones hasta editar las etiquetas y generar visualizaciones. Es compatible también con mopidy, lo que significa que podríamos escuchar Spotify desde ncmpcpp.
Terminal
Hay muchas terminales disponibles. Aquí no me siento confiado en recomendar una en específico ya que la mayoría son muy parecidas, diferenciándose en las opciones de personalización. Xterm, termite y urxvt son muy populares; st es la que uso pero su configuración requiere parchear y recompilar cada ocasión; xfce-terminal y lxterminal funcionan a la perfección sin su respectivo entorno. Lo que si no puedo recomendar son terminales como gnome-terminal o konsole, pues vienen con una gran cantidad de dependencias.
Editor de texto
Nuevamente, esto es cuestión de gustos y no me atrevo a recomendar uno específico. Para tareas rápidas Mousepad y Nano son muy útiles, si se quiere un editor gráfico o en terminal, respectivamente. Para tareas más avanzadas quizá VIM o Emacs son más apropiados, o si se trabaja con código se prefiera trabajar con VSCode o algún otro IDE.