560 - Las aplicaciones imprescindibles en Linux en 2024
Las aplicaciones imprescindibles en #linux en 2024 y que seguro que vas a encontrar en mi #escritorio #sway y en #gnome junto a mi terminal #kitty
En este episodio del podcast te quiero hablar sobre las aplicaciones imprescindibles en Linux en 2024, o al menos las que yo considero. Está claro que dependiendo de tu flujo de trabajo, dependiendo de si te dedicas mas al ocio o al negocio, dependiendo de si eres mas de gui o de cli, tendrás unas preferencias personales u otras. Sin embargo, mi intención es contarte las que yo considero, para que las pruebes en caso de que no las conozcas, o al menos las tengas en el foco. De esta manera, si un día necesitas una herramienta con las características que te voy a contar te acuerdes de estas recomendaciones y puedas recurrir a ellas.
Las aplicaciones imprescindibles en Linux en 2024
Voy a dividir estas aplicaciones en dos bloques. El primero se corresponde con lo que todos entendemos por aplicación, mientras que en el segundo bloque, las aplicaciones las podrías encasillar en herramientas. Mas si cabe atendiendo a que las aplicaciones correspondientes al segundo bloque son herramientas que están pensadas para su uso en terminal. En concreto, yo las utilizo junto a Kitty, mi terminal por defecto.
Aplicaciones
Kitty
Kitty es un emulador de terminal de código abierto, multiplataforma, disponible para Linux, macOS, y Windows. Algunas de las características de este emulador de terminal, son las siguientes,
- GPU Acceleration: Una de las características destacadas de Kitty es su capacidad para aprovechar la aceleración de GPU. Esto significa que puede realizar operaciones gráficas intensivas de manera más eficiente al utilizar la potencia de la GPU.
- Protocolo de Terminal: Kitty utiliza el protocolo de terminal propio llamado
kitty
. Este protocolo permite la comunicación entre la aplicación y el terminal, y proporciona características adicionales, como la capacidad de mostrar imágenes directamente en el terminal. - Ventanas Múltiples: Soporta la división de ventanas, lo que significa que puedes tener varias sesiones de terminal dentro de una ventana. Esto es útil para trabajar con múltiples tareas al mismo tiempo.
- Configuración Dinámica: Kitty permite la configuración dinámica en tiempo real. Puedes ajustar la configuración del terminal sin necesidad de reiniciar la sesión actual.
- Compatibilidad con Unicode: Ofrece una sólida compatibilidad con Unicode, lo que significa que puede mostrar caracteres de múltiples idiomas y símbolos.
Neovim
Desde luego, si hay alguna aplicación sobre la que te hable en repetidas ocasiones es Neovim. Si, por casualidad no conoces Neovim, o no me has oído nunca hablar de esta aplicación, indicarte que se trata de un editor de texto altamente configurable, compatible con Vim, que busca mejorar y extender las funcionalidades de Vim. Su objetivo principal es ser más mantenible y brindar una plataforma para el desarrollo de plugins y extensiones más fácilmente. Algunas de las características principales de Neovim son las siguientes,
- Compatibilidad con Vim: Neovim es compatible con la mayoría de los comandos y secuencias de teclas de Vim. Si ya estás familiarizado con Vim, encontrarás Neovim bastante similar.
- Arquitectura Modular: Una de las características más destacadas de Neovim es su arquitectura modular y extensible. Permite a los desarrolladores extender y modificar fácilmente el editor mediante el uso de plugins y configuraciones personalizadas.
- API Remota: Neovim incluye una API remota que permite la comunicación con Neovim desde otros programas. Esto ha llevado al desarrollo de interfaces de usuario (UI) gráficas y otras herramientas que aprovechan la funcionalidad de Neovim.
- Soporte para Lenguajes de Programación: Proporciona un mejor soporte para diferentes lenguajes de programación, incluyendo resaltado de sintaxis, autocompletado y herramientas específicas del lenguaje.
- Soporte Integrado para Redes: Puede actuar como un servidor de texto, permitiendo la edición colaborativa en tiempo real a través de la red.
- Nuevas Características: Introduce varias características nuevas y mejoras con respecto a Vim, como soporte nativo para pestañas, terminales integradas, resaltado de líneas modificadas y una API de plugins más poderosa.
- Configuración Inicial Simplificada: La configuración inicial de Neovim se puede hacer mediante un archivo
init.vim
o mediante configuraciones Lua, lo que proporciona una sintaxis más moderna y expresiva para personalizar el editor. - Desarrollo Activo: Neovim tiene un equipo de desarrollo activo que trabaja en mejoras continuas y resolución de problemas. Esto garantiza que el editor esté al día con las últimas tendencias y requisitos de los usuarios.
- Terminal Integrada: Neovim incluye una terminal integrada que permite ejecutar comandos del sistema directamente dentro del editor.
OBS
Otra de las herramientas que utilizo prácticamente a diario es OBS. Se trata de la aplicación que utilizo para grabar tanto los vídeos del canal de YouTube como la de los podcast. Aunque como he contado en alguna ocasión, lo que hago con los podcast, es extraer el audio de los vídeos. Si no conoces OBS Studio, o simplemente OBS (Open Broadcaster Software), es una aplicación de código abierto que se utiliza para la grabación y transmisión de contenido multimedia en tiempo real. Originalmente diseñado para la transmisión de videojuegos, OBS se ha convertido en una herramienta popular para una variedad de usos, como transmisiones en vivo, grabación de pantalla, conferencias en línea y más. Algunas de las características de este increíble software son las siguientes,
- Transmisión en Vivo: OBS permite a los usuarios transmitir en vivo su contenido a plataformas populares como Twitch, YouTube, Facebook Live, entre otras. Es compatible con una variedad de servicios de transmisión y permite la personalización de las configuraciones de transmisión.
- Grabación de Pantalla: Además de la transmisión en vivo, OBS facilita la grabación de la pantalla del usuario. Esto es útil para crear tutoriales, presentaciones, o simplemente grabar contenido para su posterior edición.
- Escenas y Fuentes: OBS organiza el contenido mediante el uso de escenas, que son conjuntos de fuentes (fuentes de video, audio, imágenes, etc.). Esto permite una gestión flexible y dinámica de lo que se está mostrando en la transmisión o grabación.
- Soporte Multiplataforma: OBS es compatible con Windows, macOS y Linux, lo que significa que los usuarios pueden utilizarlo en una variedad de sistemas operativos.
- Configuración Avanzada de Audio y Video: Ofrece configuraciones avanzadas para el manejo de dispositivos de audio y video, permitiendo a los usuarios ajustar la calidad de la transmisión o grabación según sus necesidades y recursos disponibles.
- Filtros y Efectos: OBS incluye una variedad de filtros y efectos que pueden aplicarse a las fuentes de video y audio. Esto permite ajustar la apariencia y el sonido durante una transmisión o grabación.
- Compatibilidad con Dispositivos de Captura: Puede capturar video y audio de diversas fuentes, como cámaras web, tarjetas de captura de video, pantallas de computadora, ventanas específicas, etc.
- Interfaz de Usuario Personalizable: La interfaz de usuario de OBS es altamente personalizable. Los usuarios pueden ajustar la disposición de las ventanas y paneles según sus preferencias.
- Soporte para Complementos y Scripts: OBS es extensible a través de complementos y scripts. La comunidad de usuarios ha desarrollado una amplia variedad de complementos que amplían las capacidades de la aplicación.
Zathura
Zathura es mi mas reciente incorporación al conjunto de aplicaciones que utilizo de forma habitual. Se trata de un visor de documentos basado en PDF que se centra en proporcionar una experiencia de usuario ligera y eficiente. Está diseñado para ser minimalista y se integra bien con gestores de ventana del tipo Tiling Window Manager. De ahí precisamente a que lo haya incorporado. Además y esta es otra característica que me hizo decantarme por él, es que se trata de una herramienta que hace uso de los atajos de teclado de Vim. Algunas de las características de esta herramienta son las siguientes,
- Interfaz Minimalista: Zathura presenta una interfaz de usuario limpia y minimalista, centrándose en la visualización del contenido del PDF sin distracciones innecesarias.
- Navegación con Teclado: Zathura está diseñado para ser controlado principalmente mediante el teclado, lo que permite una navegación rápida y eficiente. Soporta atajos de teclado comunes para funciones como desplazamiento, zoom y búsqueda.
- Modo de Pantalla Completa: Ofrece un modo de pantalla completa para aprovechar al máximo el espacio de visualización y reducir distracciones.
- Marcadores y Pestañas: Permite la adición de marcadores para acceder rápidamente a secciones específicas de un documento. Además, es posible abrir varios documentos en pestañas dentro de la misma ventana de Zathura.
- Soporte de Presentación: Zathura incluye un modo de presentación que facilita la visualización de documentos PDF como diapositivas.
- Soporte para Scripts: Puede ser extendido mediante scripts, permitiendo a los usuarios personalizar y ampliar sus funcionalidades según sus necesidades específicas.
- Configuración de Atajos Personalizados: Los usuarios pueden personalizar los atajos de teclado y configurar la aplicación según sus preferencias.
- Renderizado Rápido: Zathura está diseñado para ofrecer un rendimiento rápido y eficiente en la visualización de documentos PDF, incluso en hardware más antiguo.
- Compatibilidad con Vim: Zathura ha sido diseñado con influencias de Vim, por lo que los usuarios familiarizados con el editor de texto Vim encontrarán algunas similitudes en la forma en que se navega y se interactúa con la aplicación.
Herramientas de terminal
Ahora saltamos a las herramientas de terminal. Estas herramientas las utilizo a diario, y para mi son completamente imprescindibles. Las tengo tan interiorizadas, que en ocasiones, cuando me encuentro fuera de mi equipo, las sigo buscando, incluido cuando estoy utilizando Windows, con esto te lo digo todo.
Yazi
Esta es mi mas reciente incorporación y al que le dediqué un vídeo en el canal de YouTube. Yazi, un gestor de archivos increíblemente rápido, y que ha conseguido colarse entre mis predilectos y convertirse en mi gestor de archivos por defecto, y todo por méritos propios. Algunas de las características de esta herramienta son las siguientes,
- Multiplataforma. Yazi es una herramientas multiplataforma. Está disponible en Linux, MacOS y Windows.
- Soporte Total Asíncrono. Todas las operaciones de entrada/salida son asíncronas, las tareas de la CPU se distribuyen en varios hilos, aprovechando al máximo los recursos disponibles.
- Potente Programación y Gestión de Tareas Asíncronas. Proporciona actualizaciones de progreso en tiempo real, cancelación de tareas y asignación interna de prioridad a las tareas.
- Soporte Incorporado para Múltiples Protocolos de Imágenes. También integrado con Überzug++, abarcando casi todos los terminales.
- Resaltado de sintaxis y codificación de imágenes. Combinado con el mecanismo de precarga, acelera significativamente la carga de imágenes y archivos normales.
Atuin
atuin
es una herramienta que reemplaza tu historial de comandos existente con una base de datos SQLite, lo que te permite registrar y acceder a tus comandos de forma más avanzada. Además, ofrece la opción de sincronizar completamente el historial de comandos de forma encriptada entre diferentes máquinas utilizando un servidor de atuin
.atuin
registra información adicional sobre tus comandos, como el código de salida, la duración, la hora y el comando ejecutado. También proporciona una interfaz de búsqueda que te permite buscar y filtrar fácilmente tus comandos en función de diferentes criterios, como el código de salida, la hora de ejecución y más.
Una característica destacada de atuin
es la capacidad de sincronizar tu historial de comandos entre diferentes máquinas. Puedes optar por utilizar el servidor de atuin
alojado por el creador de la herramienta o configurar tu propio servidor. La sincronización se realiza de forma encriptada, lo que garantiza la privacidad y la seguridad de tus datos.
zoxide
zoxide
es la versión inteligente de cd
. Se trata de una herramienta inspirada en z
y autojump
, y que te permite navegar en tu árbol de directorios de forma eficaz. Se trata de una herramienta que recuerda que directorios visitas con mas frecuencia, de forma que puedes saltar a esos directorios con tan solo un par de letras.
Zoxide es una utilidad de navegación de directorios para la línea de comandos que se puede usar como alternativa al comando «cd» para moverse por el sistema de archivos de manera más eficiente. Zoxide realiza un seguimiento de los directorios que visita el usuario y utiliza un algoritmo para determinar los directorios más utilizadas y más recientes, lo que facilita el acceso rápido a ellas en el futuro. Además, zoxide tiene soporte para bash, zsh y fish, entre otros, lo que la hace compatible con una amplia variedad de shells de línea de comandos.
ripgrep
ripgrep
es una aplicación multiplataforma, disponible para Linux, Windows y MacOS, desarrollada en Rust que se utiliza para buscar texto en archivos y directorios. Se trata de una herramienta alternativa a grep, que se centra en la velocidad y la facilidad de uso. Algunas de las características de esta herramienta son las siguientes,
- Soporte para expresiones regulares PCRE (Perl Compatible Regular Expressions).
- Capacidad para buscar en subdirectorios de forma recursiva de manera predeterminada.
- Capacidad para ignorar archivos y directorios específicos utilizando expresiones regulares.
- Soporte para la mayoría de los formatos de codificación de caracteres, incluyendo UTF-8, UTF-16 y otros.
- Detección automática del tipo de archivo para evitar la búsqueda en archivos binarios.
La velocidad es una de las características clave de ripgrep. En general, es más rápido que otras herramientas de búsqueda de texto en línea de comandos, como grep, ag y ack. ripgrep utiliza la paralelización de CPU y la eliminación temprana para reducir el tiempo de búsqueda.
yadm
Otro de los imprescindibles para mi es YADM, y es así, porque me ha permitido liberarme y delegar por completo la gestión de los archivos de configuración, la gestión de mis dotfiles. YADM (Yet Another Dotfiles Manager) es una herramienta de gestión de dotfiles que facilita el control y la organización de la configuración personalizada de un usuario en archivos de puntos (dotfiles), que generalmente son archivos de configuración ocultos en el sistema de archivos de Linux. Algunas de las características principales de esta herramienta son las siguientes,
- Git como Backend: YADM utiliza Git como backend para el seguimiento y gestión de cambios en los dotfiles. Esto permite un control de versiones eficiente y la posibilidad de realizar un seguimiento de las modificaciones realizadas en la configuración a lo largo del tiempo.
- Fácil Inicialización: YADM facilita la inicialización de un nuevo entorno con la configuración personalizada de dotfiles. Puedes comenzar rápidamente con tus configuraciones guardadas en un repositorio Git.
- Soporte para Múltiples Entornos: Puedes gestionar y compartir dotfiles entre diferentes entornos y máquinas utilizando YADM. Esto es útil para mantener la consistencia en tu configuración personalizada en varios sistemas.
- Enlaces Simbólicos: YADM crea enlaces simbólicos (symlinks) desde la ubicación del dotfile en el repositorio de Git hasta su ubicación en el sistema de archivos del usuario. Esto evita la necesidad de copiar archivos manualmente.
- Configuración por Capas: YADM permite organizar la configuración en capas, lo que significa que puedes tener configuraciones específicas para diferentes máquinas o escenarios, y estas configuraciones pueden combinarse según sea necesario.
- Facilidad de Mantenimiento: La estructura de archivos y la forma en que YADM utiliza Git simplifican el proceso de mantenimiento de la configuración personalizada. Puedes realizar cambios, agregar nuevas configuraciones y sincronizar fácilmente los cambios en todas tus máquinas.
- Compatibilidad con Repositorios Remotos: Puedes utilizar repositorios remotos, como aquellos alojados en GitHub, para almacenar tus dotfiles y compartir tu configuración entre máquinas.
- Extensibilidad y Personalización: YADM es extensible y puedes personalizar su comportamiento según tus necesidades. Puedes agregar scripts de inicialización y realizar acciones específicas antes o después de aplicar configuraciones.
Conclusiones
Aquí te he dejado mis herramientas y aplicaciones fundamentales para este 2024. Me he dejado alguna, de la que te he hablado recientemente, pero sobre la que no quiero insistir, porque ya lo haré a lo largo de este año, y no quiero desvelar nada.
¿Hay alguna herramienta o aplicación que eches en falta?¿Tienes alguna aplicación que utilizas a diario y es imprescindible para ti y no he mencionado?. Dime tus aplicaciones imprescindibles.
A mí me gustan
– OKULAR, por su versatilidad copiando y pegando (en otra aplicación) texto desde PDFs.
– NANO, pero solo lo uso para editar fstab si alguna partición da errores e impide arrancar y poco más
– ZOTERO, (casi) imprescindible para guardar artículos académicos y páginas web (con su captura de pantalla) y otros recursos para la investigación, o simplemente archivo.
– VIVALDI, navegador avanzado basado en Chromium, que me gusta porque, se sincroniza entre dispositivos, multiplataforma, incluyendo Android, redes sociales libres integradas (Mastodon, fediverso) con servidores propios, bloqueador de anuncios, aunque cada vez se lo ponen más difícil, y acabaremos todas con un contenedor, Pi Hole
– FREETUBE para cuando me canso de los anuncios
– SMPlayer, porque VLC me da problemas con algunos codecs y este no, y además conserva por defecto donde dejaste el video.
– STEAM, Heroic, y Retroarch porque juego de vez en cuando
– R Studio, para estadísticas
– THUNAR de administrador de archivos, aunque probaré tu sugerencia, pues me gusta tener dos.
– DISCOVER para instalar algún flatpack que otro, pues los prefiero a compilables desde AUR, cuando es el caso.
Y obviamente no le damos el mismo tipo de uso, pero como siempre me sirve algo de lo tuyo, por si te sirviese para probar algo «de lo mio».
Igual ZOTERO, como archivador, te convence, además tiene una sincronización en línea, con una oferta gratuita que da para bastante (yo pagué un año y no llegué a usar el almacenamiento de más)
Muchas gracias Miguel, tengo que darle un vistazo a Zotero.
Hola. Te sigo desde hace tiempo, bastante tiempo y aunque tus explicaciones son muy claras ni soy muy ducho en estas cosas y me cuesta bastante. Aún así lo sigo intentando. Muchas gracias por tus vídeos