Obtém automaticamente diferentes cores de terminal cada vez que eu abro o terminal

11

Muitas vezes me vejo abrindo três terminais e realmente gosto da aparência de ter paletas de cores distintas em cada uma delas.

Tenho algumas paletas de cores salvas e gostaria que o padrão progredisse nos meus perfis salvos sempre que eu abrir um terminal, para que, se eu abrir 3, eles sejam cores diferentes, sem que eu precise alterar manualmente o perfil em 2.

Alguma opinião?

Obrigado!

    
por kpie 08.08.2016 / 13:14

4 respostas

10

Versão Funcional

Instruções:

O Script considera que você está usando o gnome-terminal , que é o terminal padrão do Ubuntu.

Antes de executar o script, abra o gnome-terminal e crie alguns perfis (Editar > Preferências > Perfis) com configurações diferentes como desejar (cor de fundo, cor do texto, ..). Você pode nomeá-los como Profile1, Profile2, Profile3 e assim por diante. Crie perfis suficientes para cobrir a quantidade de terminais que serão abertos, mas se um número maior de terminais for aberto, o perfil padrão será usado.

O script cria um arquivo ~ / .Bash_Color_Changer .bashrc .

Adicione o script ao final do arquivo ~ / .bashrc .

Script:

Adicione a .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

Testado, mas não extensivamente. Aproveite!

    
por IanC 12.08.2016 / 05:31
8

Uma opção pode estar usando xfce4-terminal . É muito semelhante ao terminal padrão do Ubuntu (que é gnome-terminal ) e muitos dos seus pacotes de dependência usam o componente gtk, o que o torna uma alternativa adequada.

Primeiro, instale-o com

sudo apt-get install xfce4-terminal

Em seguida, abra-o e vá para Editar - > Preferências , selecione a guia Cores e marque a opção que diz, Varie a cor do plano de fundo de cada guia e saia agora.

Faça o terminal padrão xfce4-terminal ou altere o atalho de Ctrl-Alt-T para abri-lo.

Agora, cada vez que abrir, você será presenteado com uma paleta de cores diferente.

Linksúteis:

  • Como altero as teclas de atalho globais / atalhos de teclado?
por Anwar 12.08.2016 / 10:36
5

Haha, muito interessante. Eu poderia tentar fazer isso também. Eu principalmente só executo múltiplos terminais e um navegador.

Então olhei em volta e encontrei este link - . Um pequeno projeto que ajuda você a conseguir uma parte do que você quer.

Agora, no diretório colorschemes/ desse projeto, você verá que atualmente ele possui 4 esquemas de cores. Você pode adicionar quantos você precisar / quiser.

Então, para que cada terminal escolha um esquema de cores diferente, eu adicionaria uma função ao meu .bash_profile ou .bashrc ou a qualquer lugar, de forma que a função faça duas coisas:

  1. Descobre quantos terminais estão atualmente em execução
  2. Emita um comando dynamic-colors switch colorscheme-name com base em (1).

Espero que isso ajude!

P.S. Eu iria escrever um roteiro para você, mas eu odeio colher-alimentação e estou com preguiça af. :)

    
por theabhinavdas 11.08.2016 / 13:33
1

O Konsole na verdade suporta essa funcionalidade nativamente. O Konsole é realmente poderoso e altamente personalizável.

Se você não tiver o Konsole, simplesmente sudo apt install konsole

  1. Ir para configurações
  2. Configurações do Konsole
  3. Selecione a guia Aparência
  4. Selecione seu esquema de cores
  5. Selecione "Editar" à direita
  6. Há uma caixa para definir "Variar a cor de fundo de cada guia"

Além disso, se você estiver trabalhando em três servidores ao mesmo tempo, poderá incluir alguns aliases interessantes mostrado aqui

    
por Matt O. 12.08.2016 / 02:29