16

So I have screen compiled with 256 colors, running on Konsole in 256 color mode. If start screen, the TERM is set to "screen". If I manually export the TERM to screen-256color everything works beautifully.

I have two questions. The first is why screen is setting the TERM to "screen" instead of "screen-256color" when it supports this? The second is, if I have the following line in my .screenrc file

term    screen-256color

why is screen still not setting my term?

Additional information: I'm running Screen version 4.00.03jw4 (FAU) 2-May-06 on Kubuntu Jaunty amd64

5
  • term screen-256color works here with screen version 4.00.03jw4 (FAU) 2-May-06 on Debian testing. More details, please.
    – derobert
    Jun 5, 2009 at 5:13
  • I appear to be running the same version of screen as you. I wonder if it's a terminfo problem?
    – Zxaos
    Jun 5, 2009 at 16:26
  • Yes, most likely your terminfo does not have screen-256color, so screen correctly refuses to set terminfo to that, since the apps you'd run under it would fail
    – njsf
    Jun 6, 2009 at 3:02
  • If I set it by hand things work and 'tput colors' echoes the correct number of colors. At any rate, I don't know enough about terminfo to fix this, then. Any suggestions?
    – Zxaos
    Jun 6, 2009 at 4:45
  • If tput works, then you have the terminfo records.
    – derobert
    Jun 7, 2009 at 0:50

3 Answers 3

10

Screen always sets TERM to "screen" by default. Nevertheless, you should realize that a TERM=screen still supports colors.

I tested adding "term screen-256color" to my ~/.screenrc and it does set the TERM to "screen-256color" for me (Screen version 4.00.03 (FAU) 23-Oct-06). Is it possible that screen is looking in the wrong place for your .screenrc file?

You can also try launching screen as follows:

screen -T screen-256color

See if that works.

2
  • Specifying the terminal by hand launches screen with the correct term. (The reason I care is that Vim doesn't seem to want to play nice, color wise, with screen instead of screen-256color unless I force it into 256 color mode. As to if screen is looking for my .screenrc in the wrong place, how would I check that?
    – Zxaos
    Jun 9, 2009 at 0:40
  • Thanks, your suggestion lead me to figuring out that it was the installed screen profiles which were messing with the parsing of my .screenrc .
    – Zxaos
    Jun 9, 2009 at 0:50
6

The issue actually turned out to be some conflicting screen-profiles that were installed on my machine. Although they sourced my local .screenrc, they prevented me from setting the term. Disabling the use of profiles (I renamed the symlink ~/.screen-profiles to something else) caused screen to read the term as set in my .screenrc file.

0

Add in your '~/.screenrc':

attrcolor b ".I"
termcapinfo xterm 'Co#256:AB=\E[48;5;%dm:AF=\E[38;5;%dm'
defbce "on"
1
  • Nope. The TERM variable is still set to 'screen' even when starting screen with that present in the .screenrc
    – Zxaos
    Jun 5, 2009 at 16:23

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .