X terminals default to a white background on most linux distributions, and so application foreground colours are setup for a light coloured background. Personally I prefer dark terminals both from a readability point of view and for eye strain reasons. I find it easier to read since the text I'm reading is effectively highlighted, and also find it's more effective when further highlighting items using colours. I experience less eye strain as more of the screen is dark so there is less energy entering the eyes. The following shows how to set the appropriate foreground colours in various apps, for dark terminals.

ls

ubuntu uses the coreutils defaults (eval $(dircolors)) which work well on both light and dark terminals. But on redhat/fedora to get sensible defaults do the following and restart the shell: dircolors -p > ~/.dir_colors

vim

echo "set background=dark" >> ~/.vimrc

gvim

Is a bit more involved

lynx

sed -i 's/#COLOR:1:blue:white/COLOR:1:brightblue:default/' /etc/lynx.cfg

Notes:

  1. These settings were tested on redhat 9 but probably apply elsewhere
  2. To change the colours for linux virtual terminals:
    setterm -background white -foreground black -store
  3. I've red/green colour blindness, but others have confirmed that the above settings are better with dark terminals
  4. On redhat/fedora, to temporarily change ls colors for light and dark respectively, do:
    eval `dircolors`
    eval `dircolors /etc/DIR_COLORS.xterm`
© Jun 11 2004