Using GNU Screen with 256 colors
Solution 1
I personally put it in ~/.bashrc
export TERM=xterm-256color
If that does not work, what terminal are you using ?
Solution 2
If you built screen from source you'll need to recompile it with the 256 color flag enabled. Run ./configure --enable-colors256 && make && sudo make install
Related videos on Youtube
Scott
Updated on September 18, 2022Comments
-
Scott over 1 year
I recently installed GNU screen on a machine I ssh into. How do I get GNU screen to use 256 colors?
So far, I've tried adding the following to my
.screenrc
:term screen-256color
and
attrcolor b ".I" # allow bold colors - necessary for some reason termcapinfo xterm 'Co#256:AB=\E[48;5;%dm:AF=\E[38;5;%dm' # tell screen how to set colors. AB = background, AF=foreground defbce on # use current bg color for erased chars
but neither worked.
In the login shell, before I start screen, when I run this script, which prints 256 colors, I get normal output. When I use the command
tput colors
I get the output8
.When I start screen and run the script, I get 16 colors mapped to 256 colors - there are large blocks of solid color. When I run
tput colors
I get256
(whenterm screen-256color
is in my .screenrc).edit: I got it to work - I didn't configure screen with the
--enable-colors256
option.-
Alexei Averchenko over 12 yearsWhat does
echo $COLORTERM
say? -
Scott over 12 years
undefined
, but I got it to work - I recompiled it with the--enable-colors256
option. -
Adobe about 12 yearsI have file names in color, but command prompt in black-and-white. Is you prompt in color also? (I mean - after you've re-build it yourself)
-
-
Matthew almost 11 yearsThis is what fixed it for me. Need this in ~/.bashrc and the 3 lines listed in the original question for attrcolor, termcapinfo and defbce in the .screenrc. Thanks.
-
trusktr almost 10 yearsThis worked. But adding the other stuff to ~/.screenrc makes everything output escape sequences instead of colors, like some sort of alien terminal.
-
Mostafa Shahverdy over 9 yearsThis was my problem! I recompiled the source code, and added those three lines to my .screenrc!
-
John Von Neumann almost 5 yearsThis should be the accepted answer. Fixed an annoying bug I never got round to for ages.
-
Arusekk about 4 years
.bashrc
is a wrong place for settingTERM
variable. See jdebp.eu./Softwares/nosh/guide/TERM.html#MIS-CONFIGURATION