re: Best Open Source Tools For Developers πŸ›  VIEW POST


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)

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, 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.

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 :)

code of conduct - report abuse