我可以通过ssh访问远程计算机。在这台机器上,如果我跑步,echo $TERM
我会得到xterm
。
如果我想将终端仿真器更改为其他仿真器(假设它已安装在远程计算机上),我该怎么做?
我可以通过ssh访问远程计算机。在这台机器上,如果我跑步,echo $TERM
我会得到xterm
。
如果我想将终端仿真器更改为其他仿真器(假设它已安装在远程计算机上),我该怎么做?
Answers:
服务器(在系统V或BSD中,派生的OS)使用环境变量TERM的值来控制系统如何识别输入以及存在哪些输出能力。某些终端类型非常相似,可以互换而仍保持有用,而另一些则可以使系统无法使用,直到您打开具有TERM支持值的新连接。例如,从一个Linux系统到另一个Linux系统,vt100,vt220和xterm设置之间的差异可能很小。大多数差异在于输出的显示方式以及该类型的终端是否可以使用颜色或粗体字体。termcap数据库列出了所有终端类型及其各种功能。
只要您不切换到键盘和屏幕不兼容的终端类型,就可以了。
请阅读系统上的术语手册页和termcap,以获取更多信息。
要更改终端类型:
在bash中:
export TERM=vt100
在bourne shell或ksh中:
TERM=vt100
export TERM
在csh或tcsh中:
setenv TERM vt100
vt100
是一个非常安全的终端,可以开始使用。它与xterm兼容,但是不显示颜色或粗体字体,并且可能无法识别您的F *键,但是您不太可能使用vt100弄乱任何内容。
许多人在个人初始化脚本中使用终端检测来优化用户体验,这取决于他们如何登录服务器。例如,如果您使用的是vt100,请设置一个普通PS1;在xterm中使用bash时,请使用颜色和动态变量。
祝您研究顺利。
你误会了
您在本地的控制台或终端或PuTTY实例是实际的“终端仿真器”,尽管如今我们只是将其简称为“终端”。当人们实际使用监视器和键盘终端而不是使用多个控制台和图形用户环境来登录大型机服务器时,这种用法就产生了。
$ TERM变量仅告诉远程系统您的终端在发送它们时将理解哪种控制代码(例如,生成基于文本的菜单或任何基于libncurses的内容)。
我不确定您到底想完成什么,但是更改$ TERM可能无济于事。
Ubuntu 11.10
在我的本地机器上和Red Hat Enterprise Linux Server release 5.4 (Tikanga)
在远程机器上)
$TERM
变量。另外,我并不是要问这个问题,其唯一目的就是为另一个问题/问题找到解决方案。如果有的话,我的其他问题的动机这个问题。最后,我认为通过问这个问题来了解有关终端仿真器如何工作的更多信息没有任何问题。
TERM
变量。当您登录到不知道新终端名称的旧系统时,这是非常必要的(在过去的15年左右,没有太多新的终端类型,大多数终端仿真器都将其样式设置为xterm
)。TERM
是终端类型程序相信他们正在与之交谈的对象,它并不会改变终端的实际含义。