如何在screen会话中配置默认TERM?

4
当在SCREEN会话中调用vi时,我经常遇到错误:
bash-3.2$ vi perf332.db2
ex: 0602-108 screen is not a recognized terminal type.
  [Press return to continue]

[Using open mode]

当我明确地导出TERM=xterm或其他内容时,它工作正常。

我的SCREEN运行在一个Linux服务器上,我从那里通过SSH连接到一个AIX服务器。

2个回答

3
默认的screen终端的TERM变量是TERM=screen。这是它应该被设置的方式。
你可以考虑将类似以下内容放到你的.bashrc中,以在使用screen时将TERM变量更改为xterm。
if [[ $TERM = screen ]]; then
    export TERM=xterm
fi

然而,我不建议这样做,因为这可能会让其他应用程序困惑。

似乎vi不知道如何在TERM变量设置为screen时向屏幕发送命令。解决问题的另一种方法是安装vim,它可以理解如何与屏幕通信。


1

尝试将shell -$SHELL放入您的~/.screenrc文件中


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接