Одна из моих любимых функций терминала xfce заключается в том, что он может автоматически устанавливать другой цвет для каждого экземпляра терминала, создаваемого пользователем. Это очень упрощает различие между различными сеансами.
Есть ли способ получить аналогичную функциональность в Terminator?
Единственные терминальные эмуляторы, о которых я знаю, что это удобно, это xfce4-terminal и konsole.
Терминатор версии 1.90 и выше (на самом деле его базовый виджет VTE), однако , понимает escape-последовательность OSC 11, чтобы изменить цвет фона, например:
echo -ne '\e]11;#abcdef\a'
(и аналогично 10 для переднего плана).
Вы могли бы написать кусок оболочки скрипт, который рандомизирует цвет и испускает эту последовательность из сценария запуска оболочки (например, .bashrc). Будьте осторожны, чтобы испустить его, только если оболочка интерактивна и / или ее выход подключен к терминалу (см., Например, здесь).
Быстрый пример, я оставляю это для вас, чтобы улучшить, как вы пожелаете:
if [ -t 1 ]; then
colors=(abcdef cdefab efabcd)
n=${#colors[@]}
i=$((RANDOM%n))
echo -ne "\e]11;#${colors[i]}\a"
fi
Вместо случайного числа может быть хорошей идеей основать цвет на линии tty (номер из вывода tty), таким образом у вас будет меньше конфликтов .
Единственные терминальные эмуляторы, о которых я знаю, что это удобно, это xfce4-terminal и konsole.
Терминатор версии 1.90 и выше (на самом деле его базовый виджет VTE), однако , понимает escape-последовательность OSC 11, чтобы изменить цвет фона, например:
echo -ne '\e]11;#abcdef\a'
(и аналогично 10 для переднего плана).
Вы могли бы написать кусок оболочки скрипт, который рандомизирует цвет и испускает эту последовательность из сценария запуска оболочки (например, .bashrc). Будьте осторожны, чтобы испустить его, только если оболочка интерактивна и / или ее выход подключен к терминалу (см., Например, здесь).
Быстрый пример, я оставляю это для вас, чтобы улучшить, как вы пожелаете:
if [ -t 1 ]; then
colors=(abcdef cdefab efabcd)
n=${#colors[@]}
i=$((RANDOM%n))
echo -ne "\e]11;#${colors[i]}\a"
fi
Вместо случайного числа может быть хорошей идеей основать цвет на линии tty (номер из вывода tty), таким образом у вас будет меньше конфликтов .
Единственные терминальные эмуляторы, о которых я знаю, что это удобно, это xfce4-terminal и konsole.
Терминатор версии 1.90 и выше (на самом деле его базовый виджет VTE), однако , понимает escape-последовательность OSC 11, чтобы изменить цвет фона, например:
echo -ne '\e]11;#abcdef\a'
(и аналогично 10 для переднего плана).
Вы могли бы написать кусок оболочки скрипт, который рандомизирует цвет и испускает эту последовательность из сценария запуска оболочки (например, .bashrc). Будьте осторожны, чтобы испустить его, только если оболочка интерактивна и / или ее выход подключен к терминалу (см., Например, здесь).
Быстрый пример, я оставляю это для вас, чтобы улучшить, как вы пожелаете:
if [ -t 1 ]; then
colors=(abcdef cdefab efabcd)
n=${#colors[@]}
i=$((RANDOM%n))
echo -ne "\e]11;#${colors[i]}\a"
fi
Вместо случайного числа может быть хорошей идеей основать цвет на линии tty (номер из вывода tty), таким образом у вас будет меньше конфликтов .