csh Cannot open /etc/termcap after starting "screen"

Ivan Voras ivoras at freebsd.org
Thu Jun 16 17:19:03 UTC 2011


Hello,

This *looks* like it should be a trivial problem (or at least 
often-encountered one) but short of debugging both screen and tcsh, I 
have no ideas what to do next...

On several machines (seemingly random, some are running 7-stable, others 
8-stable), I get this message after starting "screen", written on the 
newly created screen:

csh: Cannot open /etc/termcap.
csh: using dumb terminal settings.

The problem is: this also happens whan I'm doing it as the root user, 
and /etc/termcap is a symlink to /usr/share/misc/termcap, which 
definitely exists and is readable. To make it even stranger, it looks 
like the environment contains something which seems to be valid termcap 
data:

lara:/home/ivoras# setenv
STY=58859.pts-13.lara
TERM=screen
TERMCAP=SC|screen|VT 100/ANSI X3.64 virtual terminal:\
         :DO=\E[%dB:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:bs:bt=\E[Z:\
         :cd=\E[J:ce=\E[K:cl=\E[H\E[J:cm=\E[%i%d;%dH:ct=\E[3g:\
         :do=^J:nd=\E[C:pt:rc=\E8:rs=\Ec:sc=\E7:st=\EH:up=\EM:\
         :le=^H:bl=^G:cr=^M:it#8:ho=\E[H:nw=\EE:ta=^I:is=\E)0:\
         :li#48:co#104:am:xn:xv:LP:sr=\EM:al=\E[L:AL=\E[%dL:\
         :cs=\E[%i%d;%dr:dl=\E[M:DL=\E[%dM:dc=\E[P:DC=\E[%dP:\
         :im=\E[4h:ei=\E[4l:mi:IC=\E[%d@:ks=\E[?1h\E=:\
         :ke=\E[?1l\E>:vi=\E[?25l:ve=\E[34h\E[?25h:vs=\E[34l:\
         :ti=\E[?1049h:te=\E[?1049l:us=\E[4m:ue=\E[24m:so=\E[3m:\
         :se=\E[23m:mb=\E[5m:md=\E[1m:mh=\E[2m:mr=\E[7m:\
         :me=\E[m:ms:\
         :Co#8:pa#64:AF=\E[3%dm:AB=\E[4%dm:op=\E[39;49m:AX:\
         :vb=\Eg:as=\E(0:ae=\E(B:\
 
:ac=\140\140aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~..--++,,hhII00:\
         :k0=\E[10~:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:\
         :k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:\
         :F1=\E[23~:F2=\E[24~:F3=\E[25~:F4=\E[26~:F5=\E[28~:\
         :F6=\E[29~:F7=\E[31~:F8=\E[32~:F9=\E[33~:FA=\E[34~:kb=^?:\
         :K2=\E[G:kh=\E[1~:@1=\E[1~:kH=\E[4~:@7=\E[4~:kN=\E[6~:\
         :kP=\E[5~:kI=\E[2~:kD=\E[3~:ku=\EOA:kd=\EOB:kr=\EOC:\
         :kl=\EOD:
WINDOW=0
SHELL=/bin/csh

The shell and all started programs are misbehaving and/or treating the 
terminal as "dumb". For example, "mc" writes this:

lara:/home/ivoras# mc
Unknown terminal: screen
Check the TERM environment variable.
Also make sure that the terminal is defined in the terminfo database.
Alternatively, set the TERMCAP environment variable to the desired
termcap entry.

There really isn't a termcap line in /etc/termcap beginning with 
^screen, but there is one beginning with ^SC containing the entry which 
is also in the environment listing above (which fails with the same 
error if I set it).

The system works if I set some other terminal type like "xterm".

Any ideas? Why is the "screen" terminal type so special?




More information about the freebsd-stable mailing list