jwb*_*ley 12 colors ssh terminal
我的本地 Linux 机器有这样的彩色终端输出;
当我通过 SSH 连接到 pfSense/BSD 盒子时,它会像这样改变颜色;
即使当我从没有彩色本地终端输出的机器 SSH 和从那里 SSH 到这个 pfSense/FreeBSD 框时,它也会启用彩色输出,并开始产生不需要的彩色输出/
有什么我可以在本地更改的,以便当我从本地机器或通过中间机器通过 SSH 连接到 pfSense 框时,我的客户端将忽略远程颜色设置。理想情况下,我只想保持黑白,两种色调标准背景和文字颜色?
终端中出现颜色是因为 tty 发送 ANSI 编码的控制序列来告诉您的终端更改颜色。有些(如果不是大多数)终端应用程序可以配置为忽略这一点,只以一种颜色显示所有文本。
在 中xterm
,您可以使用该-cm
选项。对于 Konsole,您可以将所有颜色的映射更改为相同的。您的 XFCE 终端应用程序可能有类似的选项。
将TERM
变量更改为某个兼容但不支持颜色的条目可能会起作用。喜欢:
TERM=xterm-old
Run Code Online (Sandbox Code Playgroud)
基本上,您需要一个TERM
FreeBSD 系统已知的 termcap 或 terminfo 数据库,它们TERM=the-term tput colors
不返回正数,而对于 GNU ls,则需要一个不dircolors -p | grep -x 'TERM the-term'
返回任何内容的数据库。无论终端是否声称支持它,它可能仍然不适用于输出颜色转义序列的应用程序。
或者,您可以使用 GNUscreen
禁用颜色,例如(zsh 语法):
screen -c =(printf %s\\n "termcapinfo * 'AF=\E[1m:AB=\E[7m'") ssh ...
Run Code Online (Sandbox Code Playgroud)
这将在每次尝试设置前景色时启用粗体,并在每次尝试设置背景色时反转。
我认为这一切都归结为 FreeBSD 假设终端背景是黑色(或至少是黑色)的事实。在您使用xterm
而不是的地方xfce-terminal
,您可以动态更改背景和前景色和/或各个颜色以设置不同的颜色配置文件。这是通过转义序列完成的,但您也可以使用xtermcontrol
更简单的命令。
小智 2
键入以下命令将其删除:
$ ls --color=none
Run Code Online (Sandbox Code Playgroud)
或使用unalias
以下方法删除它:
$ unalias ls
Run Code Online (Sandbox Code Playgroud)