it-swarm.com.ru

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

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

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

Какие-нибудь мысли?

Спасибо!

13
kpie

Функциональная версия

Инструкции:

Скрипт считает, что вы используете 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

Проверено, но не экстенсивно. Наслаждайтесь!

10
IanC

Одним из вариантов может быть использование xfce4-terminal. Он очень похож на терминал Ubuntu по умолчанию (gnome-terminal), и многие из его пакетов зависимостей используют компонент gtk, что делает его подходящей альтернативой.

Сначала установите его с

Sudo apt-get install xfce4-terminal

Затем откройте его, перейдите к Изменить -> Настройки , выберите Цвета Вкладка и отметьте опцию, которая говорит, Измените цвет фона для каждой вкладки и теперь выход.

Сделайте терминал по умолчанию xfce4-terminal или измените ярлык Ctrl-Alt-T, чтобы открыть его.

Теперь каждый раз, когда вы открываете, вам будет представлена ​​другая цветовая палитра. different colored terminal

Полезные ссылки:

9
Anwar

Хаха, очень интересно. Я мог бы попытаться сделать это также. У меня в основном только несколько терминалов и браузер.

Поэтому я оглянулся и нашел это - https://github.com/sos4nt/dynamic-colors . Очень аккуратный маленький проект, который поможет вам достичь того, чего вы хотите.

Теперь в каталоге colorschemes/ этого проекта вы увидите, что в настоящее время он имеет 4 цветовые схемы. Вы можете добавить столько, сколько вам нужно/хотите.

Таким образом, чтобы каждый терминал мог выбрать другую цветовую схему, я бы добавил функцию к своему .bash_profile или .bashrc или куда угодно, чтобы функция делала две вещи:

  1. Выясняет, сколько терминалов в настоящее время работает
  2. Введите команду dynamic-colors switch colorscheme-name, основанную на (1).

Надеюсь это поможет!

Постскриптум Я бы написал для вас сценарий, но я ненавижу кормление с ложечки и ленивый аф. :)

5
theabhinavdas

Konsole фактически поддерживает эту функцию изначально. Konsole действительно мощный и очень настраиваемый.

Если у вас нет Konsole, просто Sudo apt install konsole

  1. Перейдите в настройки
  2. Настройки Konsole
  3. Выберите вкладку "Внешний вид"
  4. Выберите вашу цветовую схему
  5. Выберите "Изменить" справа
  6. Там есть поле для установки "Изменить цвет фона для каждой вкладки"

Вдобавок ко всему, если вы работаете на трех серверах одновременно, вы можете добавить несколько изящных псевдонимов показано здесь

1
Matt O.