如何设置默认控制台背景/前景色?

如何设置默认控制台背景/前景色?

我必须使用 PuTTY 管理几十台 Linux Debian 机器(有时也使用 MacOS 上的 Terminal)。通常,经过几个小时的工作后,就会打开许多​​控制台窗口。

我想将每个框配置为使用不同的(随机)背景颜色,这样就可以在任何特定时间对我输入的系统有强烈的视觉反馈。我只是想避免错误,例如将数据从测试系统复制到生产系统,而不是反过来。

请告知如何设置系统以便可以定义默认控制台背景/前景颜色。我知道如何在 PuTTY 配置中执行此操作,但我需要在系统本身上进行此设置,因为我不想为每个系统设置特殊的 PuTTY 配置,而且它在 MacOS X 终端上的工作原理也应该完全相同。

答案1

在我必须手动操作的系统上,putty 会将自己标识为 xterm。这基本上为您提供了 8 种颜色供您使用

您可以使用设置背景颜色

tput setab n; tput clear

其中 n 为 0-7。您可以通过更改 $TERM 的值来扩展它,以便

export TERM=xterm-256color 

将允许 256 种颜色 0-255。

对于某些背景,你肯定想要更改前景色的使用

tput setaf n ; tput clear

再次,n 取决于终端类型。

reset在玩颜色组合时,该命令非常方便。

答案2

我定义这个 bash 函数,然后调用它来生成 RXVT 的命令行选项。

ForegroundBackground () 
{ 
  R1=$((RANDOM % 255));
  G1=$((RANDOM % 255));
  B1=$((RANDOM % 255));
  R2=255;
  G2=255;
  B2=255;
  CR=$((255-R1));
  CG=$((255-G1));
  CB=$((255-B1));
  BBG=$(( ( R1 * 299 + G1 * 587 + B1 * 114 ) / 1000));
  if [[ $BBG -gt 125 ]]; then
    R2=0;
    B2=0;
    G2=0;
  fi;
  printf -- "-bg #%02x%02x%02x -fg #%02x%02x%02x -cr #%02x%02x%02x\n" $R1 $G1 $B1 $R2 $G2 $B2 $CR $CG $CB;
}

相关内容