Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
How is LS_COLORS being initialized?
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Other Things Gentoo
View previous topic :: View next topic  
Author Message
curmudgeon
Veteran
Veteran


Joined: 08 Aug 2003
Posts: 1741

PostPosted: Sun Apr 03, 2016 2:38 am    Post subject: How is LS_COLORS being initialized? Reply with quote

This is another in the (long) list of "weird things I don't understand."

Have "always" had an alias in my .bashrc to add "--color=auto" the ls command. What I have failed to notice (literally for years) is that it was only working for certain types of entries. In particular, I was seeing directories blue, pipes brown, sockets pink, and SOME text files (.bin, .py) green. But other text files (such as .log were not colored, and I wasn't seeing any red for archives or pink for media files). I had just assumed that I would be getting the behavior listed in /etc/DIR_COLORS for each extension.

Also, the output of the set command includes:

Code:

ls_colors='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=01;05;37;41:mi=01;05;37;41: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:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;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:*.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:*.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:*.pdf=00;32:*.ps=00;32:*.txt=00;32:*.patch=00;32:*.diff=00;32:*.log=00;32:*.tex=00;32:*.doc=00;32:*.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:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:'


It was pretty obvious that ls was not using the ls_colors variable.

After playing around for a while, I added the following line to /etc/DIR_COLORS:

Code:

.foo 00;32


I logged out and logged back in changing nothing else. Then I noticed that I now have an LS_COLORS in my environment (which is the same as ls_colors, except that "*.foo=00;32:" has been tacked on to the end, and now ALL of the extensions are correctly colored (log files, archives, media files).

That leads to some obvious questions:

1. What is the purpose of ls_colors (it seems to be ignored completely, and thus has no value)?
2. Where are the "default" (with no LS_COLORS variable in the environment) color rules coming from?
3. What is causing LS_COLORS to be set (and why wasn't it being set before I altered /etc/DIR_COLORS)?
Back to top
View user's profile Send private message
Ant P.
Watchman
Watchman


Joined: 18 Apr 2009
Posts: 6920

PostPosted: Sun Apr 03, 2016 3:44 pm    Post subject: Reply with quote

It's set in /etc/bash/bashrc. Recently (within the past few weeks) someone tried to make that code "clever", and broke the default case for everyone. Having a ~/.dir_colors or /etc/DIR_COLORS file, which is what you did, forces it to work again.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Other Things Gentoo All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum