El excesivo amor por el terminal

Adrián Perales at 2015-12-28T15:26:05Z

Una nueva entrada en mi blog. Estoy esperando los palos. Como la otra vez, os la copio.


El excesivo amor por el terminal


Es un tema que me ha llamado la atención desde que empecé en estos mundillos libres: el gusto que muchos usuarios de GNU/Linux muestran por su línea de comandos. Particularmente, lo que he denunciado más de una vez es la costumbre de guiar al usuario novato con comandos del terminal (preferiblemente sin aclaraciones de qué hace cada comando) en lugar de indicar cómo realizar el proceso desde una interfaz gráfica.


Antes de pasar a valorar la recomendación incontrolada de comandos en tutoriales para novatos, voy a comentaros mi experiencia personal respecto a este asunto, puesto que me ha causado más de un disgusto a lo largo de los años, el último bastante reciente. Hay personas que ven ya no necesario sino imprescindible aprender a usar el terminal, piensan que es la base del sistema operativo, y mi postura choca radicalmente con este planteamiento.


Yo llevo ya casi diez años usando el sistema del ñu y el pingüino y os puedo asegurar que he necesitado el terminal en contadas ocasiones. No empleo nunca (o casi nunca, por aquello de no afirmar categóricamente) comandos considerados básicos como cd, ls, rm y tantísimos otros. No sé configurar mi wifi desde el terminal si no es con un tutorial por delante, ni uso nano para editar mis archivos de texto, y mucho menos me he puesto a aprender vi o emacs a pesar de las grandísimas ventajas que todos pregonan de ellos (particularmente de emacs y su org-mode, entre otros).


La razón es bien simple. Para hacer cd, mkdir, ls, rm tengo mi flamante gestor de archivos (llámese Dolphin, Nautilos, Caja, Thunar o coso se quiera), para configurar mi wifi tengo el widget en el panel, para editar mis archivos de texto plano tengo Kate, Mousepad, Leafpad, Gedit o el que toque. No tengo la más mínima necesidad de salir de ellos más allá que por el puro ejercicio intelectual (totalmente respetable, dicho sea de paso) que hasta ahora no me ha cautivado lo suficiente.

La tesitura de encontrarme un día sin entorno gráfico hace años que no se da (desde que tengo una tarjeta gráfica que no es Nvidia), e incluso si se diera tengo otras pantallas para buscar una solución. Los únicos comandos que utilizo muy puntualmente son el del gestor de paquetes, SSH para hacer alguna gestión en el servidor y alguno para convertir archivos en masa. No necesito más.


Esta situación me parece normal y deseable. En mi día a día no necesito para nada el terminal, y lo mismo puede ocurrirle a cualquier novato que instale una distribución sencilla.


El problema viene cuando busca cualquier tutorial en internet y, en lugar de indicarle que abra su gestor de software y busque el paquete que toque, se le indica que escriba sudo apt-get install, en muchas ocasiones, ya digo, sin explicar para qué es ese paquete. Mil guías para después de instalar una distribución he visto que recomiendan instalar paquetes en un comando inmenso.


No hablamos de un problema con la tarjeta gráfica, con la tarjeta wifi o con el sonido, donde pegar un simple comando es mucho más simple, rápido y aclaratorio que cualquier interfaz gráfica. No. Hablamos de un gesto cotidiano como instalar un programa, un gesto que el usuario debería aprender a hacer con interfaz gráfica que su distribución le proporciona, simplemente por evitar el miedo al cursor parpadeante de la terminal; un miedo que existe, por mucho que los amantes de la consola no quieran ver.


Algunas guías van más allá y no se conforman con recomendar un apt-get install sino que citan cómo instalar el paquete en varias distribuciones distintas, en lugar de usar expresiones como «el paquete está disponible en los repositorios de distribuciones como Ubuntu, Debian y OpenSuse y en el AUR de Arch» (dios mío, a un usuario de Arch no hace falta que le pegues el comando de yaourt, sabe él solito; ha instalado Arch). Tan solo sería necesario especificar si se usan repositorios específicos como un PPA.


El caso que me llevó al último disgusto fue un tutorial en un blog en español (con razón muchos amigos veteranos de las redes libres reniegan de ellos), supuestamente con tutoriales básicos para usuarios novatos, indicaba escribir mkdir y cd para luego realizar otra acción simple. Acciones que se pueden realizar en un gestor de archivos.


Si yo soy un novato poco avispado que ve un tutorial en la red y me doy cuenta de que lo que he hecho ha sido crear y entrar en un directorio con el terminal, formateo mi disco duro y vuelvo a la comodidad del Siguiente, Siguiente, Siguiente.


Hay explicaciones mucho más universales y amigables para un usuario novato. «Busca el paquete en tu gestor de paquetes» (ya el usuario elegirá si usa Synaptic, apt-get o lo que toque), «crea un directorio y entra en él» (y que el usuario elija si hacerlo en el terminal o no) y, si es un tutorial para un problema, explicar para qué sirve el comando («con este comando veremos qué tenemos conectado a nuestro USB para comprobar si detecta nuestro periférico»).


Personalmente me parece este proceso mucho más universal, explicativo y sencillo que dejar que el usuario novato primero encuentre mil tutoriales con mil comandos sin explicaciones y segundo que se limite a pegarlos sin saber qué hacen (claro está, si el talante del novato es leer el tutorial), con lo cual puede ocasionar un problema mayor.


Si se va a hacer un tutorial para el terminal, pues se especifica, copón, que tampoco cuesta trabajo. Y por supuesto no será para novatos; en todo caso, para novatos en el terminal, que puede ser un usuario que lleva diez años en GNU/Linux.


Por supuesto (esto sobraría, pero ya me conozco el panorama), con esto no quiero decir que el terminal tenga que desaparecer. Es es una herramienta que añade (y mucho) más que resta, y su presencia es un componente importante para instalar GNU/Linux dado que propicia un control muy superior sobre el sistema operativo que el que ofrecen las interfaces gráficas (no voy a negar lo evidente). Lo que defiendo aquí es que se recomiende su uso con un poco de cabeza: invitar a usar nuestro sistema a usuarios novatos guiándole sin aclaraciones por un montón de comandos solo conseguirá que GNU/Linux sea por siempre el sistema de frikis a los que les gusta el terminal.


Dejemos la iglesia de Emacs a Stallman y a San Ignucio o, al menos, no prediquemos entre los recién llegados. Ya tendrán tiempo.

dbillyx , Michele Montagna like this.

victorhck , dbillyx shared this.

Show all 10 replies

Hola...como en todo hay varios puntos de vista....


La consola es común a todas las versiones linux, es la herramienta universal y característica a todas las versiones en éste sistema, los demás programas no.


El gestor de software que use Ubuntu no es el mismo que Debian, por poner un ejemplo, pero el "apt-get install" sí es común a ellos, y por tanto es más fácil dar una explicación paso a paso desde la línea de comandos a según que cosas,


Por otra parte no todo está en los gestores de software, hay otro tipo de programas que requieren otro tipo de instalación y debido a ello digamos que se "estandariza" la forma de escribir ciertos artículos de ayuda.


Pero, en ciertos artículos si que podrían estar más enfocados al usuario digamos "final", el enfoque técnico y profesional de éste sistema operativo hace presuponer que cualquier usuario medio debería tener conocimientos de la consola, todo ello debido al protagonismo total de tiempos pasados como herramienta principal, pero lo cierto es que hoy en día en según que entornos puede ser completamente prescindible.


Yo soy un enamorado de la consola, intento hacer todo desde la consola bajo un entorno muy sencillo i3wm....Mc, newsbeuter, emacs, irssi ....Parte por necesidad debido a las características de mi portatil, parte por romanticismo.....Aunque probablemente la primera de mis necesidades sea tener una mera excusa para que gane el romanticismo.

Kraka at 2015-12-29T08:10:59Z

Evanarkisto: el terminal asusta, es así, y algunos parece que no se dan cuenta. La elección de usar el terminal debe ser algo personal, y no me parece sano recomendarla tanto en tutoriales si se puede evitar.


Antonio José: Justamente eso. La terminal es un añadido poderisísimo, pero no debe ser lo primero que se encuentre un novato, o no de una forma abrupta o sin guías especíifcas.


Jan: No es algo que considerara necesario decir, pero gracias por la aclaración. Gente con criterio hay mucha :)


Michele: Gracias :)


Sergio: Si miras bien el artículo, no critico que se guíe al novato a un comando cuando es mucho más rápido y productivo que una interfaz gráfica. Lo que critico es que se le indiquen operaciones básicas que se pueden hacer con una GUI. Cuando el novato busque "convertir varios vídeos a la vez en Linux" le aparecerá un comando de consola, necesariamente, porque es una acción muy habitual, y entonces tendrá un acercamineto lógico al terminal, mucho menos traumático desde mi punto de vista.


Luis: Se llame el gestor de software como se llame, siempre hay un gestor de software, por lo que es suficiente señalar el nombre del paquete y, en todo caso, añadir el comando de apt-get para el que tenga curiosidad, pero no darlo como única opción. Sobre la ausencia de algunos paquetes en repositorios, en muchas distribuciones (pienso en Ubuntu y OpenSuse) hay muchos PPA mantenidos por los desarrolladores originales del software que garantizan actualizaciones constantes. No hay ninguna necesidad de compilar.


Muchas gracias a todos por los comentarios :)

Adrián Perales at 2015-12-29T13:31:06Z

Se necesita menos esfuerzos al copiar y pegar(artículos me refiero).

Simplemente escribes una parrafada y copias y pegas los comandos de un tío que realmente controla lo que está haciendo. Por eso los comandos no suelen llevar explicación ni opciones...

Como muestra toma la wiki de arch en español y la comparas con cualquier tutorial en español de web copia-pega...

Ni facilidad, ni velocidad, ni romanticismo, ni gaitas...

Es mi opinión.

Def at 2015-12-29T22:36:29Z

El nombre del paquete siempre lo tienes...lo que sucede es que se tiende a usar la instalación más genérica y universal para todas las distribuciones...Y ésta es la consola....un mismo comando vale para un porrón de distribuciones y no sólo éstas sino todas sus derivadas.....La manera de que llegue a todas ellas es la consola.

Otra cosa es que el artículo se base en una distro.. ahí sí....
Pero cuando el artículo habla de la aplicación en sí no basada en una distro particular hay que generalizar.....Y se generaliza con el nombre del paquete para que lo busques en tu gestor de software y se generaliza explicando su instalación por consola...Y aun así.. éste método tiene que especificar según gestores de paquetes/distros.

Todo es mejorable por supuesto. :-)

Kraka at 2015-12-30T00:08:07Z