DEV Community

Discussion on: Best Open Source Tools For Developers 🛠

Collapse
 
seanbolt profile image
Sean Bolton

Some great suggestions above. I recently discovered iTerm2 which is a big improvement over the default terminal on mac, especially when paired with oh my zsh

Collapse
 
daniel15 profile image
Daniel Lo Nigro

On Windows, Cmder is a good replacement for the default terminal.

Collapse
 
mandarvaze profile image
Mandar Vaze

Or, if you are on Windows 10, get "real" terminal via WSL ?

Thread Thread
 
daniel15 profile image
Daniel Lo Nigro

WSL is a shell, not a terminal/console. You can run WSL inside Cmder :)

Thread Thread
 
mandarvaze profile image
Mandar Vaze

umm... Right.

I am a macOS user (considering moving to Windows+WSL+Ubuntu) So you are probably right (Haven't used Windows in several years)

If and when I move to windows, I'll give Cmder a try. Read good things about it (and how people use it with WSL)

Thread Thread
 
daniel15 profile image
Daniel Lo Nigro • Edited

Sorry, I should have posted more details in my comment!

A terminal emulator (sometimes referred to as a "terminal" or "console") is the app that gives you the interface to type commands into and see their output. For example, iTerm2 and Terminal are terminal emulators on MacOS.

The shell is the app that processes the commands. For example, bash and zsh are shells.

You run a shell inside a terminal emulator. When you run iTerm2, it runs bash (or whatever) inside it :)

Technically WSL is neither... It's a compatibility layer that allows Linux apps to run on Windows. It converts Linux API calls to native Windows API calls - Basically the opposite of the WINE project (which lets you run Windows apps on Linux). However, WSL comes with Bash, so when people "run WSL", they're running Bash (the shell) in CONHOST.exe (Console Window Host, the default Windows terminal emulator, the same one that CMD.exe uses).

Cmder is a replacement for conhost/cmd.exe. It can run the default Windows shell (cmd.exe) and WSL within it. Similar to how iTerm2 is an improvement over Terminal.app, Cmder is an improvement over conhost, providing features like tabs. You still run all the same shells (just like how you can run bash in either iTerm2 or Terminal), it's just running within a different terminal emulator.

If you do try Windows, try PowerShell in addition to WSL. It has its own unique set of features, and you may like it. PowerShell can run inside Cmder too. I even use PowerShell on Linux now, due to how powerful it is. The key difference with PowerShell is that it treats command output as objects rather than strings, so you very rarely need to parse command line output using grep/sed/cut like you do on Linux. Instead, you simply access properties on objects.

Thread Thread
 
dallgoot profile image
dallgoot

i 've set up something (i'm not the only one) that really makes me enjoy CLI on Windows 10 :

  • install Debian as WLS
  • install CMDER

Run Debian WLS, install fishshell.

Run CMDER set up a new task with command "debian.exe"

---> Enjoy Fishshell in a Debian env on Windows 10 :)