Registrarse

[WSL] Instalando ZSH + Oh My Zsh para una mejor terminal

Jaizu

Decomp user
En este tutorial lo que haremos es:
  • Cambiar la terminal(shell) por defecto de Ubuntu, por una que tiene autocompletado y es más personalizable: zsh.
  • Instalar Oh My Zsh y un tema (el cual trae ciertos añadidos) para ver cuánto tarda nuestro proyecto en compilar y tener datos de nuestro repositorio git en la consola
  • Decirle a nuestro nuevo shell dónde está devkitarm devkitpro para poder compilar nuestro proyecto.

Bienvenidos a otro tutorial, que pese a que yo lo enfoque a darle utilidad a decomp, es más un tutorial de Linux :p

Como bien sabéis, si abrís Ubuntu en Windows 10, la consola que véis es esta:

Bien, pues eso que estáis viendo tiene un nombre, y se llama bash.
Zsh es una alternativa a bash. Las principal ventaja es el autocompletado y el comando z, que nos permite ir a directios recientes.
Lo que a nosotros nos interesa es la extensión oh-my-zsh, que nos permitirá acceder a añadidos a esta terminal, especialmente a temas que nos den más información, como por ejemplo detalles de github dentro de la carpeta en la que estamos o cuánto tardó un comando en ejecutarse.

Instalando ZSH
Bastante sencillo, abrimos nuestra consola de Ubuntu y lo primero que haremos será actualizar nuestros paquetes para estar al día:
Código:
sudo apt-get update && sudo apt-get update
Y después de eso instalamos zsh + fuentes recomendadas
Código:
sudo apt install zsh && sudo apt-get install powerline fonts-powerline
Y por último le decimos a Ubuntu que use zsh como shell predeterminada
Código:
chsh -s $(which zsh)
Nos pedirá la contraseña, cerramos y abrimos Ubuntu y...

¡Genial se ha instalado con éxito! Y la instalación fue bastante sencilla.
Ahí nos dará a escoger varias opciones, yo personalmente escogeré la 2, la cual me creará la configuración por defecto y saldrá de esa setup.
Para escogerla solo tenemos que escribir un 2 y lo hará solo, será casi instantáneo y deberíamos terminar con algo así:

Ya tenemos zsh instalado, configurado y puesto por defecto, ahora toca...

Instalando Oh My Zsh
Esto es más fácil aún que instalar zsh como tal.
En la consola pegamos este comando y ya:
Código:
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Y listo, oh my zsh instalado.

¿Y ahora qué?
Ahora lo que tenemos es una mejor terminal porque tiene autocompletado, pero eso realmente a nosotros nos da un poco igual...
Así que lo que haré será instalar un tema que me aporte algo, en este caso, a parte de hacer la consola más bonita, me dirá cuánto me ha tardado en compilar mi ROM.
El tema que voy a instalar es powerlevel10k.
Para instalarlo lo que tengo que hacer es ejecutar este comando
Código:
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/themes/powerlevel10k
Y ahora lo activamos editando nuestro archivo de configuración de zsh, el cuál se encuentra en ~/.zshrc.
Para hacerlo usaremos nuestro editor favorito para la terminal, yo usaré nano.
Código:
nano ~/.zshrc
Se nos presentará algo así
Navegamos hacia donde pone ZSH_THEME (con las flechitas del teclado, nada de dar click), y cambiamos robbyrussell por powerlevel10k/powerlevel10k
Me quedaría tal que así:
Ahora para guardar el archivo pulsamos Control + O, y abajo nos saldrá algo así
Pulsamos Intro para dejarlo tal cual y luego pulsamos Control + X para salir, bastante sencillo.

Para ver los cambios tenemos que reiniciar Ubuntu, es decir, lo cerramos y los volvemos a abrir.

Configurando powerlevel10k
Ahí nos pregunta si eso parece un diamante, como a mí no me parece un diamante le diré que no, escribiendo la letra n
Ahora me pregunta si esto es un candado, y no, no lo es, así que le diré otra vez que no...
Nos preguntará lo mismo para un par de carácteres más, como no tenemos esa fuente le iremos diciendo que no a todas.
Ahora nos preguntará qué estilo queremos para nuestra consola, esto ya es cosa vuestra, yo escogeré el 1.

Luego nos preguntará que si queremos tener 256 o 8 colores para las fuentes. Yo me quedo con 256, porque why not
El siguiente paso es configurar cómo queremos que se vea la hora en cada comando que enviemos, yo escogeré la segunda opción.
Luego nos preguntará si queremos los comandos en la misma línea que la dirección del fichero y demás datos o si justo debajo. Como la terminal de VSCode es algo pequeña yo escogeré la primera opción
Ahora nos preguntará si queremos márgenes o algo más compacto. De nuevo, debido al tamaño de la consola de VSCode, yo escogeré la primera opción
La siguiente opción es para ver si queremos tener la información justa o alguna palabra de más que nos dé más datos. Yo escogeré la segunda
La siguiente no sé cómo explicarla en texto, pero la imagen la define muy bien. Yo me quedo con la segunda opción, que es diciéndole no.

Y para terminar no dirá cómo queremos que se active nuestro tema(que trae ciertos plugins para que este funcione con todas las cosas que trae)
La primera es que no lo haga, la segunda es que lo haga sin que nos avise y la tercera es que nos avise. Obviamente queremos la segunda, para que funcione del tirón nada más abrir la consola.

Por último nos preguntará si queremos aplicar los cambios a nuestra configuración, le diremos que sí

Al terminar saldrá una barrita de progreso que durará unos segundos y listo, tenemos nuestra nueva consola lista

Si cerramos y abrimos ubuntu debería verse tal que así

Haciéndolo compatible con devkitpro y devkitarm para Decomp
Cuando instalamos WSL por primera vez, le dijimos a nuestro bash dónde se encontraba nuevo devkitpro y devkitarm para que pudiese compilar. Eso lo hicimos a nuestro bash, ahora tenemos que hacer lo equivalente, pero a nuestro zsh.
Ejecutamos estos comandos uno a uno:
Código:
export DEVKITPRO=/opt/devkitpro
echo "export DEVKITPRO=$DEVKITPRO" >> ~/.zshrc
export DEVKITARM=$DEVKITPRO/devkitARM
echo "export DEVKITARM=$DEVKITARM" >> ~/.zshrc

Probándolo en Visual Studio Code
Abrimos nuestra carpeta del proyecto con VSCode, lo conectamos a WSL con el botón verde de abajo a la izquierda si aún no lo tenemos conectado y abrimos una terminal con Control + Shift + Ñ si aún no tenemos una y...

¿Acaso no es genial? Funciona perfectamente.
Ahora, para testear, podremos ver cuánto tarda nuestra ROM en compilar.
Hacemos make clean
Código:
make clean
Y luego make, en mi caso make -j16
Código:
make -j16
Y cuando termine veremos que nos ha puesto cuánto ha tardado nuestro make y cuándo se hizo. Yo tengo un PC bastante rápido, así que no tardó mucho, ¿y vosotros?
 
Arriba