Xterm is configured via X resources. This is how you might configure it for white on black, with a lighter blue than the default (adjust the color as you see fit, obviously):
XTerm.VT100.background: Black
XTerm.VT100.color0: Black
XTerm.VT100.color1: Red
XTerm.VT100.color2: Green
XTerm.VT100.color3: Yellow
XTerm.VT100.color4: CornflowerBlue
XTerm.VT100.color5: Magenta
XTerm.VT100.color6: Cyan
XTerm.VT100.color7: White
XTerm.VT100.colorBD: White
XTerm.VT100.colorBDMode: true
XTerm.VT100.colorUL: Yellow
XTerm.VT100.colorULMode: true
XTerm.VT100.cursorColor: Red
XTerm.VT100.foreground: White
You can use X color names (you can see all the color names with xcolors
or in a file called rgb.txt
which may be somewhere under /etc/X11
, /usr/X11
or /usr/share/X11
or some similar location depending on your system) or #RRGGBB
. colorBD
is the color used for bold; with colorBDMode
set to false
(the default), this setting is ignored and bold text is displayed in a bold font. The same goes for colorUL
, colorULMode
and underline. You can go beyond color8
(up to color255
, or less depending on the xterm version and compile-time configuration). color8
through color15
correspond to 0–7 with bold; colors beyond 16 are rarely used by applications unless you've explicitly configured them.
Put these settings into a file called ~/.Xdefaults
. Most systems load this file automatically when you log in. If yours doesn't, add this command to your X startup script:
xrdb -merge ~/.Xdefaults
To test the appearance of foreground color 42 over background color 17, run this in a shell in that terminal:
printf '\033[38;5;%dm\033[48;5;%dm%s\033[0m\n' 42 17 "Hello, world."
If your xterm is compiled without extended color support, you'll need to use the classical control sequences:
printf '\033[3%dm\033[4%dm%s\033[0m\n' 4 1 "Hello, world."
The foreground and background color must be in the range 0–7 in that case. If your xterm is compiled with 16-color support, replace [3
and [4
by [9
and [10
respectively to select the bright versions (colors 8–15).
The reason is because you're doing it wrong.
You said that you have an "open" color sequence at the end of your prompt. This is wrong. Colors do not nest. There's no "open" and "close". It's "switch to ..." or "reset to default" (which is actually "switch to 0"). So when ls --color=auto
switches color for something when it's done it will issue the sequence to reset to the default. It's not "go back to what it was before".
Set the terminal to use the color of text that you want to be "default" (i.e., palette number 0). Then if you want your prompt a different color set it at the beginning and a reset at the end.
For more information read the Bash Prompt HOWTO Chapter 6. ANSI Escape Sequences: Colours and Cursor Movement documentation.
Best Answer
Unfortunately it is not possible:
This is mine color setup(distribution default):
These are the options of filetype:
And, you can use filename regex to create different colors like
*.rpm
to rpm files.However, there is no specific "dir symlink" to be used with
ls
color. Sorry.