每次打开终端时自动获取不同的终端颜色

每次打开终端时自动获取不同的终端颜色

我经常发现自己打开了三个终端,并且我真的很喜欢每个终端都有不同的调色板的外观和感觉。

我保存了几个调色板,我希望每次打开终端时,默认都会浏览我保存的配置文件,这样,如果我打开 3 个,它们每个都是不同的颜色,而无需我手动更改 2 个上的配置文件。

有什么想法吗?

谢谢!

答案1

一种选择是使用xfce4-terminal。它与默认的 Ubuntu 终端(即gnome-terminal)非常相似,并且它的许多依赖包都使用 gtk 组件,这使它成为一个合适的替代方案。

首先安装

sudo apt-get install xfce4-terminal

然后打开它,转到编辑->优先, 选择颜色选项卡并检查以下选项:改变每个标签的背景颜色,然后立即退出。

设为默认终端或者更改为打开它的xfce4-terminal快捷方式。Ctrl-Alt-T

现在,每次打开时,您都会看到不同的调色板。 不同颜色的终端

有用的链接:

答案2

功能版本

指示:

此脚本认为您正在使用gnome 终端,这是默认的 Ubuntu 终端。

在运行脚本之前,打开gnome 终端并创建一些配置文件(编辑>首选项>配置文件),并根据需要使用不同的设置(背景颜色、文本颜色等)。您可以将它们命名为 Profile1、Profile2、Profile3 等等。创建足够的配置文件以覆盖将要打开的终端数量,但如果打开的终端数量较多,则将使用默认配置文件。

该脚本创建一个文件〜/ .Bash_Color_Changer这取决于它,因为它会告诉脚本终端是定期打开的还是在调用后打开的.bashrc

将脚本添加到~/.bashrc文件。

脚本:

添加.bashrc

#Change color according to the number of Bash shells opened
#Creates the .Bash_Color_Changer file if it's not present
if ! [ -f ~/.Bash_Color_Changer ]; then
    echo ORIGINAL > ~/.Bash_Color_Changer
fi

#Array holding the name of the profiles: Substitute it for the names you're using
Color_counter=(Profile1 Profile2 Profile3)
#Finds out the number of opened bashs counting the lines containing "bash"
#in the pstree function. (-c deactivates compact display to avoid it showing
#lines with "2*[bash]" instead of one for each bash)
Number_of_bashs=$(($(pstree -c | grep "bash" | wc -l)-1))

#Checks if the terminal being opened was opened by the user or by
#the script, and act according to it
if [ $(cat ~/.Bash_Color_Changer) = ORIGINAL ]; then 
    if ((Number_of_bashs < ${#Color_counter[*]})); then
        echo COPY > ~/.Bash_Color_Changer
        gnome-terminal --tab-with-profile-internal-id=${Color_counter[${Number_of_bashs}]} 
        exit
    fi
else 
    echo ORIGINAL > ~/.Bash_Color_Changer
fi

已测试但范围不广。尽情享受吧!

答案3

哈哈,很有意思。我可能也会尝试这样做。我主要只运行多个终端和一个浏览器。

所以我环顾四周,发现了这个 -https://github.com/sos4nt/dynamic-colors。一个非常简洁的小项目,可以帮助您实现部分目标。

现在,在该项目的目录中colorschemes/,您将看到它目前有 4 种配色方案。您可以根据需要添加任意数量。

因此,为了让每个终端选择不同的配色方案,我会在我的.bash_profile.bashrc任何地方添加一个函数,使得该函数执行两件事:

  1. 计算当前正在运行的终端数量
  2. dynamic-colors switch colorscheme-name根据(1)发出命令。

希望这可以帮助!

PS:我本来想为你写一个脚本,但是我不喜欢填鸭式教学,而且我很懒。:)

答案4

Konsole 实际上本身就支持此功能。Konsole 非常强大且可高度定制。

如果你没有 Konsole,那么只需sudo apt install konsole

  1. 前往设置
  2. 控制台设置
  3. 选择外观选项卡
  4. 选择您的配色方案
  5. 选择右侧的“编辑”
  6. 有一个框可以设置“改变每个选项卡的背景颜色”

最重要的是,如果你同时在三台服务器上工作,你可以添加一些漂亮的别名显示在这里

相关内容