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

Re: curses corrupt when TERM is "linux" - but only under X



Hello,

That makes some sense, but couldn't xterms be made to understand the 
"linux" TERMtype, as they understand "xterm", "vt100", etc.? I'm not 
volunteering or anything, just trying to understand the problem. 
Konsole has an option to set "linux console" as the key mapping, and 
comes with a special Session Type also called "linux console" (for 
compatibility and testing, I guess) which sets the keyboard as 
mentioned above, and also sets $TERM to be "linux". It seems to work 
fine for everything except curses. Yet even the curses problem 
disappears the instant I type "export TERM=xterm". So "export 
TERM=linux", and curses is screwy, "export TERM=xterm" and all is 
well. Maybe in some terminal emulator that doesn't know anything 
about "linux" this might make sense, but konsole gives the impression 
of being capable of mimicking a true linux console - so why should 
ncurses - and only ncurses - care that it's actually being run in an 
X window? From a real text console, I can set $TERM to either "linux" 
or "xterm", and curses looks fine.

Otherwise, it isn't really crucial that I have the TERM set to "linux" 
- on a remote server I access, for some reason TERM is set to "linux" 
on login, so I set konsole to be a "linux console" by default so 
ssh-ing over is painless. When I noticed "make menuconfig" looked 
strange, I thought I might have uncovered a bug.

Thanks,
Christopher Martin

On Tuesday January 6 2004 17:25, Colin Watson wrote:
> By setting TERM=linux you're telling applications to use escape
> sequences that xterm doesn't understand. TERM=linux means "my
> terminal is a Linux virtual console; please act accordingly", so
> indeed hitting Ctrl-Alt-F1 will work perfectly. I'd be quite
> surprised if there were any "solution" to this, as it's not
> actually a problem as such; it's part of the definition of $TERM.
> As a rather ugly workaround, you might be able to use screen(1) to
> remap the escape sequences - look for TERM in its man page.
>
> Could you elaborate on why you want to set TERM=linux in contexts
> where that's not true? I would try to fix whatever problem is
> making you want to do that.



Reply to: