автоматически получать разные цвета терминала каждый раз, когда я открываю терминал

<p>я часто открываю три терминала, и мне действительно нравится, когда на каждом из них видны разные цветовые палитры.</p><p>у меня сохранено несколько цветовых палитр, и я хотел бы, чтобы настройки по умолчанию проходили через мои сохраненные профили каждый раз, когда я открываю терминал, так что если я открою 3, они будут разных цветов, и мне не придется вручную менять профиль на 2.</p><p>какие-нибудь мысли?</p><p>спасибо!</p>

<h2>функциональная версия</h2><p><strong>инструкции:</strong></p><p>скрипт считает, что вы используете <em> gnome-терминал </em>, который является терминалом ubuntu по умолчанию.</p><p>перед запуском скрипта откройте <em> терминал gnome </em> и создайте несколько профилей ("правка"> "настройки"> "профили") с различными настройками по вашему желанию (цвет фона, текст цвет, ..). вы можете назвать их profile1, profile2, profile3 и так далее. создайте достаточно профилей, чтобы покрыть количество терминалов, которые будут открыты, но если будет открыто большее количество терминалов, будет использоваться профиль по умолчанию.</p><p>сценарий создает файл <em> ~/.bash\_color\_changer </em>, от которого он зависит, поскольку он сообщит сценарию, был ли терминал открыт регулярно или после вызова на <em> bashrc. </em>.</p><p>добавьте скрипт в конец вашего <em> ~/.bashrc </em> файла.</p><p><strong>автор сценария:</strong></p><p>добавить в <code>.bashrc</code>:</p><pre><code>#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 </code></pre><p>проверено, но не экстенсивно. наслаждайтесь!</p>

<p>одним из вариантов может быть использование <code>xfce4-terminal</code>. он очень похож на терминал ubuntu по умолчанию (<code>gnome-terminal</code>), и многие из его пакетов зависимостей используют компонент gtk, что делает его подходящей альтернативой.</p><p>сначала установите его с</p><pre><code>sudo apt-get install xfce4-terminal </code></pre><p>затем откройте его, перейдите к <strong> изменить </strong> -> <strong> настройки </strong>, выберите <strong> цвета </strong> вкладка и отметьте опцию, которая говорит, <strong> измените цвет фона для каждой вкладки </strong> и теперь выход.</p><p>сделайте терминал по умолчанию <code>xfce4-terminal</code> или измените ярлык <code>ctrl-alt-t</code>, чтобы открыть его.</p><p>теперь каждый раз, когда вы открываете, вам будет представлена другая цветовая палитра. <a href="https://i.stack.imgur.com/3h72q.png"><img src="https://i.stack.imgur.com/3h72q.png" alt="different colored terminal"></a> </p><p>полезные ссылки:</p><ul> <li> <a href="https://askubuntu.com/q/85591/61218">как изменить глобальные горячие клавиши/сочетания клавиш?</a> </li> </ul>

<p>хаха, очень интересно. я мог бы попытаться сделать это также. у меня в основном только несколько терминалов и браузер.</p><p>поэтому я оглянулся и нашел это - <a href="https://github.com/sos4nt/dynamic-colors">https://github.com/sos4nt/dynamic-colors</a> . очень аккуратный маленький проект, который поможет вам достичь того, чего вы хотите.</p><p>теперь в каталоге <code>colorschemes/</code> этого проекта вы увидите, что в настоящее время он имеет 4 цветовые схемы. вы можете добавить столько, сколько вам нужно/хотите.</p><p>таким образом, чтобы каждый терминал мог выбрать другую цветовую схему, я бы добавил функцию к своему <code>.bash\_profile</code> или <code>.bashrc</code> или куда угодно, чтобы функция делала две вещи:</p><ol> <li>выясняет, сколько терминалов в настоящее время работает</li> <li>введите команду <code>dynamic-colors switch colorscheme-name</code>, основанную на (1).</li> </ol><p>надеюсь это поможет!</p><p>постскриптум я бы написал для вас сценарий, но я ненавижу кормление с ложечки и ленивый аф. :)</p>

<p>konsole фактически поддерживает эту функцию изначально. konsole действительно мощный и очень настраиваемый.</p><p>если у вас нет konsole, просто <code>sudo apt install konsole</code></p><ol> <li>перейдите в настройки</li> <li>настройки konsole</li> <li>выберите вкладку "внешний вид"</li> <li>выберите вашу цветовую схему</li> <li>выберите "изменить" справа</li> <li>там есть поле для установки "изменить цвет фона для каждой вкладки"</li> </ol><p>вдобавок ко всему, если вы работаете на трех серверах одновременно, вы можете добавить несколько изящных псевдонимов <a href="https://abdussamad.com/archives/503-changing-konsole-colors-in-kde.html">показано здесь</a> </p>