Chạy màn hình GNU với 256 màu trên OS X Lion


8

Terminal.app trong Mac OS X Lion có một tính năng mất nhiều thời gian để triển khai: hỗ trợ 256 màu. Các màu sắc hoạt động tốt. Vấn đề tôi gặp phải là khi chạy GNU Screen tôi không có quyền truy cập 256 màu. Trong màn hình, $ TERM được đặt thành "màn hình".

Tôi đã đọc những thứ khác nhau ở những nơi khác nhau và rất bối rối. Một số trong số này bao gồm:

  • Màn hình GNU phải được biên dịch với hỗ trợ màu (Làm cách nào để biết màn hình của OS X được biên dịch theo cách này?)
  • Một tập tin terminfo đặc biệt cho màn hình-256 màu phải được cài đặt. OS X có cái này không?
  • Trong .screenrc, thuật ngữ nên được đặt thành "screen-256color".
  • Một số chức năng trong Emacs phải được gọi để Emacs có màu sắc ( http://www.emacswiki.org/emacs/GnuScreen#toc6 )

Tôi đã thử các biến thể của các thủ tục này và đã không thành công và không chắc chắn tại sao tôi thất bại. Cách trực tiếp nhất để tôi kích hoạt 256 màu trong Màn hình GNU là gì?


1
@PaulR Bạn nói đúng, tuy nhiên đó là một câu hỏi hay.

Câu trả lời:


6

Theo mặc định, screenkhông biết rằng nó đang chạy trong khả năng 256 màu xterm. Để làm cho các chương trình screennhận ra tính năng này, bạn cần đặt một vài điều trong ~/.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" 

Nếu điều này không phù hợp với bạn, phiên bản của bạn screencó thể không được biên dịch ./configure --enable-colors256. Bạn có thể kiểm tra điều này trong màn hình chào mừng khi bắt đầu screen. Phiên bản mặc định đi kèm với OS X không hỗ trợ 256 màu. Bạn có thể kiểm tra nguồn và biên dịch phiên bản của riêng bạn, đặt nhị phân kết quả vào $PATH(Tôi đặt nó vào trong ~/binđó tôi đã thêm vào $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

Nguồn: 12


1
Cảm ơn rât nhiều. Vấn đề này đã gây khó chịu cho tôi quá lâu. Ai đó ở Apple nghĩ rằng nên gửi một trình giả lập thiết bị đầu cuối với 256 màu và bộ ghép kênh đầu cuối với 8 haha!
hekevintran

FWIW, tôi đã báo cáo đây là một lỗi tại bugreport.apple.com , vì vậy hy vọng điều này sẽ được khắc phục trong Mountain Lion.
Mathias Bynens

2
Người dùng homebrew : homebrew-dupesmột công thức cho màn hình bao gồm --enable-colors256. $ brew tap homebrew / dupes # nếu bạn chưa có màn hình cài đặt $ brew
chrisk

1

Thêm phần sau vào ~/.screenrc

term "screen-256color"

Và sau đó thử, nó sẽ làm việc.


FWIW đây là tất cả những gì tôi cần trong 10.7.5 và 10.8.2.
tvon

@tvon Tôi không thể làm cho nó hoạt động trên OSX 10.7.5 của tôi. Bất cứ ý tưởng tại sao?
Phani
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.