回答:
手順:
スクリプトは、gnome-terminalを使用していると見なしますは、デフォルトのUbuntuターミナルである。
スクリプトを実行する前に、gnome-terminalを開きますを必要に応じてさまざまな設定(背景色、テキスト色、..)でいくつかのプロファイル([編集]> [設定]> [プロファイル])を作成します。それらに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
テスト済みですが、広範囲ではありません。楽しい!
exit
などのファイルに基づいて条件を追加することです~/bashcolor.txt
。開いているbashが「オリジナル」か「コピー」かを示す行を含めることができます。したがって、cat ~/bashcolor.txt
「ORIGINAL」が返された場合、exit
コマンドが実行され、が実行されecho COPY > ~/bashcolor.txt
ます。それ以外の場合、出口は実行されませんが、ファイルは元に戻ります(echo ORIGINAL > ~/bashcolor.txt
)。点滅する端末の問題を解決します。
Number_of_bashs=$(($(($(pstree -c | grep "bash" | wc -l)-1))%${#Color_counter[@]}))
1つのオプションはを使用することxfce4-terminal
です。デフォルトのUbuntuターミナル(gnome-terminal
)に非常に似ており、その依存パッケージの多くはgtkコンポーネントを使用しているため、適切な代替となります。
最初にそれをインストールします
sudo apt-get install xfce4-terminal
それを開いて、 、[ 編集] -> [ 設定]、[ 色]タブを選択して、[ 各タブの背景色を変える ]というオプションをチェックします。、そして今すぐ出口を。
デフォルトのターミナルを作成するxfce4-terminal
か、ショートカットを変更しますCtrl-Alt-T
て開きます。
便利なリンク:
ハハ、非常に興味深い。私もこれをやってみるかもしれません。私は主に複数の端末とブラウザのみを実行しています。
だから私は周りを見回したとこれを見つけた- https://github.com/sos4nt/dynamic-colorsを。あなたが望むものの一部を達成するのに役立つ非常にきちんとした小さなプロジェクト。
これで、colorschemes/
そのプロジェクトのディレクトリに、現在4つの配色があることがわかります。必要な数だけ追加できます。
だから、別の配色を選択するごとに、端末得るために、私は自分に機能を追加する.bash_profile
か、.bashrc
関数は2つのことを行い、このようなことを、またはどこ:
dynamic-colors switch colorscheme-name
(1)に基づいてコマンドを発行します。お役に立てれば!
PS私はあなたのためにスクリプトを書きますが、私はスプーンで餌を食べるのが嫌いで、私は怠け者です。:)
gnome-terminal --load-config=FILE
Konsoleは、実際にこの機能をネイティブにサポートしています。Konsoleは本当に強力で高度にカスタマイズ可能です。
Konsoleがない場合は、単純に sudo apt install konsole