Uso básico de la terminal en GNU/Linux (1) Introducción

Arch Linux con Xfce4 -  xfce4-terminal, conky, plank. Wallpaper: portada del cómic Coffin Bound, por Dan Watters y Dani

A pesar de que, en especial en estos últimos años, los sistemas GNU/Linux han ido puliendo sus entornos gráficos hasta el punto en el que, particularmente en ciertas distribuciones y entornos de escritorio, prácticamente cualquier opción de uso y configuración para usuarios/as comunes se encuentra contemplada en las capacidades de alguna aplicación con GUI (graphical user interface, interfaz gráfica de usuario), la terminal continúa siendo una opción tremendamente potente y, de hecho, la preferida por cierto tipo de usuarios. Este aspecto, el de poder hacer una misma cosa bien utilizando una aplicación con GUI, bien desde la línea de comandos, es uno más de los argumentos a favor de la libertad de opciones que permite el software libre. Solo depende de los conocimientos, las necesidades y preferencias de cada cual el preferir unas a otras.

Sobre favorecer el emulador de terminal frente al «point and click» (apuntar y hacer click con el ratón), hay diversos argumentos que podrían explicar dicha preferencia. En primer lugar, por más que las GUIs puedan tener muchas opciones, no siempre tienen todas las capacidades contempladas por la misma aplicación usada desde la terminal. Aunque hay casos de todo tipo, no será raro encontrar ejecutables cuya GUI apenas contempla las capacidades más «a la mano» o comunes, mientras que su uso «avanzado» se reserva para la línea de comandos. Es por esto por lo que a menudo, en foros de ayuda, tutoriales, guías y demás, veremos cómo las soluciones propuestas a determinados problemas y/o modos de realizar determinadas tareas pasan por lanzar un emulador de terminal e introducir uno o varios comandos; pareciera que, a partir de cierto nivel de complejidad, no queda otra que recurrir a la «temida» consola. Ahora bien, esto también puede ser así, en parte, precisamente porque las personas que ofrecen apoyo técnico como parte de su contribución a la comunidad del software libre suelen ser usuarios/as más bien avanzados/as, perfil que suele sentirse más cómodo desde la terminal. Es por ello por lo que, por ejemplo, si se requiere editar un archivo de texto quizá nos sugieran, en su texto de ayuda o guía, que lo hagamos con algún editor de terminal (vim, nano, emacs…) o comando (cat) en vez de algún editor gráfico (leafpad, mousepad, kate, gedit…)

Otro factor por el que se sugiere el recurso a la terminal para determinadas soluciones es porque el uso de ésta es prácticamente universal y estándard en el contexto GNU/Linux (y hay cosas que funcionarán incluso más allá, en las distribuciones *BSD y otros sistemas operativos que se hayan adherido a los estándares POSIX). Así, realizar una determinada tarea en un programa con GUI puede tener variaciones según sea el programa mismo, o el entorno de escritorio en el que nos encontremos (cada cual con distintas opciones de configuración), etc. En cambio, una línea de comando será generalmente efectiva independientemente de la distribución, entorno de escritorio, gestor de ventanas, etc. en el que estemos. Eso sí, con las obvias excepciones, como, por ejemplo, los comandos de actualización de sistema, que diferirán entre diferentes gestores de paquetes.

Otra ventaja que tiene en ciertas circunstancias el uso de la terminal es la información adicional que, sobre las actividades que ejecutamos en ella, ofrece en muchas ocasiones frente a sus alternativas con GUI. Por poner un ejemplo, imaginemos que acabamos de instalar una aplicación, y que usamos un menú dentro de una barra de herramientas de un entorno de escritorio para lanzarla. Si la aplicación falla en ser lanzada, nos quedaremos probablemente como estábamos, viendo que la cosa no arranca, pero sin ninguna pista de por qué esto sea así. Ahora bien, si tratamos de lanzar la aplicación con el comando apropiado desde la terminal, es bastante probable que ésta escupa una serie de mensajes de error, que son generalmente una buena pista de qué es lo que anda mal. Y, aunque no seamos capaces de interpretar por nosotros mismos los mensajes de error, copiando partes relevantes de dichos mensajes en nuestro buscador en línea habitual es bastante probable que demos con algún enlace en foros y páginas de ayuda varias en las que algún/a usuario/a haya solicitado ayuda por el mismo problema, o uno muy similar, y aparezcan allí soluciones que podemos probar a aplicar.

Como ejemplo personal: después de instalar el dock plank en Arch Linux y añadirlo al autoinicio de mi sesión de Xfce, resultó que, al reiniciar sesión, éste no aparecía por ninguna parte. Lanzándolo desde terminal aparecía, entre otra información, el siguiente fragmento:

XDG_SESSION_CLASS not set in this environment!

Lo cual pareció una pista interesante, y en efecto, tras una búsqueda en Duckduckgo, encontré una solución bien sencilla. Tan solo tuve que añadir en mi archivo .xinitrc la siguiente línea:

export XDG_SESSION_TYPE=x11

Y plank arranca desde entonces sin mayor inconveniente.

Aparte de las ventajas «técnicas» que en ocasiones tiene el uso de la línea de comandos, existe tal vez otro factor, algo más subjetivo e indefinible. Y es que usar el emulador de terminal implica una relación distinta con la tecnologia, donde, al escribir los comandos manualmente, establecemos algo así como una relación comunicativa distinta con la máquina. Sin ánimo de profundizar en las implicaciones psicológicas o filosóficas del asunto, podemos sugerir que el lenguaje, como herramienta de comunicación propiamente humana, resulta a todas luces más significativo en nuestras relaciones con el mundo que nos rodea, sea con otros seres humanos o, como es el caso, incluso con las máquinas. Quizá esto ayude a explicar la cierta «mística» que tiene el uso de la terminal, por no mencionar la sensación de experiencia y dominio que se adquiere cuando se ha aprendido a usarla lo suficiente, algo que, humorísticamente, queda expresado en incontables memes «hacker».

En fin, sea por uno u otro motivo, aprender a utilizar la línea de comandos en un sistema GNU/Linux puede seguir teniendo validez a día de hoy, y es por lo que, en sucesivas entradas, expondremos una introducción a la misma, del modo más sencillo posible. Y happy hacking!

Siguiente:

Uso básico de la terminal en GNU/Linux (2) Los emuladores de terminal

Deja un comentario

Diseña un sitio como este con WordPress.com
Comenzar