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

Jim Ramsay i.am at jimramsay.com
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:\
>>:
>>:ac=+\257,\256-^0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\
>>:304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330~\376:\
>>:
>>     :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'
>>entry.
>>
> 
> 
> 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