为GNU屏幕设置$ TERM


12

因此,我将屏幕以256色编译,并在Konsole上以256色模式运行。如果是开始屏幕,则将TERM设置为“屏幕”。如果我手动将TERM导出到screen-256color,则一切正常。

我有两个问题。第一个是为什么屏幕在支持时将TERM设置为“ screen”而不是“ screen-256color”?第二个是如果我的.screenrc文件中包含以下行

term    screen-256color

为什么屏幕仍然没有设置我的任期?

附加信息:我正在Kubuntu Jaunty amd64上运行Screen版本4.00.03jw4(FAU)2006年5月2日


术语screen-256color在此适用于Debian测试的屏幕版本4.00.03jw4(FAU)2006年5月2日。请提供更多细节。
derobert

我似乎正在运行与您相同的屏幕版本。我想知道这是否是terminfo问题?
Zxaos

是的,您的terminfo很可能没有screen-256color,因此screen会正确拒绝将terminfo设置为此,因为您要在其下运行的应用程序会失败
njsf

如果我手动设置它,则工作正常,并且“输入颜色”将回显正确的颜色数量。无论如何,我对terminfo的了解还不足以解决此问题。有什么建议么?
Zxaos

如果tput有效,则您具有terminfo记录。
derobert

Answers:


10

屏幕默认情况下始终将TERM设置为“屏幕”。但是,您应该意识到TERM =屏幕仍然支持颜色。

我测试了在我的〜/ .screenrc中添加“ term screen-256color”,它确实将TERM设置为“ screen-256color”(屏幕版本4.00.03(FAU)06年10月23日)。屏幕可能在错误的位置查找了您的.screenrc文件?

您还可以尝试如下启动屏幕:

screen -T screen-256color

看看是否可行。


手动指定终端会启动带有正确术语的屏幕。(我关心的原因是Vim似乎不希望在屏幕上发挥出色的色彩效果,而不是使用screen而不是screen-256color,除非我将其强制设置为256色模式。的地方,我怎么检查?
Zxaos

谢谢,您的建议使我弄清楚了是因为已安装的屏幕配置文件干扰了.screenrc的解析。
Zxaos

5

实际上,问题出在我的计算机上,安装了一些冲突的屏幕配置文件。尽管他们采购了我的本地.screenrc,但他们阻止了我设置术语。禁用配置文件的使用(我将symlink〜/ .screen-profiles重命名为其他名称)导致屏幕读取在.screenrc文件中设置的术语。


0

添加您的“〜/ .screenrc”:

attrcolor b“ .I”
termcapinfo xterm'Co#256:AB = \ E [48; 5;%dm:AF = \ E [38; 5;%dm'
defbce“上”

不。即使以.screenrc中存在的屏幕开始屏幕时,TERM变量仍设置为“屏幕”
Zxaos
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.