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