NetBSD-Users archive

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

Re: How to install rxvt-unicode-256color termcap entry on machine without X

At date and time Sat, 31 May 2014 11:40:14 +0930, Brett Lymn wrote:

> On Fri, May 30, 2014 at 10:42:04PM +0100, atomicules wrote:
> > On 30-May-2014 14:31:11, Gerard Lally wrote:
> > >I copied this terminfo source file to my home directory in NetBSD and
> > >ran tic on it:
> > >
> > >tic -s rxvt-unicode-256color.terminfo.
> > >
> > >This created a .terminfo directory in HOME, and a subdirectory r with a
> > >single file in r called rxvt-unicode-256color. No cdb extension in other
> > >words.
> > 
> > I'm stumped and confused. I don't understand how NetBSD could do that 
> > (not create a database file; a file with the .cdb extension). 
> > According to the man page for tic:
> > 
> > >    The tic utility compiles terminfo(5) source into a database for use by
> > >    other programs.  The created database path name is the same as the 
> > >    source
> > >    but with .cdb appended.
> > 
> > The .terminfo directory and subdirecotry you describe is what I see on Arch
> > Linux, but not NetBSD.
> Make sure you run the right tic - if you have ncurses installed due to
> some package dependency you may be accidentally running the ncurses tic
> which will produce the wrong results, try using /usr/bin/tic and see
> what happens.  This catches me out from time to time.

Well I finally found a way around it, although it feels like a kludge,
but it's working now. There is only one tic by the way, in /usr/bin/tic.

I'll give a summary in case someone else stumbles over this issue.

Three machines:

remote  = remote NetBSD without X11 (and therefore without rxvt-unicode)
local   = local X11 client with rxvt-unicode terminal installed
vm      = temporary local NetBSD virtual machine with X11 and rxvt-unicode

I installed NetBSD 6.1.4 with X11 on $vm, and installed rxvt-unicode on
that machine. Running "make install" created three files in the
doc/etc/ subdirectory of the working source directory. These three files


I copied these files to $HOME on $remote, and logged in to $remote from
$local. Once again I ran tic on $remote:

        $ tic -s rxvt-unicode.terminfo

But once again this failed to create a file with extension .cdb,
although it did report successfully adding 2 entries to the database,
creating ~/.terminfo and ~/.terminfo/r/, together with the two files
rxvt-unicode and rxvt-unicode-256color in ~/.terminfo/r/.

Once again "top" reported an error: "no termcap entry for

Now this is where I returned to the tic(1) and terminfo(5) man pages on
$remote, but to my mind they are not clear here. terminfo(5) specifies
the file $HOME/.terminfo.cdb as the database which contains terminal
descriptions for personal use, but tic(1) doesn't seem to care, just
saying that "the created database path name is the same as the source
but with .cdb appended." I take that to mean "tic -s rxvt-unicode.terminfo"
should produce a file named rxvt-unicode.terminfo.cdb in $HOME. Needless
to say it doesn't.

At this point I took terminfo(5) literally and created $HOME/.terminfo.cdb
by renaming the rxvt-unicode.terminfo.cdb file I had copied from $vm.
Lo and behold that solved the problem straight away! "top" was happy,
although "tput" complained about an unknown terminal but I solved this
by logging in as root and running "tic -s /home/gerard/rxvt-unicode.terminfo",
which created these two files:


Now tput was happy as well. Problem solved, in a most convoluted way!
I'm sure there must be an easier and less stressful way to solve this
but I don't have the knowledge or time to go into it too deeply. All I
want is a good terminal that works!

Thanks to you and atomicule for the help.

Gerard Lally

Home | Main Index | Thread Index | Old Index