Bash in gnome-terminal shows control characters as unsupported-unicode squares
|Ubuntu Desktop Bugs|
Binary package hint: gnome-terminal
When I upgraded to Karmic (clean install) I noticed bash echoes control characters using the hat notation (ex. ctrl+c shows as ^C). stty reported echoctl being set, so I tried to unset it. This helped, and pressing ctrl+c at a prompt cancels the prompt, shows a new one and nothing is echoed.
Though, when pressing ctrl+c while a program is running (ex. cat or ping), a unicode square is echoed like for unicode characters not supported by the selected font. I tried selecting many different encodings and fonts, though nothing seemed to help.
Futher, if inside this same shell I open a screen session, this behaviour is gone and everything works as intended, which is to have ctrl+c or ctrl+z have the desired effect with nothing echoed.
Finally, opening a bash session in xterm or tty[1-6] and disabling echoctl/ctrlecho using stty command, this cannot be reproduced. So it seems that only an plain bash session in gnome-terminal does this.
To see a screenshot, view the attached PNG.
Basically what happens there is
1. 2 ctrl+c presses at the prompt.
2. Then 1 ctrl+c during cat
3. Then 1 ctrl+z during cat
4. Bring cat back to the foreground and press ctrl+c again
THEN disable echoctl
5. Repeat the process - where you can now see instead of hat notation, the prompt presses are fine, but the in-program presses echo unicode squares.
Date: Wed Dec 30 12:40:10 2009
DistroRelease: Ubuntu 9.10
InstallationMedia: Ubuntu 9.10 "Karmic Koala" - Release i386 (20091028.5)
Package: gnome-terminal 2.28.1-0ubuntu1
PATH=(custom, no user)
Uname: Linux 2.6.31-16-generic i686