From: Roger Chrisman Subject: Re: [Balug-talk] how to, where to, configure color for ls? To: balug-talk@balug.org X-Mailer: KMail [version 1.3.1] Date: Sun, 17 Nov 2002 21:11:37 -0800 I hope this helps conclude this newbie thread, and might earn me credit towards asking another one another day :-)... My aim is to understand my system the way it was designed to be used -- to find and use the configuration files its authors designed into it. I am a 14 months old penguin using a SuSE PPC 7.3 distro on my Quicksilver Mac Terminal and SuSE 8.1 on my IBM server. what I have gleaned about colors and the ls command: /etc/DIR_COLORS is a configuration file that controls the global color settings for the ls command. /etc/DIR_COLORS can be copied into a /home/$HOME/.dir_colors and modified there to overide /etc/DIR_COLORS for the user of $HOME. The selection of colors in those two config files seems to be limited to 0 black 1 red 2 green 3 yellow 4 blue 5 magenta 6 cyan 7 white For each file item designated a foreground and a background color may be set. Foreground colors are indicated by a leading 3 and background colors by a leading 4 and ; is the separator. # starts a comment. Also, a text style may be set: 00 none 01 bold 04 underscore 05 blink 07 reverse (I guess this inverts the fg color with the bg color) 08 concealed 01 underline Example: DIR 01;40;36 #directories: bold text, black bg, cyan I have found the colors green, yellow, cyan, white and (somewhat) magenta show up better against black than blue or red do against black. Oddly, when I indicate 43 or 33 (yellow bg or yellow fg) I get white on my PPC system. Don't know why. Also, I tried 04 to underscore directories but it didn't work. Changes to DIR_COLORS do not take affect until X11 is restarted or, in the case of non-X11 terminals, until I re-spawn the tty by killing its process (kill ####). I do a ps command to find the tty process # to kill. Or reboot, but rebooting is tedious. There are other settings in DIR_COLORS that I do not understand and have not tampered with. Here is a copy of a virgin DIR_COLORS file from my SuSE 8.1 installation, should anyone be interested: /etc/DIR_COLORS ............................................................................... # Configuration file for the color ls utility # # This file goes in the /etc directory, and must be world readable. # You can copy this file to .dir_colors in your $HOME directory to override # the system defaults. # COLOR needs one of these arguments: 'tty' colorizes output to ttys, but not # pipes. 'all' adds color characters to all output. 'none' shuts colorization # off. COLOR tty # Extra command line options for ls go here. # Basically these ones are: # -F = show '/' for dirs, '*' for executables, etc. # -T 0 = don't trust tab spacing when formatting ls output. OPTIONS -F -T 0 # Below, there should be one TERM entry for each termtype that is colorizable TERM linux TERM linux-c TERM console TERM con132x25 TERM con132x30 TERM con132x43 TERM con132x60 TERM con80x25 TERM con80x28 TERM con80x30 TERM con80x43 TERM con80x50 TERM con80x60 TERM gnome TERM mach-color TERM rxvt TERM screen TERM screen-w TERM vt100 TERM vt102 TERM xterm TERM xterm-debian # EIGHTBIT, followed by '1' for on, '0' for off. (8-bit output) EIGHTBIT 1 # Below are the color init strings for the basic file types. A color init # string consists of one or more of the following numeric codes: # # Attribute codes: # 00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed # Text color codes: # 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white # Background color codes: # 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white NORMAL 00 # global default, although everything should be something. FILE 00 # normal file DIR 01;34 # directory LINK 00;36 # symbolic link FIFO 40;33 # pipe SOCK 01;35 # socket DOOR 01;35 # door BLK 40;33;01 # block device driver CHR 40;33;01 # character device driver ORPHAN 40;31 # symlink to nonexistent file # This is for files with execute permission: EXEC 00;32 # List any file extensions like '.gz' or '.tar' that you would like ls # to colorize below. Put the extension, a space, and the color init string. # (and any comments you want to add after a '#') # executables (bright green) .cmd 01;32 .exe 01;32 .com 01;32 .bat 01;32 .btm 01;32 .dll 01;32 # archives or compressed .tar 00;31 .tbz 00;31 .tgz 00;31 .rpm 00;31 .deb 00;31 .arj 00;31 .taz 00;31 .lzh 00;31 .zip 00;31 .zoo 00;31 .z 00;31 .Z 00;31 .gz 00;31 .bz2 00;31 .tb2 00;31 .tz2 00;31 .tbz2 00;31 # image formats .avi 01;35 .bmp 01;35 .fli 01;35 .gif 01;35 .jpg 01;35 .jpeg 01;35 .mng 01;35 .mov 01;35 .mpg 01;35 .pcx 01;35 .pbm 01;35 .pgm 01;35 .png 01;35 .ppm 01;35 .tga 01;35 .tif 01;35 .xbm 01;35 .xpm 01;35 .dl 01;35 .gl 01;35 # sound formats .aiff 00;32 .au 00;32 .mid 00;32 .mp3 00;32 .ogg 00;32 .voc 00;32 .wav 00;32 From: Roger Chrisman Subject: Re: [Balug-talk] how to, where to, configure color for ls? To: balug-talk@balug.org X-Mailer: KMail [version 1.3.1] Date: Mon, 18 Nov 2002 14:05:28 -0800 On Monday 18 November 2002 09:44, you wrote: > this is really a follow-up question. > recently upped the version number on my linux work PC > to RH 7.2 from 7.1. > Post upgrade, when I open a terminal the ls is plain > vanilla. however, if i telnet back into my system it's > all good again. so my local term must be skipping or > missing the DIR_COLORS. interestingly, this does not > happen with my linux box at home which has the same RH > distribution. > > what can i do to fix this? > thanks & best Regards, > Vinay Vinay, /etc/DIR_COLORS controls the colors for the ls command on the computer that the ls command is actually running on. So if you are telneted from computer foo into computer bar and do ls the ls runs on bar and uses bar's /etc/DIR_COLORS. If you close the telnet connection to bar and run an ls back on computer foo, the ls runs on foo and uses foo's /etc/DIR_COLORS. If /home/$HOME/.dir_colors is present on the computer the ls is being run on, it will override that computer's /etc/DIR_COLORS. /home/$HOME/.dir_colors if you don't have one, can be ceated with cp: cp /etc/DIR_COLORS /home/$HOME/.dir_colors Then you can do user specific custom colers in .dir_colors * Brighter colors! * I have discovered that for me 01 does not ceate bold text, it creates lighter text instead. I don't know why it does that but I dig it; lighter text shows up better against my favorite black background. Qwerks: 01 doesn't seem to affect blue. Nither 33 nor 43 preduce yellow for me, but red instead. Tip: Changes to /home/$HOME/.dir_colors take affect as soon as I log out and log in again. I hope some of this helps, Roger SF