Como você altera o esquema de cores no bash no Ubuntu para Windows?

Respostas:

28

Essa também é uma solução fácil e agradável, em https://medium.com/@iraklis/fixing-dark-blue-colors-on-windows-10-ubuntu-bash-c6b009f8b97c :

Acrescente isso a .bashrc:

LS_COLORS='rs=0:di=1;35:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:';
export LS_COLORS

PS1='\e[37;1m\u@\e[35m\W\e[0m\$ ' # this will change your prompt format

E eu achei isso útil também para facilitar a leitura do vim:

echo "set background=dark" >> .vimrc
Guillermo González de Garibay
fonte
4
Mas isso não explica quais são esses parâmetros. Como quero especificar cores diferentes, isso não é realmente útil para fazer isso, exceto por tentativa e erro.
Aaron Bramson
1
qual é a sintaxe de definição dessas cores? Por exemplo, como você altera a paleta de cores dos diretórios? E para outras coisas definidas aqui?
xor
14

O problema não é específico do bash no Ubuntu para Windows, pois o terminal ainda é fornecido por conhost.exe.

Para alterar as cores, você pode acessar os Padrões :

insira a descrição da imagem aqui

E então você pode clicar em cada cor individual e alterá-la para outra cor.

insira a descrição da imagem aqui

O processo é um pouco confuso, porque, ao clicar em um retângulo de cores, você altera o que está selecionado como plano de fundo da tela . Então, primeiro você precisa alterar essa seleção, ajustar a cor e depois alterar a seleção novamente para a cor de fundo desejada.

No geral, é mais fácil usar um emulador de terminal ou console diferente. Eu pessoalmente uso o ConEmu agora, o que permite alterar muito mais facilmente os esquemas de cores.

Der Hochstapler
fonte
1
Ajustar Screen Textpara preto (0,0,0) e Screen Backgroundpara algum tipo de amarelo claro (255,255,150) funcionou muito bem para mim. Veja exemplo de captura de tela .
Yibo Yang 20/11
4
O terminal não é e nunca foi fornecido pelo cmd.exe. O console foi fornecido diretamente pelo csrss do NT ao XP e depois conhost.exe desde o Vista. O Bash é executado diretamente via conhost e nunca toca no cmd.
21416 Bob
@YiboYang, próximo à sua sugestão, existe (255, 255, 221), que é o tema "preto sobre amarelo claro" do terminal Gnome.
Yamaneko
3

Eu não acho que a interface do usuário permita alterar todas as cores ANSI, você precisará editá-las por meio do registro.

Já existe um tema escuro-solarizado que funciona muito bem em https://github.com/neilpa/cmd-colors-solarized

(feche / abra a janela do console para ativar)

Laktak
fonte
3

Mesma solução que as outras, com mais explicações para pessoas como eu ( https://medium.com/@iraklis/fixing-dark-blue-colors-on-windows-10-ubuntu-bash-c6b009f8b97c )

cd /home/<user>
ls -a

Você deve encontrar um .bashrc e fazer uma BU

cp .bashrc .bashrcBU

adicione 2 linhas

echo "LS_COLORS='rs=0:di=1;35:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:';" >> .bashrc
echo "export LS_COLORS" >> .bashrc

antes de mudar vim também background para ver corretamente

echo "set background=dark" >> .vimrc

saia e reinicie

Você ainda tem o caminho no nome com essa estranha cor azul. Você pode modificar isso via PS1. Aqui a fonte ( https://apple.stackexchange.com/questions/219125/is-there-a-way-to-change-the-font-color-of-the-current-path-in-termial )

echo $PS1
\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$

Por mim, a balise [\ 033 [01; 34m] * [\ 033 [00m] é a cor azul, então eu altero a cor em rosa [\ 033 [01; 34m] * [\ 033 [00m] . Para substituir o PS1

@EDITAR:

Você poderia fazer isso dessa maneira, mas não será permanente e essa variável será excluída no final da sessão.

PS1='\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[00m\]\w\[\033[00m\]\$'

Para torná-lo permanente, você deve gravá-lo em um arquivo que será carregado no início de uma sessão, como o precedente .bashrc.

echo "PS1='\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;35m\]\w\[\033[00m\]\$'" >> .bashrc
Dorian Grv
fonte
3

Solução 2019:

O ColorTool oficial da Microsoft pode ser usado para alterar o esquema geral de cores sem precisar definir cada cor sozinho.

Basta baixar o arquivo zip (pesquise Color Tool <Month> <Year>em Versões ) e extrair a ferramenta para qualquer pasta. Em seguida, execute-o a partir do seu bash:

# run in wsl bash (or any other windows terminal)
# note that -x is required for wsl
./ColorTool.exe -x <scheme name>

# for the change to have permanent effect go to properties and click ok

Em seguida, você pode importar facilmente outros esquemas de cores no formato iTerm, colocando um .itermcolorsarquivo na schemespasta do ColorTool.

A. Frank
fonte
1

Você pode usar a personalização de cores do Windows cmd para personalizar o boW. Simplesmente clique no pequeno ícone do ubuntu no canto superior direito e clique em Propriedades.

Além disso, para personalizar o prompt, você pode usar

export PS1="\e[0;31m[\u@\h \W]\$ \e[m "

que mudará apenas o prompt para vermelho e assim por diante.

Assim, as cores parecem funcionar bem no boW. Os sites acima não funcionarão, pois criam arquivos de configuração para emuladores de terminal específicos, mas é apenas cmd aqui.

PulseJet
fonte
2
A caixa de diálogo Propriedades permite definir as cores de primeiro e segundo plano, mas não o esquema de cores. A menos que eu esteja perdendo alguma coisa aqui.
Der Hochstapler
2
Ok, você pode ajustar o esquema de cores dessa maneira. Você precisa selecionar uma cor da paleta, ajustar o RGB, depois passar para a próxima e finalmente selecionar a cor de fundo que deseja novamente. A sua resposta poderia ter sido um pouco mais clara
Der Hochstapler
0

Também procurando uma solução, encontrei esta postagem do SuperUser e, em seguida, esta postagem do MS Understanding Windows Console Host Settings

Basicamente, todas as configurações são armazenadas no próprio arquivo de atalho após a criação no menu Iniciar / Fixado na barra de tarefas. Que pode ser alterado modificando as propriedades.

Tudo, incluindo cores, pode ser personalizado na entrada do Registro [HKEY_CURRENT_USER \ Console \ Git Bash] usando as propriedades descritas na publicação da Microsoft, mas para realizar a alteração bash.exe deve ser executada diretamente executando "C: \ Windows \ System32 \ bash.exe "via Windows + R para forçar o Windows a parar de ler a configuração após as entradas do registro.

Uma vez satisfeito com a configuração, crie novos links de atalho na barra de tarefas inicial e fixa (se é isso que você gosta).

O argumento para fazê-lo dessa maneira é que mudanças mais abrangentes são mais fáceis de gerenciar (digamos, um novo esquema de cores experimenta?) Através do arquivo .reg do que através de tediosas alterações e alterações em um arquivo de atalho.

Bob Smith
fonte