Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4041057
  • 博文数量: 366
  • 博客积分: 9916
  • 博客等级: 中将
  • 技术积分: 7195
  • 用 户 组: 普通用户
  • 注册时间: 2011-05-29 23:27
个人简介

简单!

文章分类

全部博文(366)

文章存档

2013年(51)

2012年(269)

2011年(46)

分类: LINUX

2013-01-05 18:02:30

       Linux环境下,编译嵌入式系统时会用到make menuconfig或make config命令,这些命令通常会使用ncurses库,如果ncurses库没有安装设置正确,可能出现如下的错误信息:

  1. error opening terminal Linux
  2. error opening terminal xterm
  3. error opening terminal vt100
  4. error opening terminal vt102
  5. error opening terminal unknown
  6. error opening terminal cgywin
  7. ...


解决办法:

 

      1. 首先要确定ncurses库是否已经正确安装。在debian, 上,可以用dpkg -l | grep ncurses 查看ncurses库是否已安装。

       2. 如果ncurses已经安装了,需要查看TERM, TERMINFO两个环境变量是否已经设置正确。如果没有设置正确,需要设置为正确的值。

  1. $ echo $TERM
  2. $ echo $TERMINFO

       关于TERMINFO, 应设置为terminfo的路径,比如/usr/share/terminfo 或者 /lib/terminfo。查看terminfo的存储位置用一下指令:

  1. $ whereis terminfo
  2. terminfo: /etc/terminfo /lib/terminfo /usr/share/terminfo /usr/share/man/man5/terminfo.5.gz

       查看terminfo目录下是否保存了终端信息文件:其中通常分为a, b, c, d...z这些字母目录,每个目录中包含了以该字母开头的term信息。比如vt100放在"v"目录中。我们需要的term,必须在对应的目录中存在 term信息。确定这些信息后,就可以设置TERM和TERMINFO信息:

  1. $ export TERM=vt100
  2. $ export TERMINFO=/usr/share/terminfo
上面的设置必须保证/usr/share/terminfo中存在term信息,且/usr/share/terminfo/v/vt100是存在的。

       关于TERM的设置,有可能需要设置成Linux, vt100-putty等不同的TERM。Linux通常用于Linux控制台,vt100-putty顾名思义是使用putty远程登录的vt100终端。


以下是在Ubuntu12.10环境下,解决了此问题后TERM和TERMINFO两个环境变量的值。

  1. $ echo $TERM
  2. xterm
  3. $ echo $TERMINFO
  4. /lib/terminfo/
阅读(4258) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

txgc_wm2013-01-06 00:26:52

自己顶一下!