On 19/03/2019 12:33, Dold, Wolfram wrote:
Hi Ian,
On Tue, 2019-03-19 at 12:06 +0000, Ian Abbott wrote:
On 19/03/2019 09:17, Dold, Wolfram wrote:
Hi there,
when we connect via ssh to our embedded device, the backspace key does not work.
During the analysis we found out that the passage

# This fixes the backspace when telnetting in.
if [ "$TERM" != "linux" ]; then
          stty erase ^H
fi

from the file '/etc/profile' contained in ptxdist.

Now I want to ask, how best to fix this behavior?
Can the passage simply be omitted? (At least the comment lets me assume that, 
because there 'telnet' is mentioned
and
that is no longer necessarily state of the art).
Or does omitting it lead to other unwanted side effects?

Any help would be appreciated.


Code can interpret input characters in various ways independently of the
stty settings.  For example, if the "Command Line Editing" feature is
enabled in the Busybox configuration, the Busybox "ash" and "hush"
shells' interactive line editing will handle both ASCII DEL and ASCII BS
   as a "backspace" operation.  This can be enabled in the PTXdist
menuconfig via:

Shell & Console Tools --->
    -*- busybox --->
        Settings --->
          [*] Command Line Editing

This sets "PTXCONF_BUSYBOX_FEATURE_EDITING=y" in the ptxconfig file.

The feature is already enabled.
But it does not work for me. It only works when I delete the stty command from 
/etc/profile,

If you are using Bash or some other other program with READLINE support,
I think it handles ASCII BS and ASCII DEL similarly to Busybox's command
line editing feature.
We do not use bash, we use the busybox shell.

Just for comparison, I'm using the busybox "ash" shell. (There are two shells in Busybox - "ash" and "hush".)

My SSH client is set to send ASCII DEL when the backspace is pressed, and sets TERM="xterm" or TERM="xterm-256color". The stty command on my target system shows "erase ^H".

Both the backspace key (which sends ASCII DEL) and the CTRL-H sequence (which sends ASCII BS) result in a backspace operation on the ash command line.

If I run a command that doesn't do any fancy line editing, such as:

  od -c

then the ASCII DEL characters get passed through to standard input and the ASCII BS characters erase the previous characters (as per the stty erase ^H setting).

If I change the stty setting:

  stty erase '^?'

then both ASCII DEL and ASCII BS result in a backspace operation on the ash command line, but for commands that do not do any fancy line editing, the ASCII BS is passed through to standard input and the ASCII DEL erases the previous character as per the stty erase '^?' setting.

So in summary, the PTXCONF_BUSYBOX_FEATURE_EDITING option seems to work for me, at least in the "ash" shell. (I haven't tried the "hush" shell.)

I am using BusyBox 1.29.3 from PTXdist 2019.03.0.

--
-=( Ian Abbott <[email protected]> || Web: www.mev.co.uk )=-
-=( MEV Ltd. is a company registered in England & Wales. )=-
-=( Registered number: 02862268.  Registered address:    )=-
-=( 15 West Park Road, Bramhall, STOCKPORT, SK7 3JZ, UK. )=-

_______________________________________________
ptxdist mailing list
[email protected]

Reply via email to