Ubuntu Peronista@TTBP

Este es un espejo en el Tilde Blog Project del blog original Ubuntu Peronista. Se encuentra disponible en Tildeverso únicamente con fin histórico.



07 january 2023

¿Cómo instalo y uso el intérprete de comandos Fish en Ubuntu?

En su discurso con motivo de la Fiesta del Pejerrey de 1947, Juan Perón retorna a Junín y expone sobre las bondades del fish, el intérprete de comandos avanzado de Ubuntu.

¡Trabajadores!

Desde los tiempos inmemoriales sabe el Hombre que obtendrá, con el sudor de su frente, los frutos que Dios le ha regalado en la naturaleza. Pero son pocos los que pueden multiplicar tal fruto como hizo Cristo con los peces. Esto motiva que, para que un trabajo sea verdadero, debe multiplicarse el esfuerzo en pescar.

Yo no enseño a pescar, eso lo hacen ustedes. (aplausos). Lo que yo doy son peces. ¡Y qué gordos que han picado!

La organización del trabajo es lo que nos ha dado lo que tenemos, y nos lo dará siempre que lo sepamos defender. Los derechos adquiridos que ha otorgado el Justicialismo emanan de una acción de Justicia que es comprendida por todos: la Justicia Social.

Pues bien señores, sabemos que en los sistemas GNU con Linux la dirección parte del hacker, que obrará indefectiblemente por iniciativa de Justicia Social. Quien en su nombre sirve a una empresa, lo es solo de nombre. Por ello, para que el trabajo se realice, hemos de ingresar órdenes en un intérprete de comandos, que recibe el nombre de shell.

En los Unix de los tiempos de Matusalén, el intérprete de base era el Sh, capaz de operar ya de forma interactiva, pero también como englobador de comandos en ficheros, a los que podemos llamar guiones. De este - diremos - trilobite, surgieron otros más interesantes y poderosos, como el C Shell, o la shell de Bourne. Cada uno de estos pescados presentaba más aletas, y otras características para nadar. En el mar, el pez grande se morfa al chico, y por ello fue que surgió uno que por entonces se estableció como el más pesado e inteligente, el Korn Shell, que hasta tentáculos tiene. Miren si habrá sido de ballena, que de él se inspiraron - en la época del GNU - para combinar un nuevo Bourne nacido de nuevo ("Bash"). Sería este el intérprete de comandos que viene por defecto en la mayoría de las distribuciones modernas de Linux.

El el que más me gusta porque va bien en su salsa, se lo empaniza, se lo sirve en cazuelitas: es compatible con todo lo que se ha hecho, pues está concienzudamente armado para retrocompatibilidad con programas antiguos y terminales teletipo.

Pero a veces conviene pescarse algo nuevo. Tanta arqueología es útil y tiene su lugar, pero no siempre implica lo mejor en agilidad en el mar. Mas de uno habrá percibido que el día de hoy las terminales cuentan ya con muchos colores, y no solamente caracteres de tipo ASCII, sino también hasta emojis, como los que uso para hacer la ✌️. De esta evolución, nació el intérprete Fish Shell. Se trata de un intérprete de comandos orientado a maximizar la amigabilidad interactiva con el usuario, y no tanto en mantener compatibilidad con otros intérpretes más corrientes tales como el Bash que viene por defecto en Ubuntu. De esta manera Incluye muchas funcionalidades que se no encuentran en otros intérpretes modernos, incluyendo el uso avanzado de caracteres UFT-8 y emojis, que simplifican la experiencia de uso en gran medida.

Por otra parte, su sintaxis difiere un poco de la que utilizan otros intérpretes, lo que hay que tener en cuenta. Asimismo, fish abandona la compatibilidad con antiguas terminales teletipo.

Para instarlo abrimos una terminal con Ctrl+Alt+t e ingresamos el siguiente comando de organización:

sudo apt update sudo apt install fish xsel git

Podremos ejecutarlo "a mano" para probarlo, para ello lo llamamos con:

fish

Ante un mensaje de bienvenida en el idioma de Braden, nos encontraremos un prompt básico de Fish, que guardará este estilo:

usuario@maquina ~>

Para salir del intérprete podremos ingresar exit, y volveremos al Bash o cualquier intérprete de comandos que estuviésemos utilizando por defecto. Uso de Fish

Vean señores, el uso básico de fish es por generalidad similar a Bash u otros de su especie. Para su configuración básica, Fish utiliza el fichero ~/.config/fish/config.fish. (Introduciendo dicho código contaremos con un mensaje de bienvenida en castellano. Autocompletado

En la medida que comiencen a introducir comandos, Fish nos sugerirá nombres y comandos al vuelo. Para terminar de escribirlos puedes presionar flecha izquierda de cursor.

Por defecto Fish utilizará colores que incluso te indicarán la validez de la entrada sugerida (marcando en rojo si es inválido).

También puedes utilizar la tecla Tab para completar un comando semiescrito.

Al presionar la tecla Tab dos veces, nos deplegará una lista coloreada con opciones, la cual podrás elegir utilizando las flechas del cursor. Con esto podremos nadar en los directorios como pez en el agua.

La más de las veces, Fish cuenta con este completado de comandos con explicaciones. Por ejemplo, si estamos utilizando la orden apt get install y presionamos Tab, nos presentará la lista de paquetes con un resúmen del mismo, situación que se replica con la mayoría de los comandos Unix estándar, espejador de código fuente git, y servidores Web... Trabajar así es un placer que no es esfuerzo... Programación con Fish

Al igual que Bash y Korn Shell, Fish cuenta también con un lenguaje de guionado que guarda grandes similitudes, pero no es 100% similar a estos dos. Afortunadamente es posible aprender más sobre las diferencias del mismo en este Tutorial de Fish. Temas con Oh My Fish!

Si bien la shell Fish no es demasiado compatible con otros intérpretes desde el punto de la programación estricta, es altamente configurable, por lo que podrás instalar temas y plugins paquetizados con el proyecto Oh My Fish!. Instalación

Podrás instalar Oh My Fish! (y su tema “Default” ¡con “pescaditos” en el prompt!) en texto-plano. Utiliza: curl -L https://get.oh-my.fish | fish

El instalador abandonará la sesión, tras lo cual podrás volver a ingresar.

Luego habrán de listar todos los paquetes de plugins y temas individuales del proyecto Oh My Fish! con omf list

Podrán listar únicamente los temas con omf theme

Podrán consultar todos los temas posibles aquí. Unas lindas que puedes probar sin conflicto son:

default boxfish bira coffeeandcode gentoo godfather harleen mokou neolambda scorphish

Instala un tema (por ejemplo gentoo) con omf install bira

Algunos temas requieren ciertos cambios al prompt. Estos requerirían utilizar la orden omf doctor, y luego ingresar el comando rm ~/.config/fish/functions/fish_prompt.fish.

Pues bien si deseamos desinstalar un componente (como un tema instalado) habremos de utilizar:

omf remove bira

Para recibir ayuda del Oh My Fish! utilizaremos: omf --help

Si deseamos desinstalar Oh My Fish! debemos emplear: omf destroy

…con lo cual Fish retornará a su configuración por defecto, o bien podrán eliminar a mano su carpeta de configuración mediante: rm ~/.config/fish/functions/fish_prompt.fish ; rm -r ~/.local/share/omf Convertir a Fish en la shell por defecto

Si han descubierto que Fish es de su agrado y desean utilizarlo siempre en Ubuntu (o sea, convertirlo en la shell por defecto en lugar de Bash) podremos cambiarlo haciendo uso del comando chsh, de la siguiente manera:

chsh -s /usr/bin/fish

Para que surta efecto, habremos de reinciar la sesión en Ubuntu.

Naturalmente, podremos volver nuevamente al intérprete por defecto de Ubuntu: Bash. Para ello debemos utilizar una ruta distinta, en este caso:

chsh -s /bin/bash