Versión funcional
Instrucciones:
El script considera que está utilizando gnome-terminal , que es el terminal predeterminado de Ubuntu.
Antes de ejecutar el script, abra el terminal gnome y cree algunos perfiles (Edición> Preferencia> Perfiles) con las diferentes configuraciones que desee (color de fondo, color de texto, ..). Puede nombrarlos Perfil1, Perfil2, Perfil3, etc. Cree suficientes perfiles para cubrir la cantidad de terminales que se abrirán, pero si se abre un mayor número de terminales, se utilizará el perfil predeterminado.
El script crea un archivo ~ / .Bash_Color_Changer , del cual depende, ya que le dirá al script si el terminal se abrió regularmente o después de una llamada a .bashrc .
Agregue el script al final de su archivo ~ / .bashrc .
Guión:
Añadir a .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
Probado pero no ampliamente. ¡Disfrutar!