Bash for Windows 10 – Step by Step Installation

Bash can be configured and installed only on a 64-bit Windows Setup.

Bash Installation for Windows

  1. Head to Start > Control Panel > Programs > Turn Windows Features On Or Off.
  2. Enable the “Windows Subsystem for Linux” option in the “Windows Features On/Off” window as shown

    windows-bash-install
  3. Click the “OK” button.
  4. Restart the machine when prompted with a “Restart now” alert box.
  5. After your computer restarts
  6. Open the Microsoft Store from the Start menu
  7. Search for “Linux” in the store.
  8. Click the link under the “Linux on Windows, Totally” banner labelled “Get the app” to initiate the download.
    [9gagish advice: Please make sure you’re using your unmetered wifi to download this.]

    install-z-bash-win-market
  9. You’ll see a list of every Linux distribution currently available including 
    1. Ubuntu
    2. openSUSE Leap
    3. openSUSE Enterprise
    4. Fedora (coming soon)
    5. Debian (coming soon)
    6. Kali Linux (coming soon)
  10. Choose a Linux distribution and click it
    ( If you’re have not made up your mind or looking for a more casual/ready to go experience in the Linux environment, we would recommend Ubuntu. Other Linux distro based subsystems are also available for professional use with a more specific requirement.)
    (Multiple flavors of Linux distributions can be installed and run at a time – depending on machine capability – in separate windows if required.)
  11. Click the “Get” button/link to install it like other Microsoft Store Apps.

    install-z-bash-win-market-ubuntu
  12. Wait for the download and shell install to complete.

How to Access and Use Bash for Windows to Install Linux Software

Once the installation and setup from the previous section are complete since they’re the same binaries, you can use the installed OS’s default terminal syntax for software access and installation from its repositories.
Access to all typical Linux terminal commands, programs and non-GUI applications will work well. However, some applications may not yet work perfectly due to driver and OS specific base functions.

To open the Linux environment you installed

  1. Open the Start menu
  2. Search for the distribution you installed previously from the market steps above. If you installed the Debian based Ubuntu distro, click the Ubuntu shortcut.
  3. The application shortcut can be pinned for easier access to your Start menu/Taskbar/Desktop if you’re going to use it often.

    install-bash-win-ubuntu-start
  4. Please note that when initiated, the Linux environment prompts you to set a UNIX username and password. The Linux subsystem’s credentials don’t have to match your Windows credentials, rather it is adviced against using the same credentials for both. The subsystem credentials will be used only within the subsystem’s (Linux) environment as its sudo authentication credentials.

    install-bash-win-ubuntu-start
  5. Next launch the Linux environment by executing the wsl command. If multiple Linux distributions of the same distro or other flavors are installed, you can choose the default Linux environment this command launches by following the following options:
    1. In the Ubuntu OS, the ubuntu command to install and configure your subsystem.
    2. Similarly for openSUSE Leap 42, use opensuse-42 .
    3. Also for SUSE Linux Enterprise Server 12, use the sles-12 command.
  6. And VIOLA! the windows version of your bash is ready and running.

If you’re interested in different variations of the shell to improve efficiency, features or aesthetics in your bash for windows shell check out our comparative ranking of the best terminal for the Unix Shell.

We would also recommend installing and using zsh as an addon for your Bash for Windows shell.

NOTE  Software installed within the shell is restricted to the subsystem 
and the shell. You can access these programs from the Command Prompt,
PowerShell in Windows, but only after executing bash -c command.

Leave a Reply

Your email address will not be published. Required fields are marked *