mintty ^H weirdness with ssh to one specific Debian 11 system

Thomas Wolff towo@towo.net
Thu Jan 18 06:58:38 GMT 2024


Am 16.01.2024 um 22:38 schrieb Jim Garrison via Cygwin:
> TL;DR
>
> New laptop, setting up mintty configuration identical to working 
> desktop system.  When connected to one specific Debian 11 (Bullseye) 
> system (to which I connect often from the desktop with no issues), 
> backspace appears to send ^H, and Debian interprets ^H correctly, but 
> the terminal display echoes a space character instead of backing up 
> one space.
>
> Details
>
> I have mintty set to term type "mintty" and "Keys/Backarrow sends ^H".
>
> A little experimentation shows that the Debian system is correctly 
> interpreting the backspace, only the mintty display is incorrect. I 
> guess there are two possibilities:
>
> * Debian is echoing a blank when receiving ^H
> * mintty is not correctly displaying the ^H echoed by Debian
>
> Note, a local mintty session is NOT affected, backspace works fine there.
>
> Also note when I ssh to a Debian 12 system and an old CentOS 7 system 
> I don't see this issue, and when connecting from my desktop all three 
> systems work.  I am stumped for how to troubleshoot this further.
>
> I diffed the output of "stty -a" between the non-working system and 
> one that works. The only differences are:
>
> Working system: eol = <undef>; eol2 = <undef>;
>
> Non-working system: eol = M-^?; eol2 = M-^?;
>
> cygcheck.out attached
>
>
> On the Debian 11 (non-working) system:
>
> jhg@smtp ~
> $ echo $TERM
> mintty
>
> jhg@smtp ~
> $ stty -a
> speed 38400 baud; rows 37; columns 128; line = 0;
> intr = ^C; quit = ^\; erase = ^H; kill = ^U; eof = ^D; eol = M-^?; 
> eol2 = M-^?; swtch = <undef>; start = ^Q; stop = ^S;
> susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; discard = ^O; min = 1; 
> time = 0;
> -parenb -parodd -cmspar cs8 -hupcl -cstopb cread -clocal -crtscts
> -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl 
> ixon -ixoff -iuclc ixany imaxbel iutf8
> opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 
> bs0 vt0 ff0
> isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop 
> -echoprt echoctl echoke -flusho -extproc
>
You've verified the stty setting 'erase' above, please also verify the 
mintty behaviour, e.g. with ^V Backarrow in a command line (to echo the 
character as ^H, hopefully) to check that the two settings match 
consistently.
I've noticed myself on an older Debian system that behaviour of the 
'erase' character may be weird; it initially worked as expected with ^H, 
then I switched to stty erase ^?, then back to ^H, and behaviour was 
different: ^H did not erase a character anymore but echoed "^H". Anyway, 
this is handling of the shell (or realine library) and not under control 
of mintty.
Thomas


More information about the Cygwin mailing list