Cmder with WSL
Assuming you've just come my guide on getting barebones WSL set up (or you have a WSL already), you might agree with me that the terminal is simply... ugly. Here, I'll go through installing the wonderful Cmder to give us more customization options.
This guide is just focused on getting Cmder and WSL playing nice, but see this other guide for information on Cmder and Windows' normal consoles.
First up in installing Cmder itself. Head over to Cmder's website and download the full package. It'll come as a
.zip file, and installation is as simple as unpacking it somewhere—right click on it and select "Extract All..."
I'd suggest being wise about where you extract Cmder to, since that is where the program will live. Most programs live in
C:\Program Files\, but that folder has trickier Windows permissions that Cmder and WSL have trouble playing nice with.
I put Cmder's folder in my Windows user folder—
Cmder.exe is under
C:\Users\Jack\Cmder\. If your user folder has spaces or odd characters, it might make sense to put Cmder's folder right at the root of your disk, like
Once the files are extracted, I navigated to the folder and dragged the Cmder application to my task bar for easy access (you're welcome to make a desktop shortcut or whatever makes the most sense: depending on where you extracted to, Windows search might not see Cmder automatically).
When you open Cmder for the first time, you'll probably see a warning like the following:
It is safe to "Unblock and Continue"—this window is simply ConEmu (one of the programs that makes up Cmder) warning us that Windows might complain about us running files we downloaded from the internet. Moving past that warning (and any security pop-ups that Windows shows you), you should see Cmder open up.
You may encounter an issue with something ccalled
wslbridgethat Cmder uses to connect to WSL. It will complain about permission being denied for a
wslbridge-backendfile in your Cmder folder. If you get this error, do the following:
- Copy the path to the problematic file (it starts with
/mntand ends with
- Open up a normal WSL terminal (run
bashfrom a command prompt or the start menu)
- Run the following:
chmod +x pathwhere path is what you just copied (you can right click in the WSL terminal to paste your clipboard)
exitthe WSL terminal and relaunch Cmder
Well, we at least have colors now! The main thing to note, though, is that this isn't our Ubuntu Linux shell. This is the normal Windows command prompt, which is the default that Cmder uses.
To use our WSL shell, we have to tell Cmder to run a different 'task' on startup. If we click the three bar icon in the bottom right, we can access the settings menu.
Cmder provides us with a ton of options, and we'll get to this in a minute, but right now we just want to change the "Choose your startup task..." option. In that dropdown you should see a
Select that, save the settings with the button in the bottom right, and close and re-open Cmder. If everything works, you'll see the Linux shell.
Now that we have Cmder up and running, we can make it a bit more inviting. What's below is all totally optional; feel free to explore the different settings and make it your own.
Cmder has tabs that let you run multiple consoles at once, just like a web browser with multiple pages. By default it places those tabs at the bottom, but I like to move them to the top. The option is in in Settings, General, Tab bar, where there is a "Tabs on bottom" box you can un-check. On that same screen, I also like to increase the "Tab font" size from 16 to 18 and check the "Elavated consoles: suffix" box.
Next up: the background. I'm personally not a fan of the transparency, so I like to disable it entirely under Settings, General, Transparency. Moving both sliders to "Opaque" works, or you can un-check both "Alpha transparency" boxes.
Cmder also lets us easily change the entire color scheme. Under Settings, General there's a "Choose color scheme" dropdown with a little preview of the colors next to it. Your preferences here might change as we customize more of the shell: I'm a fan of Luke Maciak's solarized theme.
I'm personally not a fan of the scrollbar sometimes appearing, so I set it to be hidden under Settings, General, Apppearance.
Lastly, I like to change the fonts. Under Settings, General, Fonts, we have just about every option we could want. If you plan to use Zsh like I do, I recommend using a Powerline font (a good guide for installing them is right here). I'm a fan of Fira Mono for Powerline with a size of 18.