NetBSD-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: termcap issue



On Sat, Aug 29, 2015 at 10:37:22PM +0200, Havard Eidnes wrote:

> When this was fixed^Wchanged in FreeBSD is rather immaterial for
> us, what matters is when this change was done in^W^Wfoisted on
> NetBSD.

Well, the first breakage occured when switching to terminfo. But
it didn't affect the ssh users.

> If I understand correctly, this has the effect that if you log in
> via ssh from a machine where the client tty is set to erase=DEL,
> the tty on the remote host will first be set to erase=DEL by
> sshd, and then when tset is run from .login, it will, based on
> local terminfo on that host set erase=^H if your TERM variable
> and the local terminfo entry so dictates?

Right.


> For those among us who rather fiercly wish to stick to the idea
> that the "rubout" key commonly found in the upper right area of
> the keyboard sends DEL, and who has many more machines than
> actively used desktops for logging in to those machines, this is
> going to be a major pain.

The simple solution is to drop tset from .login. For some people it
might also be good to run tset but tell it to force erase=DEL
independent from the environment.


> What do you suggest those of us in my situation should do?

I would propose to remove tset from .login in netbsd-7. Better
than insisting on leaving a broken tset that does nothing for
your usecase and does nothing right for a local terminal.


> from our .login files on all our systems when upgrading to
> anything 7.0ish or newer, and ignore the problem this would cause
> when using the console or an actual local terminal?

Oh, it did make problems after netbsd-5 on console or an actual
local terminal. That's why I fixed the bug.


> The old behaviour, if I understood correctly, where tset doesn't
> muck with the tty key settings if you log in over the network,

tset has no idea wether you log in over the network. The people
that designed tset expected to get TERM=network and the login
would alias this with some other terminal type or ask the user.

In 4.4BSD up to netbsd-5 it would set the tty keys except it wouldn't
touch erase=DEL, but it would happily change erase=BS if terminfo
told it so.

In netbsd-6, the code was so buggy, that it wouldn't touch the
setting unless you forced the driver manually to an undefined value.
Normally it would always use its default which is not 'undefined'.


> and rather leave it to ssh, xterm or telnetd etc. to either carry
> the settings from the client or use the settings from the X11
> resources makes a lot more sense to me than what we now have in
> 7.0_RC3.

That's what you get by leaving out tset.

Of course, logging in from a NetBSD xterm, doesn't require this,
because xterm just works as described by the terminfo entry.
But if you log in to some older Linux system, you get problems.

N.B. sh/bash users don't notice it either, because tset is only
run for a csh login.



Greetings,
-- 
                                Michael van Elst
Internet: mlelstv%serpens.de@localhost
                                "A potential Snark may lurk in every tree."


Home | Main Index | Thread Index | Old Index