Best terminal environment for Cygwin/Windows?

Viewed 62560

Today I run Cygwin with rxvt using the following startup line:

rxvt -bg black -sl 8192 -fg white -sr -g 150x56 -fn "Fixedsys" -e /usr/bin/bash --login -i

This gives me a resizeable native Windows window which is much better than the standard "DOS box" the default cygwin.bat provides.

However, the current configuration does have a couple of issues:

  1. I am not able to enter non-ASCII characters into the terminal window (i.e. æ, ø, å and Æ, Ø, Å, which I use semi-frequently. In fact, the terminal will not even accept them when I paste them into the window. If I paste a string like "bølle" (Norwegian for "bulley"), all I get is "blle".
  2. I am not able to render UTF-8 character, they only show as ?, even if they are supported by the font (i.e. when rendering the same characters in ISO-8859-1 they show just fine.).

I am running English Windows Vista with locale and keyboard layout set to Norwegian (ISO-8859-1 character set?), but I've had the exact same issue on Windows 2000 and XP.

Anyone knows how to fix this (i.e. a better way to configure rxvt)?

Apart from the issues mentioned above, I'm very happy with rxvt, so if I find a way to resolve them I'd like to continue using it. However, if the issues are not (easily) solvable, are the any other good terminal solutions for Cygwin?

Update

The solution provided by Andy and Mattias (editing the .inputrc file) did solve the input problem, but output rendering is still an issue. Output is fine when I render in ISO-8859-1, but when using UTF-8 I only get ? for non-ASCII characters. This behavior is consistent between rxvt, urxvt (under Cygwin XFree X Server), mintty and PuttyCyg.

Is there a similar configuration file where output encoding can be set (i.e. the equivalent of setting output locale on a Linux system)?

21 Answers

minTTY is also pretty good. You can find it in cygwin's setup. Supports re-sizing, pasting, and transparency.

I'm currently using PuttyCyg (http://code.google.com/p/puttycyg/). I'm not sure if it will contain fixes needed by you, but it has several other cool features, for example configurations stored to typical putty profiles, which can be invoked like: putty -load mycygwin1. Such profile can configure things like:

  • logging sessions to a file,
  • character sequences for delete, home, and other keys,
  • window colors and fonts.

Edit: it is possible to enter chars you mentioned. UTF-8 support is also provided (it has to be turned on in configuration).

I'm using Console as well. Console allows you to customize font, background, etcetera and also has a tabbed interface (great if you use more than one terminal window at once).

In order to be able to use non-ASCII characters I have put the following in my .inputrc file in my home directory:

set meta-flag on
set convert-meta off
set output-meta on
set completion-ignore-case on

I've been using Console which works pretty well with Cygwin (as well as PowerShell and plain old cmd.exe).

When I was developing on Windows I found Poderosa to be a good choice for Cygwin.

Standard Cygwin/X with xterm is good enough for me. Install the Cygwin X.org package, then run the script C:\cygwin\bin\startxwin.bat (assuming default install path). It'll start X and then xterm.

I updated my .Xdefaults with these options for better usability:

*VT100*scrollbar.width:         14
*VT100*scrollbar.background:    gray60
*VT100*scrollbar.foreground:    rgb:a/5/5
*VT100*scrollbar.borderWidth:   0
*VT100*scrollbar.displayList:\
foreground      gray90;\
lines           1,-1,-1,-1,-1,1;\
foreground      gray60;\
lines           -1,1,1,1,1,-1
*VT100*rightScrollBar: true
*VT100*scrollBar: true
*VT100*scrollLines: 1000
xterm*toolBar: false

If you use ls with certain arg it is showing file names OK I suggest you put an ls alias in /etc/profile:

alias ls='ls -F --color=auto --show-control-chars'

Works for me in msys on a WinXP.

On a similar note to emg-2, Lifehacker recently had an article about MinTTY, not sure if it contains fixes needed by you.

If you're content with only running Cygwin-applications, then rxvt should work fine. Rxvt should have UTF-8 support. Did you try googling for a solution?

If you also need to run native Windows applications, you're out of luck unless you run bash inside the Windows console. There are two issues which I don't believe are (or even can be) solved:

  • Ctrl-C doesn't work properly. If you run a native windows application from inside rxvt (or xterm), pressing Ctrl-C will give you back a prompt, but it does not interrupt the program, often leaving it to run in the background.
  • Terminal output buffering doesn't work. Output from native windows applications aren't displayed as they are printed, but rather when some internal buffer is full.

These two issues are the same with all the terminal emulators I've tried (rxvt, xterm, Emacs, and a few others).

Apart from the complete resizability, what features does rxvt gice you that a Windows console window doesn't? And have you looked at the difference in memory usage - rxvt is a hog. I use rxvt for a couple of weeks and the switched back to a windows console window, without regrets.

I have used several terminals such as putty, console, rxvt, mintty, teraterm. the best is the teraterm. it is free, fully compatible for lang and tty, fully configurable with macro, shortcut, and give the cygterm for Cygwin.

however if you light user, just use mintty which is default term these day or rxvt.

Related