91

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

23710Puntos

hace 4 años

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” 😍. Por eso, hoy te voy a enseñar a instalar las terminales zsh y oh-my-zsh en Windows 10.

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. Aprende más de Git Bash.

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

David
David
dfloresdev

23710Puntos

hace 4 años

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

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
23710Puntos
4 años

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

0
20767Puntos
3 años

Aún es recomendable usar windows terminal o prefieren hyper?

1
671Puntos
3 años

Como haces de windows terminal tu terminal por defecto ?

0
33199Puntos
3 años

Hola Jesus! En este tutorial se explica -> Link

0
10349Puntos
3 años

Windows Terminal está en desarrollo aún, y tiene pinta que va ir mejorando aún más. De repente ahora no es tan recomendable para ciertos casos, pero lo será casi seguro.

3
29642Puntos

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

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
863Puntos
4 años

lograste resolverlo? tengo el mismo problema

1
6363Puntos
4 años

el archivo se llama .hyper y se encuentra en la ruta
C:\Users<nombreuser>\AppData\Roaming\Hyper
espero te sirva y puedas arreglarlo

2
14621Puntos

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

2
153Puntos

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
4779Puntos

Gracias 😄 ZSH me encanta!

1
9434Puntos

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
29642Puntos
4 años

¿Qué versión de Ubuntu instalaste?

1
9434Puntos
4 años

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.

2
14621Puntos
4 años

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

Powerlevel10k

1
8784Puntos
un año

como instalo in formato o estilo en la terminarl ?

1
2711Puntos

Hola, alguien sabe porque no se me visualiza correctamente los iconos de esta parte?

Screenshot_4.png
1
9622Puntos

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

3
29642Puntos
4 años

Bueno, puedes tener como tema este

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

1
14621Puntos
4 años
  • 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
13008Puntos
2 años

Alguien sabe por que el p10k configure no me permite establecer el tema que termina en flecha como la imagen de darkjeda?

1
3325Puntos

Si no tienes Ubuntu instalado igual funciona en git bash?
PD Tengo el Windows 7. Como puedo instalarlo?

1
260Puntos

Interesante y útil. Pero me sucedió algo extraño al aplicarlo: en un proyecto git clonado a partir de un repo, en el terminal Hyper (zsh) me muestra todos los archivos como modificados en el stage, mientras que en el terminal CMD de Windows, se muestra “up to date” como debe ser, ya que está recién clonado del repo. Tal parece como si se hiciera un repositorio añadido en el entorno Ubuntu. Alguna idea de como solucionarlo? Gracias

1
4721Puntos

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
652Puntos

Hice exactamente todo y en hyper solo me aparece esto, sin la posibilidad de poder escribir nada…

1
5780Puntos

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
29642Puntos
4 años

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
23710Puntos
4 años

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
14621Puntos
4 años

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 …

1
32390Puntos

Muy buena explicación, muchas gracias

1
15381Puntos

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

term.PNG
1
14621Puntos
4 años

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

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
1468Puntos

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
6075Puntos

buenas, aun tengo dudas, como se si ya tengo por defecto zsh? ya hice todos los pasos… ya instale hyper también, si me aparecen en el .bashrc las lineas que agregue… pero de que manera pruebo o confirmo que estoy abriendo zsh?
Yo abro Ubuntu y esta la consola como siempre… o eso creo… soy nuevo en el tema. gracias

1
7125Puntos

Muchas gracias. Me ha servido mucho!.

1
31296Puntos

Alguien me podría ayudar. No puedo actualizar npm, no se que hacer me sale ese error. Algún consejo?

 WARN checkPermissions Missing write access to /usr/lib/node_modules/npm/node_modules/yargs/node_modules
npm WARN checkPermissions Missing write access to /usr/lib/node_modules
npm ERR! code EACCES
npm ERR! syscall access
npm ERR! path /usr/lib/node_modules/npm/node_modules/cliui/node_modules/ansi-regex
npm ERR! errno -13npm ERR! Error: EACCES: permission denied, access '/usr/lib/node_modules/npm/node_modules/cliui/node_modules/ansi-regex'npm ERR!  [Error: EACCES: permission denied, access '/usr/lib/node_modules/npm/node_modules/cliui/node_modules/ansi-regex'] {
npm ERR!   errno: -13,
npm ERR!   code: 'EACCES',
npm ERR!   syscall: 'access',
npm ERR!   path: '/usr/lib/node_modules/npm/node_modules/cliui/node_modules/ansi-regex'npm ERR! }
npm ERR!
npm ERR! The operation was rejected by your operating system.
npm ERR! It is likely you donot have the permissions to access this file as the current user
npm ERR!
npm ERR! If you believe this might be a permissions issue, please double-check the
npm ERR! permissions of the file and its containing directories, ortry running
npm ERR! the command again as root/Administrator.

npm ERR! A complete log ofthis run can be found in:
npm ERR!     /home/matespinosa09/.npm/_logs/2020-08-20T16_31_34_036Z-debug.log
0
33199Puntos

El comando para instalar Oh My Zsh cambio, ahora es el siguiente:

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

Muchas gracias!!! han borrado el video de estas explicaciones en el curso de Prework y me ha ayudado mucho encontrar este tutorial. Muchas gracias!.

0

Hola, he instalado el ubuntu , efectivamente me sale “installing this may take a few minutes” y luego se cierra la ventana. Me podrían ayudar?