如何将xterm添加到terminfo

我正在使用Xilinx的petalinux工具来构建和使用嵌入式Linux。 我的主机开发机器是运行Ubuntu 14.04.1 LTS的VM。 我的主板是带有Xilinx Z7045 Zynq SoC的Xilinx ZC706。

发出某个命令时( petalinux-boot --JTAG -- Whatever/option/I/use ),我收到一条警告说

 rlwrap: $TERM is xterm but rlwrap can't find it in the terminfo database. Expect some problems. Inappropriate IOCTL for device 

我已经google搜索并研究了足够的知道rlwrap是一个readline包装器,它只是包装命令。 我知道$TERM是一个环境变量,它告诉应用程序它必须与哪个终端(或更具体地说,终端接口规范)进行交互,并且terminfo是一个包含实际接口规范的数据库(/ r / n颜色)或不,等等)。

当我运行ls /usr/share/terminfo/x ,可能有20或30个xterm-XXXXXxtermX变体,但是没有名为xterm的文件。 我目前认为这可能是上述警告的原因。

当我收到上述警告时,它是在将比特流下载到器件的FPGA部分或使用Xilinx的XMD(xilinx微处理器调试器)将linux映像下载到处理器端的过程中。 这些过程使用嵌入式JTAG模块,该模块通过USB电缆连接到我的主机。

如何在terminfo数据库中获取/安装普通xterm条目?

所以我想出来了。 /lib/terminfo/有另一个编译的terminfo目录。 我只需要将xterm文件从那里复制到上面的目录,所以:

 sudo cp /lib/terminfo/x/xterm /usr/share/terminfo/x 

petalinux(实际上是Yocto)的安装依赖包括ncurses。 我想也许在安装过程中,terminfo xterm文件要么没有被复制到相应的目录,要么petalinux指示编译的文件在这个其他目录中。 我不知道。 警告已停止。