Try not exporting the TERM
variable at all. This should be set by the terminal itself to an appropriate value. The linux console should set this to linux
, while various X based terminal programs might use the value you set.
You should only set this as an override for when the default values do not work or don't get passed as when SSH'ing to a location that does not recognize your environment.
If you are wanting to change your colours in the console, that is outside X, then you can specify colours in your .bashrc
, like so:
if [ "$TERM" = "linux" ]; then
echo -en "\e]P0222222" #black
echo -en "\e]P8222222" #darkgrey
echo -en "\e]P1803232" #darkred
....
fi
Where you are defining black as #222222
See this post for the details: http://phraktured.net/linux-console-colors.html
If you are working in X, then you can customize your setup by defining your colours in your .Xresources
like so:
!black
*color0: #3D3D3D
*color8: #5E5E5E
!red
*color1: #8C4665
*color9: #BF4D80
...
and then sourcing this file when you start X, typically from your .xinitrc
:
xrdb -merge ~/.Xresources
The Arch Wiki has a page on .Xresources that explains all of the options:
https://wiki.archlinux.org/index.php/Xresources
Another enhancement you can make either in X or not is to specify all of the different filetypes that you would like to colour—and their respective colours in a .dir_colors
file, like so:
.xinitrc 01;31
.Xauthority 01;31
.Xmodmap 00;31
.Xresources 01;33
...
To get started, copy /etc/dir_colors
to your user's /home
directory and make your changes. Then source this from your .bashrc
with eval $(dircolors -b ~/.dir_colors)
This will allow you fine-grained control over the colours of files and filetypes when you use ls
.
You can find (an incredibly detailed and thorough) .dir_colors
example file here:
https://github.com/trapd00r/LS_COLORS/blob/master/LS_COLORS
With a combination of all three approaches, you can create a reasonably uniform setup, whether you are working in the console or in X.
Best Answer
Here
/sys/module/vt/parameters
are three files:Yellow is green and red. If you want to "boost" the normal color yellow (which you may have as brown), change the color with index three (the fourth slot) - set it to
255
in the green and red files.Then,
echo -n '\033]R'; tput setaf 3; echo hi
and you should get yellow.For me, it seems this is already the color for bright yellow, in which case you'd use:
tput bold; tput setaf 3; echo hi
.If you need to setup the prompt differently in the console and in X, in your
.rc
file, before you setPS1
, find out if you are in the console or in X. Set the color accordingly.