Changing /etc/termcap in 4.8 - How can I?

Jim Ramsay at
Wed Dec 17 08:16:27 PST 2003

Malcolm Kay wrote:

> On Wed, 17 Dec 2003 06:47, Jim Ramsay wrote:
>>I have tried to add an extra entry to /etc/termcap:
>>rxvt-cygwin-native|rxvt terminal emulator (native MS Windows/Cygwin):\
>>     :pa#64:Co#8:AF=\E[3%dm:AB=\E[4%dm:op=\E[39;49m:\
>>     :tc=rxvt-mono:
>>to try to get linedrawing characters working correctly in my connection
>>from my work computer (cygwin/ssh) to my freebsd machine at home.
>>1) I edited the file as root and put it just after the existing 'rxvt'
> The directory entry /etc/termcap is normally a symbolic link to 
> /usr/share/misc/termcap, which I think you already realised.
> The tricky bit is what happens when you attempt to edit a file via a 
> symbolic link. Either of two things can happen depending on the editor you
> are using:
> 1) You actually edit the file at the end of the link and the link remains 
> intact.

I used "vim" and I think that this occurred.

> 2) The editor presents you with the text from the file at the end of the link
> but on saving the changes deletes the link and substitutes the changed text as 
> a file. The file that was at the end of the link remains unchanged.
> So you should make sure /etc/termcap is still a link to 
> /usr/share/misc/termcap.
> Now go to /usr/share/misc and edit termcap and then execute cap_mkdb.

I have tried this also, but no difference in tcsh's behaviour.

I have even tried editing termcap.src in /usr/src/share/termcap/ and 
doing a 'make install' there to see if I'm missing a step... but no luck.

I also received an off-list tip from Karl Vogel:

 >    I've noticed that both zsh and tcsh can get really snotty if the
 >    environment variables are not set in this order:
 >     unsetenv TERMCAP
 >     unsetenv TERMINFO
 >     unsetenv TERM
 >     setenv TERMCAP /path/to/your/termcap/file  (or actual termcap entry)
 >     setenv TERMINFO /path/to/your/terminfo/directory
 >     setenv TERM xterm

But neither TERMCAP nor TERMINFO are set in my normal tcsh environment. 
  I have tried setting and unsetting them in the order given here and 
many other permutations, to no success.

I have tried logging out and back in again, in case tcsh caches termcap 
somewhere that isn't updated without re-running tcsh, but I don't think 
this is the case.

The only thing I haven't tried yet is rebooting - technically I don't 
think I would have to.

Is there some utility somewhere that can tell me if I've got a typo in 
my termcap or something which would prevent tcsh from reading my new 
entry properly?

I suppose could write my own curses program to do this... maybe.

Is there some utility somewhere which will translate my termcap into 
terminfo so I can try that?  Why is there no terminfo stuff in FreeBSD 4.8?

Jim Ramsay

More information about the freebsd-questions mailing list