如何将 xterm 添加到 terminfo

如何将 xterm 添加到 terminfo

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

当我发出某个命令时(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 映像下载到处理器端的过程中。这些过程使用通过 USB 电缆连接到我的主机的嵌入式 JTAG 模块。

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

答案1

所以我搞明白了。 中还有另一个已编译的 terminfo 目录/lib/terminfo/。我只需要将 xterm 文件从那里复制到上述目录,因此:

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

petalinux(实际上是 Yocto)的安装依赖项包括 ncurses。我认为在安装过程中,terminfo xterm 文件可能没有复制到适当的目录,或者 petalinux 指示编译后的文件位于另一个目录中。我不知道。警告已停止。

相关内容