在OS X Lion上运行256色的GNU屏幕


8

Mac OS X Lion中的Terminal.app具有需要很长时间才能实现的功能:256色支持。颜色很好。我遇到的问题是,当我运行GNU Screen时,我无法访问256种颜色。在屏幕中,$ TERM设置为“屏幕”。

我在不同的地方读过不同的东西,我很困惑。其中一些包括:

  • 必须使用颜色支持编译GNU Screen(如何判断OS X的屏幕是否以这种方式编译?)
  • 必须安装screen-256color的特殊terminfo文件。 OS X有这个吗?
  • 在.screenrc中,term应设置为“screen-256color”。
  • 必须调用Emacs中的某些函数才能使Emacs变得丰富多彩( http://www.emacswiki.org/emacs/GnuScreen#toc6

我尝试了这些程序的变化,并且不成功并且不确定我失败的原因。在GNU Screen中启用256色的最直接方法是什么?


1
@PaulR你是对的,不过这是一个很好的问题。

Answers:


6

默认情况下, screen 不知道它是以256色运行的 xterm。制作节目 screen 认识到这个功能,你需要设置一些东西 ~/.screenrc

term "screen-256color"
# terminfo and termcap for nice 256 color terminal
# allow bold colors - necessary for some reason
attrcolor b ".I" 
# tell screen how to set colors. AB = background, AF=foreground 
termcapinfo xterm 'Co#256:AB=\E[48;5;%dm:AF=\E[38;5;%dm' 
# erase background with current bg color 
defbce "on" 

如果这不适合你,你的版本 screen 可能没有编译 ./configure --enable-colors256。您可以在启动时在欢迎屏幕中查看此内容 screen OS X附带的默认版本不支持256色。 您可以查看源代码并编译自己的版本,将生成的二进制文件放入您的版本中 $PATH (我把它放进去了 ~/bin 我加入了我的 $PATH ):

git clone git://git.savannah.gnu.org/screen.git
cd screen/src
./autogen.sh
./configure --enable-colors256
make   # I got a lot of warnings here, but they don't seem to matter
sudo make install
cp screen ~/bin/screen

资料来源: 1 2


1
非常感谢你。这个问题长期困扰着我。 Apple的某个人认为发送一个256色的终端仿真器和一个8哈哈的终端多路复用器是个好主意!
hekevintran

FWIW,我报告这是一个错误 bugreport.apple.com ,希望这将在Mountain Lion中修复。
Mathias Bynens

2
自制用户: 自制,受骗者 具有 屏幕配方 包含 --enable-colors256。 $ brew tap homebrew / dupes#如果你还没有$ brew安装屏幕
chrisk

1

将以下内容添加到您的 ~/.screenrc

term "screen-256color"

然后尝试,它应该工作。


FWIW这就是我在10.7.5和10.8.2中所需要的全部内容。
tvon

@tvon我无法在我的OSX 10.7.5上运行它。知道为什么吗?
Phani
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.