更改终端模拟器

Ame*_*ina 11 terminal-emulator terminal xterm

我可以通过 ssh 访问远程机器。在这台机器上,如果我运行,echo $TERM我会得到xterm.

如果我想将我的终端模拟器更改为其他模拟器(假设它安装在远程机器上),我该怎么做?

Tim*_*edy 16

服务器使用环境变量 TERM 的值(在系统 V 或 BSD 派生操作系统中)来控制系统如何识别输入,以及输出的能力。某些终端类型非常相似,它们可以互换而仍然有用,而其他终端类型可能会使系统无法使用,直到您打开具有支持的 TERM 值的新连接。例如,从一个 Linux 系统到另一个 Linux 系统,您可能会发现 vt100、vt220 和 xterm 设置之间的差异很小。大多数差异在于输出的显示方式,以及该类型的终端是否可以使用颜色或粗体。termcap 数据库列出了所有终端类型及其各种功能。

只要您不切换到键盘和屏幕不兼容的终端类型,就可以了。

阅读系统上 term 和 termcap 的手册页以获取更多信息。

要更改终端类型:

在 bash 中:

export TERM=vt100
Run Code Online (Sandbox Code Playgroud)

在 bourne shell 或 ksh 中:

TERM=vt100
export TERM
Run Code Online (Sandbox Code Playgroud)

在 csh 或 tcsh 中:

setenv TERM vt100
Run Code Online (Sandbox Code Playgroud)

vt100是一个非常安全的终端开始玩。它与 xterm 兼容,但不显示颜色或粗体,并且可能无法识别您的 F* 键,但您不太可能使用 vt100 搞砸任何事情。

许多人在个人 init 脚本中使用终端检测来优化他们的用户体验,这取决于他们如何登录服务器。例如,如果您使用的是 vt100,则设置一个普通的 PS1,在 xterm 中使用 bash 时使用颜色和动态变量。

祝你研究顺利。

  • @intrpc 请注意,很少需要更改“TERM”变量;当您登录到不知道新终端名称的旧系统时,这是最有必要的(并且在过去 15 年左右的时间里没有很多新终端类型,大多数终端模拟器将自己的样式设置为 `xterm `)。`TERM` 是终端类型程序认为它们正在与之交谈的内容,它不会改变终端的实际内容。 (3认同)

Sha*_*dur 9

你误会了。

本地端的控制台或终端或 PuTTY 实例是实际的“终端模拟器”,即使现在我们只是将其缩写为“终端”。这种用法源于人们实际使用显示器和键盘终端登录大型机服务器而不是使用多个控制台和图形用户环境。

$TERM 变量只是告诉远程系统您的终端在发送它们时将理解哪种控制代码(例如,生成基于文本的菜单或基于 libncurses 的任何内容)。

我不确定您到底想要完成什么,但更改 $TERM 可能无济于事。