Je me trouve souvent en train d'ouvrir trois terminaux et j'aime beaucoup l'apparence d'avoir des palettes de couleurs distinctes sur chacun.
J'ai quelques palettes de couleurs enregistrées et j'aimerais que les valeurs par défaut progressent dans mes profils enregistrés à chaque fois que j'ouvre un terminal. Ainsi, si j'ouvre 3, elles ont chacune une couleur différente sans que je doive modifier manuellement le profil sur 2.
Des pensées?
Merci!
Instructions:
Le script considère que vous utilisez gnome-terminal , qui est le terminal par défaut d'Ubuntu.
Avant d’exécuter le script, ouvrez le gnome-terminal et créez des profils (Édition> Préférences> Profils) avec différents paramètres (couleur d’arrière-plan, texte). Couleur, ..). Vous pouvez les nommer Profile1, Profile2, Profile3 et ainsi de suite. Créez suffisamment de profils pour couvrir le nombre de terminaux qui seront ouverts, mais si un nombre plus élevé de terminaux sont ouverts, le profil par défaut sera utilisé.
Le script crée un fichier ~/.Bash_Color_Changer , dont il dépend, car il dira au script si le terminal a été ouvert régulièrement ou après un appel sur . bashrc .
Ajoutez le script à la fin de votre fichier ~/.bashrc .
Script:
Ajouter à .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
Testé mais pas de manière approfondie. Prendre plaisir!
Une option pourrait être d'utiliser xfce4-terminal
. C'est très similaire au terminal Ubuntu par défaut (qui s'appelle gnome-terminal
) et beaucoup de ses paquets de dépendance utilisent le composant gtk, ce qui en fait une alternative appropriée.
Tout d'abord l'installer avec
Sudo apt-get install xfce4-terminal
Puis ouvrez-le, allez dans Éditez -> Préférences , sélectionnez Couleurs Onglet et cochez l'option qui dit, Variez la couleur de fond pour chaque onglet et maintenant sortir.
Créez le terminal par défaut xfce4-terminal
ou modifiez le raccourci de Ctrl-Alt-T
pour l'ouvrir.
Maintenant, chaque fois que vous ouvrez, une palette de couleurs différente vous sera présentée.
Liens utiles:
Haha, très intéressant. Je pourrais essayer de faire cela aussi. La plupart du temps, je n’utilise que plusieurs terminaux et un navigateur.
J'ai donc regardé autour de moi et trouvé ceci - https://github.com/sos4nt/dynamic-colors . Un petit projet très soigné qui vous aide à réaliser une partie de ce que vous voulez.
Maintenant, dans le répertoire colorschemes/
de ce projet, vous verrez qu’il comporte actuellement 4 modèles de couleurs. Vous pouvez en ajouter autant que vous avez besoin/envie.
Donc, pour que chaque terminal choisisse un schéma de couleurs différent, j’ajouterais une fonction à mon .bash_profile
ou .bashrc
ou ailleurs, de telle sorte que la fonction fasse deux choses:
dynamic-colors switch colorscheme-name
basée sur (1).J'espère que cela t'aides!
P.S. Je voudrais écrire un script pour vous, mais je déteste nourrir à la cuillère et je suis paresseux af. :)
Konsole prend en charge cette fonctionnalité de manière native. Konsole est vraiment puissant et hautement personnalisable.
Si vous n'avez pas Konsole, alors simplement Sudo apt install konsole
De plus, si vous travaillez sur trois serveurs en même temps, vous pouvez inclure des pseudonymes géniaux montré ici