在 xterm 中运行时禁用颜色

在 xterm 中运行时禁用颜色

我想在xterm运行时禁用颜色。原因是某些程序缺乏以正确方式使用它们的理智。

例如:

$ sane-program
color output

$ disable-color
$ less-sane-program
black-white output

$ enable-color
$ sane-program
color output

我知道我可以使用xterm -cm或更改colorMode我的~/.Xdefaults,但这需要重新开始xterm。我尝试设置TERMxterm-old或无效字符串 ( arggggh),但仍然有颜色。xtermcontrol也没有选择。

Ctrl+右键单击并取消选择“允许色彩操作”似乎也没有做任何事情(如果这有效的话那就很酷了)。

过滤掉颜色代码sed是我现在使用的解决方法,但这不适用于交互式程序......

答案1

简而言之:如果您不想启动新的 xterm,则无法抑制颜色。

长的:

  • 当你可以更改TERM为不使用颜色的描述(例如xterm-old),某些应用程序不使用终端数据库。例如,GNU ls 使用它自己的程序,该程序坚持认为vt100 是彩色终端。其他程序可能只是简单地对其行为进行硬编码。
  • 允许颜色操作菜单项是allowColorOps资源:
       allowedColorOps(AllowColorOps 类)
               指定是否设置/查询动态控制序列
               应该允许颜色。 ANSI 颜色不受此影响
               资源设置。默认值为“true”。

为了讨论动态色彩, 看XTerm 控制序列

相关内容