53

Cómo instalar zsh y oh-my-zsh en Windows 10

15801Puntos

hace 9 meses

Curso de Prework: Buenas Prácticas y Entorno de Desarrollo
Curso de Prework: Buenas Prácticas y Entorno de Desarrollo

Curso de Prework: Buenas Prácticas y Entorno de Desarrollo

Comienza tus proyectos de desarrollo para JavaScript configurando un entorno de desarrollo cómodo y adaptado a tus necesidades. Empieza por la herramienta más poderosa para un desarrollador: la terminal. Aprenderás a instalarla, ejecutar comandos y compilar código. Haz parte del trabajo colaborativo entre desarrolladores configurando Github, creando repositorios remotos, y aprendiendo a hacer push y pull.

Tener una terminal es de suma importancia al momento de programar, ya que hace más eficiente nuestro trabajo y nos permite hacer tareas mucho más rápido.

Ya sabes lo que dicen: “la terminal es la mejor amiga del programador” 😍

Antes de empezar, es necesario tener una licencia original de Windows 10 y tener actualizado el sistema operativo a la última versión (lo sé, se va a tardar bastante, pero créeme que valdrá la pena) 😅

Teniendo en cuenta lo anterior, empecemos, pasos a seguir para tener una terminal Linux en Windows 10

1. Habilitar el modo desarrollador

Presionamos el botón Windows y seleccionamos configuración, como se muestra en la Fig. 1
Fig. 1: Opción de configuración en Windows
Fig. 1: Opción de configuración en Windows

Posteriormente, seleccionamos la opción de Windows update (Fig. 2)

Fig. 2: Opción de Actualización y seguridad
Fig. 2: Opción de Actualización y seguridad

Nos dirigimos a la opción Para programadores y seleccionamos la opción de Modo de programador, nos aparecerá un mensaje como el de la Fig. 3 y simplemente le diremos que sí.

Fig. 3: Mensaje al seleccionar la opción Modo de programador
Fig. 3: Mensaje al seleccionar la opción Modo de programador

Para finalizar este paso, debemos reiniciar la computadora.

2. Habilitar Windows Subsystem Linux

Para activar esta opción, sigue las siguientes instrucciones:

  • Buscar Panel de control
  • Clic en Programas (letras verdes)
  • Clic en Activar o desactivar las características de Windows
  • En la nueva ventana que se abrió, buscar la opción de Subsistema de Windows para Linux y marcar la casilla
  • Recomendamos reiniciar tu equipo 😃

Si tienes alguna duda, en la siguiente imagen (Fig. 4) podrás ver estos pasos resumidos.

Fig. 4: Pasos para habilitar Windows Subsystem Linux
Fig. 4: Pasos para habilitar Windows Subsystem Linux

3. Instalar y configurar Ubuntu

Así es, Ubuntu! 🤩🤗

Nos dirigimos a la Microsoft store y buscamos Ubuntu, de todas las opciones que aparecen, se recomienda usar la opción que solo dice Ubuntu (Fig. 5), al darle clic nos permitirá instalar la terminal en nuestro equipo, así que la instalamos.

Fig. 5: Opción de Ubuntu en la Microsoft store.
Fig. 5: Opción de Ubuntu en la Microsoft store.

Al terminar la instalación, abrimos la terminal de Ubuntu mostrando un mensaje que indica que se está instalando (Fig. 6), al terminar nos pedirá la siguiente información:

  • Nombre de usuario de la terminal
  • Contraseña del superusuario (root)
  • Confirmar contraseña del superusuario (root)

Al ingresar la información ya tendremos lista nuestra terminal.

Fig. 6: Terminal de Ubuntu indicando que se está instalando.
Fig. 6: Terminal de Ubuntu indicando que se está instalando.

4. Instalar ZSH y Oh-my-zsh

Para instalar ZSH, en la terminal ejecutamos el siguiente comando:

sudo apt-get install zsh

Nos pedirá la contraseña del superusuario, la escribimos y después tendremos que escribir Y para confirmar que queremos instalar ese paquete Fig 7.

Fig. 7: Comando para instalar zsh.
Fig. 7: Comando para instalar zsh.

Ahora es el turno de instalar Oh-my-zsh, en la terminal ingresamos los siguientes comandos:

curl -Lo install.sh https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh
sh install.sh

En la Fig. 8 se muestra la terminal al ingresar los comandos.
Fig. 8: Terminal al instalar oh-my-zsh.
Fig. 8: Terminal al instalar oh-my-zsh.

A la mitad del proceso nos preguntará si deseamos que zsh sea nuestra terminal por defecto (Fig. 9) y escribiremos Y para aceptar e ingresamos nuestra contraseña de superusuario para que pueda continuar.

Fig. 9: Autorización para que zsh sea la terminal por defecto.
Fig. 9: Autorización para que zsh sea la terminal por defecto.

Al finalizar la instalación, podremos ver un cambio en nuestra terminal, como se muestra en la Fig. 10, esa terminal ya será la de zsh.

Fig. 10: Terminal de zsh recién instalada.
Fig. 10: Terminal de zsh recién instalada.

5. Definir ZSH como terminal por defecto

Ejecutaremos el siguiente comando en la terminal e inmediatamente nos pedirá la contraseña de superusuario:

chsh -s /usr/bin/zsh

Muchas veces eso no es suficiente, por lo que le tenemos que indicar al archivo de configuración (.bashrc) la terminal que debe de ejecutar y para eso, realizamos los siguientes pasos:

  • Ejecutamos el siguiente comando: nano ~/.bashrc
  • En la parte superior del archivo agregamos las siguientes líneas:
iftest -t 1; thenexec zsh
fi

Esto con el fin de ejecutar siempre zsh como terminal por defecto y no tenga problemas con otras aplicaciones del sistema (porque es Windows lol)

  • Para terminar, presionamos Ctrl + X y después Y para aceptar los cambios
  • Para confirmar estos cambios en el archivo ejecutamos cat ~/.bashrc y corroboramos que estén las líneas que agregamos (Fig. 11).
  • Por último, volvemos a ejecutar el siguiente comando:
chsh -s /usr/bin/zsh

Fig. 11: Líneas agregadas al archivo .bashrc para que siempre ejecute zsh.
Fig. 11: Líneas agregadas al archivo .bashrc para que siempre ejecute zsh.

6. Instalar y configurar Hyper

Para tener una terminal más profesional, se recomienda instalar Hyper, esta nos ayudará a tener una experiencia de usuario mejorada en la terminal.

Primero debes descargarla aquí. Al terminar de instalar, abrimos la terminal y realizamos los siguientes pasos:

  • Abrir el menú de opciones >> Edit >> Preferences (Fig. 12)
  • Se abrirá un archivo de bloc de notas, en el cual buscaremos la opción de shell y agregaremos la siguiente información entre comillas simples (Fig. 13) :
C:\\Windows\\System32\\bash.exe
  • Guardamos y cerramos el archivo.

  • Cerramos y volvemos a abrir hyper y notaremos que nuestra terminal ya cambio.

Fig. 12: Preferencias de Hyper
Fig. 12: Preferencias de Hyper

Fig. 13: Modificación de preferencias de shell en Hyper
Fig. 13: Modificación de preferencias de shell en Hyper

Y con esto, ya tendremos instalada una potente terminal Linux en Windows 😍

Si quieres saber más sobre cómo usar la terminal, te recomiendo el Curso de Introducción a terminal y línea de comandos.

Y si quieres saber más sobre cómo configurar tu entorno de desarrollo, te recomiendo que tomes Curso de Prework: Buenas Prácticas y Entorno de Desarrollo.

Curso de Prework: Buenas Prácticas y Entorno de Desarrollo
Curso de Prework: Buenas Prácticas y Entorno de Desarrollo

Curso de Prework: Buenas Prácticas y Entorno de Desarrollo

Comienza tus proyectos de desarrollo para JavaScript configurando un entorno de desarrollo cómodo y adaptado a tus necesidades. Empieza por la herramienta más poderosa para un desarrollador: la terminal. Aprenderás a instalarla, ejecutar comandos y compilar código. Haz parte del trabajo colaborativo entre desarrolladores configurando Github, creando repositorios remotos, y aprendiendo a hacer push y pull.
David
David
@dfloresdev

15801Puntos

hace 9 meses

Todas sus entradas
Escribe tu comentario
+ 2
Ordenar por:
9
23763Puntos

En mi caso uso el Preview Terminal de Windows
pues te permite tener múltiples tabs con diferentes ambientes, aquí una muestra de mis ambientes de mi terminal:

WindowsTerminal_IMq9cRxnDI.png

Y claro es totalmente compatible con ZSH y OMZ:
WindowsTerminal_n92jCfrnkN.png

Excelente post 🤘👌

1
15801Puntos
9 meses

Muchas gracias, esta increíble el tema de tu terminal 😄

3

hola, me podrian ayudar? al configurar el power shell en windows borre el valor y lo guarde asi, creo que se puede solucionar encontrando el archivo y editarlo correctamente con notepad,llevo timpo buscandolo y no lo encuentro, y hyper no abre ni volviendolo a instalar.

1
820Puntos
un mes

lograste resolverlo? tengo el mismo problema

2
23763Puntos

Para quienes están entrando al blog a la fecha de 22 de mayo de 2020, hay un problema con Ubuntu 20.04 el cual presenta ciertos problemas a instalar aplicaciones (esto únicamente en WSL) como Node.
Si deseas usar esta versión de la distro puedes hacerlo de manera nativa sin problemas

2
5892Puntos

Muchas gracias 😊, Igual por ahora no lo uso ya que por lo general cuando programo lo hago desde ubuntu y uso su terminal normal y por ahora me es más que suficiente 😄, pero igualmente la información no sobra.

2
13076Puntos

Por si no quieren usar Hyper y sólo quieren la terminal del subsystem Ubuntu con Agnoster => WSL with Oh My ZSH

2
139Puntos

I would love to read your article. With lots of interesting information, it left me with a deep impression, hope that you will have more good posts.
vex 3

2
1567Puntos

Gracias 😄 ZSH me encanta!

1
522Puntos

Después de hacer este proceso, se puede cambiar nuevamente del modo programador a la configuración que tenía por defecto el equipo y poder trabajar en la WSL sin problema? o se debe dejar siempre en modo de programador?

1

Como podemos solucionar este problema **zsh: command not found:** mongo por ejemplo, al buscar soluciones en google encontré que tocaba adicionar al path en las variables de entorno ya lo hice pero no me funciono.

1
7465Puntos

alguien me puede ayudar creo que cometí un error y no pude instalarlo nose como solucionarlo, me equivoque en el paso 5.

Screenshot_1.png
2
23763Puntos
3 meses

¿Qué versión de Ubuntu instalaste?

1
7465Puntos
3 meses

La que decia Ubunto y nada más, esto es un error mio que en parte del tutorial me perdi ya que los comandos del paso 5 no me funcionaban y cuando busca una solucion se fue la electricidad donde vivo y ahora no puedo continuar el tutorial.

1
13076Puntos
un mes

esta bien solo dale formato / estilo a la terminal,
te recomiendo usar este tema:

Powerlevel10k

1
3738Puntos

Buenas tardes, alguien me podría ayudar? Se lo agradecería…
Tengo un problema… Me sale lo siguiente en la imagen:

term.PNG
1
13076Puntos
un mes

Oh My ZSH
Intenta con estos:

via curl

sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

via wget (necesitas intalar antes wget)

sh -c "$(wget https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)"

Intalar wget:

sudo apt install wget
1
22446Puntos

Muy buena explicación, muchas gracias

1
4156Puntos

Gracias por el tutorial, David. Creo que en el curso de Prework se enredan un poco al explicarlo, con su post me quedó más claro.

1
4268Puntos

¿que ventajas existen en usar zsh sobre el shel por defecto de Ubuntu?

3
23763Puntos
8 meses

Bueno, puedes tener como tema este

El cual te ayuda a saber el estado actual de tu proyecto de Git.

1
13076Puntos
7 meses
  • Soporte para themes y plugins
  • cd automático: sólo escribe el nombre del directorio
  • expanción en recursive path: ejemplo => /u/lo/b se expande a /usr/local/bin (tienes que darle tabulador para que se expanda la ruta recursiva)
  • corrección ortográfica y finalización aproximada: si cometes errores menores
1
3604Puntos

Sin animo de herir susceptibilidades. Pero si quieres tener las enormes ventajas de Linux cuando vas a programar no sería mejor instalar Linux??? (y de paso empezar a patear de una vez por todas ese miedo tonto e infundado a usar Linux)

4
23763Puntos
8 meses

Algunas veces no se tiene la posibilidad de tener un ambiente solo de Linux y por lo que he usado en carne propia puedo decir que la solución de WSL es muy buena, he podido usar todo sin problema alguno.

3
15801Puntos
8 meses

Hay veces en las que tener Windows como base es obligatorio o es la única opción, y es aquí donde entra esta opción de WSL, ademas de que si usas herramientas como adobe, estas no están disponibles en Linux (aun).

2
13076Puntos
7 meses

En mi trabajo me dieron una Laptop con Windows 10, les pregunte si podía instalarle Linux a la par, su respuesta fue “No, aquí usamos Windows por política, aprende a programar en Windows al fin tu eres bien autodidacta” xD solución WSL 😄. Y como comentan arriba también usamos programas que no están disponibles para Linux, tanto para lo protección de datos (políticas internas) como para el diseño …