11

I'm trying to change the highlight colors in my shell for WSL, but there's a lot going on here so I'm not sure where to look. I am using Windows Terminal and running WSL with Ubuntu. My default shell is zsh, or to be more specific oh-my-zsh with agnoster theme. In addition I am using tmux. The highlighting I want to remove can be seen in the pic below on "ProgramData", "Projects", "Python" and "Recovery". I basically want to change this so that they look like "Program Files" or "Recovery.txt", so without any highlighting.

enter image description here

Not sure if this helps, but echo $LS_COLORS gives me this:

rs=0:di=01;34: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:mi=00:su=37;41:sg=30;43:ca=3│
0;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=0│
1;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31│
:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=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:*.alz=01;31:*.│
ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.j│
pg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=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=0│
1;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;│
36:*.au=00;36:*.flac=00;36:*.m4a=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:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:

Where can I go to change the colors I want?

PalBo
  • 243
  • Does this answer your question https://askubuntu.com/questions/17299/what-do-the-different-colors-mean-in-ls – cup May 17 '20 at 13:24
  • 1
    Hi sorry I know it's 2 years later but thought I should share the link I found that fixed the issue for me. https://blog.jongallant.com/2020/06/wsl-ls-folder-highlight/ – samuel eabs Jun 08 '22 at 16:39

3 Answers3

13

Do this first:

$ dircolors --print-database > ~/.dir_colors

Then use your favorite editor to edit ~/.dir_colors

In my .dir_colors, the line you'd be looking for is line #61:

OTHER_WRITABLE 34;42 # dir that is other-writable (o+w) and not sticky

I changed 42 to 40 to go from green to black background. The color codes are in the file itself (.dir_colors). The first number is not used (it's for style, underline, bold, etc). The next number (34 in this case) is the foreground, and the last one (42) is the background.

You'll have to close your wsl terminal and re-open to see the new color output.

Hope that helps.

0

In WSL with an updated terminal in Windows 11, these colors might be controlled by theme and you might have to change the colors in the settings .json for terminal settings. I just copied my current theme and gave it a new name. "name": "new name" and change corresponding color hex code. You may have to experiment to find corresponding colors. Since two of mine were using same color, I just needed a slight shade difference.

After, go and select to use new color scheme for what ever profile. That is the updated terminal only.

0

With WSL 1.2.5.0 (WSL2) and Windows Terminal 1.16.10262.0, the directory which .bashrc looks for is .dircolors, and the windows terminal color settings have little effect on what gets colored, they just shift the dircolors slightly.

For any version, grep "test -r" .bashrc returns only the relevant line in the default .bashrc.

MoCu
  • 1