Запуск экрана GNU с 256 цветами на OS X Lion

8

Terminal.app в Mac OS X Lion имеет функцию, для реализации которой потребовалось много времени: поддержка 256 цветов. Цвета работают нормально. У меня проблема в том, что при запуске экрана GNU у меня нет доступа к 256 цветам. На экране $ TERM установлен на «экран».

Я читал разные вещи в разных местах и ​​очень смущен. Некоторые из них включают в себя:

  • Экран GNU должен быть скомпилирован с поддержкой цвета (Как я могу узнать, был ли экран OS X скомпилирован таким образом?)
  • Должен быть установлен специальный файл terminfo для screen-256color. OS X имеет это?
  • В .screenrc термин должен быть установлен на "screen-256color".
  • Некоторые функции в Emacs должны быть вызваны, чтобы Emacs был красочным ( http://www.emacswiki.org/emacs/GnuScreen#toc6 )

Я испробовал варианты этих процедур и потерпел неудачу и не знал, почему потерпел неудачу. Какой самый прямой способ для меня включить 256 цветов на экране GNU?

hekevintran
источник
1
@PaulR Вы правы, но, тем не менее, это хороший вопрос.

Ответы:

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 хаха!
Хекевинтран
FWIW, я сообщил об этом как об ошибке на bugreport.apple.com , так что, надеюсь, это будет исправлено в Mountain Lion.
Матиас Биненс
2
Пользователи Homebrew: homebrew-dupes имеет рецепт для экрана, в том числе --enable-colors256. $ brew tap homebrew / dupes #, если вы еще не установили экран установки $ brew
chrisk
1

Добавьте следующее к вашему ~/.screenrc

term "screen-256color"

А потом попробуй, должно получиться.

JRG
источник
FWIW это все, что мне нужно в 10.7.5 и 10.8.2.
tvon
@ tvon Я не могу заставить его работать на моем OSX 10.7.5. Есть идеи почему?
Фани