我 ssh/mosh 进入具有相同设置的两台服务器(据我所知)。
但是,当服务器 A 上的输出为反转颜色(背景颜色 <=> 正面颜色)时,它在 B 上显示为斜体。所有内置命令都会发生这种情况。例如,
cal
当前日期以反色显示,但在服务器 B 中:
我努力想弄清楚两台服务器之间的区别是什么,但无济于事。
它似乎与我的 ssh、centos 或终端 (zsh) 设置无关。
“反转颜色”是终端的突出功能,通常使用反向视频完成(颜色无关紧要)。运行的程序screen
可能会发送standout的转义序列,但screen
程序碰巧将斜体的标准转义序列解释为突出特征。 所以它发送斜体。
如果您实际上没有使用screen
,那么您正在使用一些复制该(错误)功能的程序。
解决一个评论:tmux 开始使用为 GNU screen 设计的终端描述,它有这个斜体序列作为突出的能力。更高版本的 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;'.
Run Code Online (Sandbox Code Playgroud)
smso
是突出的功能,whilesitm
和ritm
set/reset 斜体。