Jan C Asked: 2021-12-01 02:40:44 +0800 CST2021-12-01 02:40:44 +0800 CST 2021-12-01 02:40:44 +0800 CST 未设置 TERM 系统环境变量 - Windows 10 772 所以我错误地删除了一堆我的环境变量...... 我无法理解的是TERM,一个系统变量。这应该是指Windows终端吗?我应该将其设置为什么值? windows-10 environment-variables 2 个回答 Voted Best Answer user1686 2021-12-01T05:10:17+08:002021-12-01T05:10:17+08:00 没关系。无论操作系统如何,都不TERM应在系统范围内定义。 一般来说,环境是每个进程的东西。“系统”或“用户”列表都只用于在登录时初始化环境变量,但之后“当前”环境从父进程复制到子进程,每个进程都可以改变自己的环境而不影响其余进程系统的。 的目的TERM是描述连接到这个特定进程的输入/输出的终端类型。TERM 对图形程序(甚至包括终端本身)没有意义,并且终端之间的价值可能会有所不同,因为它们具有不同的功能。例如,如果您同时运行 Xterm 和 Urxvt,您将在一个中看到“TERM=xterm”,而在另一个中看到“TERM=rxvt-unicode”。 因此,只有终端应用程序本身应该为其子进程设置 TERM。(我不确定 Windows 上的 Conhost 是否可行,因为它是控制台应用程序的子应用程序而不是父应用程序。) Ncurses terminfo 数据库具有ms-terminalWindows 终端应用程序的 TERM 定义,尽管xterm或xterm-256color“足够兼容”(这是大多数应用程序都理解的,所以它是大多数新终端试图模仿的)。 同样,MinTTY(Cygwin 终端)mintty在 Ncurses 中有 terminfo 文件,但也大多xterm兼容。Windows 控制台 (Conhost) 可能会使用ms-vt100+or ms-vt100-color。 (话虽这么说,在 Windows 终端本地运行的应用程序通常无需 TERM 即可运行,因为它们已经知道自己在 Windows 上运行,或者因为它们假设整个世界都与 xterm 兼容,或者因为它们不使用终端首先是模拟(即他们使用旧的 Windows“控制台”API)。然而,当你 'ssh' 到另一个主机时,SSH 客户端应该发送一个 TERM 值以在服务器上设置。) Glorfindel 2021-12-01T02:55:10+08:002021-12-01T02:55:10+08:00 TERM 在基于 unix 的系统中广泛使用,但在 Windows 中没有使用。你不需要设置它(我的 Windows 10,一个非常标准的开发机器,没有它)。
没关系。无论操作系统如何,都不
TERM
应在系统范围内定义。一般来说,环境是每个进程的东西。“系统”或“用户”列表都只用于在登录时初始化环境变量,但之后“当前”环境从父进程复制到子进程,每个进程都可以改变自己的环境而不影响其余进程系统的。
的目的
TERM
是描述连接到这个特定进程的输入/输出的终端类型。TERM 对图形程序(甚至包括终端本身)没有意义,并且终端之间的价值可能会有所不同,因为它们具有不同的功能。例如,如果您同时运行 Xterm 和 Urxvt,您将在一个中看到“TERM=xterm”,而在另一个中看到“TERM=rxvt-unicode”。因此,只有终端应用程序本身应该为其子进程设置 TERM。(我不确定 Windows 上的 Conhost 是否可行,因为它是控制台应用程序的子应用程序而不是父应用程序。)
Ncurses terminfo 数据库具有
ms-terminal
Windows 终端应用程序的 TERM 定义,尽管xterm
或xterm-256color
“足够兼容”(这是大多数应用程序都理解的,所以它是大多数新终端试图模仿的)。同样,MinTTY(Cygwin 终端)
mintty
在 Ncurses 中有 terminfo 文件,但也大多xterm
兼容。Windows 控制台 (Conhost) 可能会使用ms-vt100+
orms-vt100-color
。(话虽这么说,在 Windows 终端本地运行的应用程序通常无需 TERM 即可运行,因为它们已经知道自己在 Windows 上运行,或者因为它们假设整个世界都与 xterm 兼容,或者因为它们不使用终端首先是模拟(即他们使用旧的 Windows“控制台”API)。然而,当你 'ssh' 到另一个主机时,SSH 客户端应该发送一个 TERM 值以在服务器上设置。)
TERM 在基于 unix 的系统中广泛使用,但在 Windows 中没有使用。你不需要设置它(我的 Windows 10,一个非常标准的开发机器,没有它)。