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
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
Posteriormente, seleccionamos la opción de Windows update (Fig. 2)
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
Para finalizar este paso, debemos reiniciar la computadora.
Para activar esta opción, sigue las siguientes instrucciones:
Si tienes alguna duda, en la siguiente imagen (Fig. 4) podrás ver estos pasos resumidos.
Fig. 4: Pasos para habilitar Windows Subsystem Linux
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.
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:
Al ingresar la información ya tendremos lista nuestra terminal.
Fig. 6: Terminal de Ubuntu indicando que se está instalando.
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.
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.
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.
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.
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:
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)
chsh -s /usr/bin/zsh
Fig. 11: Líneas agregadas al archivo .bashrc para que siempre ejecute zsh.
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:
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. 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.
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:
Y claro es totalmente compatible con ZSH y OMZ:
Excelente post 🤘👌
Muchas gracias, esta increíble el tema de tu terminal 😄
Que tema tienes? :0
Aún es recomendable usar windows terminal o prefieren hyper?
Como haces de windows terminal tu terminal por defecto ?
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.
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
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.
lograste resolverlo? tengo el mismo problema
el archivo se llama .hyper y se encuentra en la ruta
C:\Users<nombreuser>\AppData\Roaming\Hyper
espero te sirva y puedas arreglarlo
Gracias 😄 ZSH me encanta!
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.alguien me puede ayudar creo que cometí un error y no pude instalarlo nose como solucionarlo, me equivoque en el paso 5.
¿Qué versión de Ubuntu instalaste?
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.
como instalo in formato o estilo en la terminarl ?
Buenas tardes, alguien me podría ayudar? Se lo agradecería…
Tengo un problema… Me sale lo siguiente en la imagen:
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)
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.
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).
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 …
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?
Lo malo es que no funciona node.js con zsh 😭
Si no tienes Ubuntu instalado igual funciona en git bash?
PD Tengo el Windows 7. Como puedo instalarlo?
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
¿que ventajas existen en usar zsh sobre el shel por defecto de Ubuntu?
Bueno, puedes tener como tema este
El cual te ayuda a saber el estado actual de tu proyecto de Git.
Alguien sabe por que el p10k configure no me permite establecer el tema que termina en flecha como la imagen de darkjeda?
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.
Muy buena explicación, muchas gracias
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
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
Muchas gracias. Me ha servido mucho!.
Hola, alguien sabe porque no se me visualiza correctamente los iconos de esta parte?
oh my godness 😂
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?
Muchas gracias!!! han borrado el video de estas explicaciones en el curso de Prework y me ha ayudado mucho encontrar este tutorial. Muchas gracias!.