Hace tiempo, platicando con algunos amigos, surgió la pregunta de ¿por qué es que todos los creadores de contenido de Linux utilizan la terminal?
Para ser honesto, usaron un término que me causó bastante más gracia. “¿Por qué parece que todos usan programas que parecen sacados de The matrix?”
Es una pregunta cómica tomando en cuenta que llevo años usando Vim como mi editor de texto principal, mutt como mi cliente de correo electrónico, y programas como newsboat y demás para hacer diversas tareas en mi computadora.
Algunos amigos decían que era por verse más inteligentes y pedantes de lo que en realidad son. Admito que me dio gracias, porque a veces así lo parece. Sin embargo, por experiencia propia alcancé a contestar que muchas veces configuran su SO a sus necesidades, y si bien hay programas que cuentan con interfaces gráficas, muchas veces no pueden realizar un procedimiento tan rápido como lo haría un programa de terminal.
La respuesta es sencilla. Sí, y solo sí, siempre y cuando sepas lo que vas a hacer y para qué los vas a utilizar. La realidad es que estos programas por lo general tienen cierta curva de aprendizaje, que por tiempos o por formas, probablemente no sea tan buena idea el treparla.
LATEX (no necesariamente un programa de terminal) es un lenguaje de marcado que da resultados muy efectivos a la hora de crear documentos. Sin embargo, lleva consigo la necesidad de aprender a usarlo y conocer sus características. Lo cual puede tardar desde semanas en situaciones sencillas, meses en cuestiones intermedias, y hasta años en características más avanzadas.
Lo mismo se puede decir de editores de texto como emacs o vim. Simplemente la tarea de editar texto en uno de ellos puede ser una odisea para el usuario casual.
La realidad es que por experiencia propia, vale la pena el sacrificar algo de tiempo en aprender a utilizar un programa de la terminal, porque el resultado al final será poder realizar mis tareas de forma más automatizada.
Al ser programas que en el peor de los casos usan Python (en terminal), y en el mejor están programados con C o con go, tienden a ser programas que consumen muy pocos recursos.
Esto implica tiempos de carga considerablemente menores a los de programas con interfaz gráfica.
En algunos casos particulares, hay programas como youtube-dl, imagemagick o ffmpeg que sirven como backend de aplicaciones gráficas.
La mayoría de estos programas utilizan vim-keybindigs (las teclas de movimiento de vim), y eso puede hacerlos más sencillos y rápidos de usar.
Con el shellscripting (scripts de terminal) se pueden realizar diferentes procesos que involucren uno o más programa de terminal. Y esto puede
Aunque no todo es miel sobre hojuelas…
La mayor y ya mencionada es la curva de aprendizaje. Puede llegar a ser muy poco intuitivo y perderse más tiempo en su uso al aprender a utilizarlo que si usamos los programas de interfaz gráfica.
Por otra parte, tampoco es posible realizar todo tipo de acciones únicamente con programas de terminal. Por ejemplo, en edición de video, es preferible usar un editor como KDEnlive, openshot o hasta blender. O en edición de imágenes, usar un programa como Gimp o Inkscape.
A veces resulta mucho más práctico usar opciones como LibreOffice Calc en vez de usar programas de terminal como sc-im. O R. Aunque R tiene otros propósitos que no necesariamente están relacionados con hojas de cálculo.
Para el usuario de poder o de nivel intermedio de Linux, resultará muy práctico y recomendable el usar programas de terminal. El tiempo invertido puede ser fácilmente redituable. Y creo que puede valer la pena al final.
Por su parte, si un usuario apenas está llegando a Linux, definitivamente puedo recomendar que le den un vistazo, y ya que esta persona decida si quiere seguir usándolo o no. Aunque la mayoría de las veces, el usuario solo dará el salto si se siente a gusto. Y en un inicio, los programas de terminal no siempre son confortables.
Publicado el 09 de abril de 2021 por Vim y LATEX en español