为什么终端中的反色颜色变为斜体

为什么终端中的反色颜色变为斜体

我通过 ssh/mosh 连接到两台具有相同设置的服务器(据我所知)。

但是,当服务器 A 上的输出为反色(背景颜色 <=> 正面颜色)时,它在 B 上显示为斜体。所有内置命令都会发生这种情况。例如,

cal

在此输入图像描述

当前日期以反色显示,但在服务器 B 中:

在此输入图像描述

我努力找出两台服务器之间的区别,但无济于事。

它似乎与我的 ssh、centos 或终端 (zsh) 设置无关。

答案1

“反色”是终端的脱颖而出功能,通常使用反向视频完成(颜色无关紧要)。运行的程序screen可能会发送转义序列脱颖而出,但是screen程序碰巧解释了标准转义序列斜体作为脱颖而出特征。 所以它发送斜体

如果您实际上没有使用screen,那么您正在使用一些复制该(错误)功能的程序。

针对评论:tmux 首先使用为 GNU 屏幕设计的终端描述,该描述以斜体序列作为突出功能。 tmux 的更高版本首先查找为 tmux 设计的描述。您可以使用 infocmp 查看该功能:

$ infocmp screen tmux    
comparing screen to tmux.
    comparing booleans.
    hs: F:T.
    comparing numbers.
    ncv: NULL, NULL.
    comparing strings.
    dsl: NULL, '\E]0;\007'.
    fsl: NULL, '^G'.
...
    kri: NULL, '\E[1;2A'.
    ritm: NULL, '\E[23m'.
    rmso: '\E[23m', '\E[27m'.
    sgr: '\E[0%?%p6%t;1%;%?%p1%t;3%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;m%?%p9%t\016%e\017%;', '\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p7%t;8%;m%?%p9%t\016%e\017%;'.
    sitm: NULL, '\E[3m'.
    smso: '\E[3m', '\E[7m'.
    tsl: NULL, '\E]0;'.

smso是个脱颖而出能力,同时sitmritm设置/重置斜体。

答案2

检查两台服务器上的 TERM 环境变量。

如果您将保存的配置文件用于不同的连接,请检查终端应用程序中的相应设置。

相关内容