每当我尝试在终端窗口中使用命令clear
时,我都不能,因为:
'dtterm': unknown terminal type.
或
'xterm': unknown terminal type.
或
'ansi': unknown terminal type.
我尝试更改首选项菜单上的终端类型,但没有成功。我该怎么办?
答案 0 :(得分:1)
定义TERM环境变量:
# export TERM=xterm
此更改仅适用于当前的终端会话。如果要将其永久化,则必须将该导出添加到~/.bashrc
文件中。如果您想让所有用户永久更改,您可以修改/etc/profile
文件或在/etc/profile.d/
答案 1 :(得分:1)
Terminal.app根据菜单项设置TERM
环境变量,因此导出它不能解决问题。 (设置TERM
有关于Terminal.app行为的no effect,但这是一个不同的事情。)
OSX(和大多数类似Unix的)系统使用 terminfo 来查找终端信息。如果设置了环境变量TERMINFO
,则ncurses库使用该路径优先于编译位置(应该与安装位置匹配)。
您的shell可能已设置TERMINFO
变量(例如,通过从其他计算机复制设置)。从shell初始化中删除它(例如~/.profile
或~/.bashrc
)是解决这个问题的一种方法。
或者,您可能(如 tput: unknown terminal “xterm-256color” )安装了一些与系统上的ncurses库冲突的未提及的包。在那个讨论中,似乎有人构建了ncurses库,这些库已经将TERMINFO
的默认编译为一个不存在的位置。对于这种情况,我指出OP可以设置TERMINFO
来告诉损坏的库在哪里找到终端数据库。也就是说,
export TERMINFO=/usr/share/terminfo
将是第一步。