![如何设置默认控制台背景/前景色?](https://linux22.com/image/614913/%E5%A6%82%E4%BD%95%E8%AE%BE%E7%BD%AE%E9%BB%98%E8%AE%A4%E6%8E%A7%E5%88%B6%E5%8F%B0%E8%83%8C%E6%99%AF%2F%E5%89%8D%E6%99%AF%E8%89%B2%EF%BC%9F.png)
我必须使用 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;
}