November 23, 2014

Replacing Windows cmd terminal with Console2 and Cygwin shell

In my last post I set up Cygwin to emulate a UNIX environment. We now have some added features that can be used via command line, but at the end of the day, Cygwin's shell is merely being invoked from the default Windows terminal. Yuck.

Console2 is an open-source replacement for Windows' native terminal. "Features include: multiple tabs, text editor-like text selection, different background types, alpha and color-key transparency, configurable font, different window styles". So basically, it is all the goodness of UNIX terminals brought to Windows. As of the time of this writing, the last update to this software was done over a year ago, yet there are still 5000+ downloads a week from SourceForge - a great testament to its ongoing popularity.

After downloading the 32-bit package (don't bother looking for the nonexistent 64-bit version), simply extract the Console2 folder to your Program Files directory, and run the Console.exe program within. You should see something like this:


Ok... now it just looks like a windows shell inside our new terminal... which is exactly what it is, and is exactly the opposite of how Cygwin is currently running a UNIX shell inside the Windows terminal. Let's hook the two up!

Instead of invoking cmd to access the Windows terminal, you'll now be using Console2 as its replacement, so pin it, desktop it, shortcut it, whatever - you'll be using it from now on. In Console2's menu, select Edit -> Settings... and from the Console setting in the sidemenu, point the unconfigured Shell to Cygwin.bat. Note that you may have to view All Files in the Files of Type dropdown:


It also won't hurt to set up a few sane copy/paste/mouse commands, and these can be done from the Hotkeys and Hotkeys -> Mouse settings. It is strange that Console2 isn't configured out-of-the-box to select text with the mouse cursor, but this is a nice quality-of-life improvement that we take for granted on a Unix terminal. As for copy/paste shortcuts, don't choose Ctrl+C for copying. Cygwin seems unable to distinguish between the shell being process-locked versus not, so Ctrl+C cannot be used for both copying and halting - the user definition overrides the innate process-halting definition.

Close Console2 after saving your settings, and reopen it to Cygwin's glorious UNIX shell within the enhanced goodness of Console2!

No comments :

Post a Comment