So you want the benefits of running the command-line interface on a UNIX based system, but won’t switch to Linux or macOS? Luckily there’s a solution. It used to be that you had to install a UNIX-like environment like Cygwin. UNIX-like meaning it simulated a UNIX CLI (Command-Line Interface), but was restrained to only work within Cygwins’ own sub-directories. This not only meant that all your code had to be inside a Cygwin directory, but more importantly, no zsh shell.
Fret not, those days are over. Now you can choose to get a Windows subsystem for Linux. As of February 2018, this is a completely new feature so be sure to tell your friends, family and colleagues. They might not have heard of it. Now, lets get to work.
- Open PowerShell as administrator:
- Run the following line:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
- Restart the computer when prompted.
For this next part, you need to make sure you’re running Windows build 16215 on newer.
- Go to Settings > System > About and look for OS Build:
For earlier versions follow these instructions using lxrun.
- Open the Microsoft Store and choose your favorite Linux distribution. We went for Ubuntu.
- Once the download has completed, select “Launch”.
This will open a console window. Wait for installation to complete then you will be prompted to create your LINUX user account.
Congratulations, you’re good to go! You can even run bash and zsh shells in your Windows Command Prompt, but don’t expect it to look as nice as on Linux and macOS. Remember to install Oh My Zsh, it looks way better. Installation guide can be found here.
If you at any point had trouble during this guide, visit the Microsoft guide.
Until next time, keep coding.