Menjalankan Layar GNU dengan 256 warna pada OS X Lion

8

Terminal.app di Mac OS X Lion memiliki fitur yang membutuhkan waktu lama untuk diimplementasikan: dukungan 256 warna. Warnanya bekerja dengan baik. Masalah yang saya alami adalah ketika saya menjalankan Layar GNU saya tidak memiliki akses ke 256 warna. Di layar, $ TERM diatur ke "layar".

Saya sudah membaca berbagai hal di tempat yang berbeda dan saya sangat bingung. Beberapa di antaranya adalah:

  • Layar GNU harus dikompilasi dengan dukungan warna (Bagaimana saya bisa tahu jika layar OS X dikompilasi dengan cara ini?)
  • File terminfo khusus untuk layar-256color harus diinstal. Apakah OS X punya ini?
  • Dalam .screenrc, istilah harus diatur ke "screen-256color".
  • Fungsi-fungsi tertentu dalam Emacs harus dipanggil agar Emacs menjadi berwarna ( http://www.emacswiki.org/emacs/GnuScreen#toc6 )

Saya mencoba variasi prosedur ini dan tidak berhasil serta tidak yakin mengapa saya gagal. Apa cara paling langsung bagi saya untuk mengaktifkan 256 warna di Layar GNU?

hekevintran
sumber
1
@ PaulR Anda benar, tapi itu pertanyaan yang bagus.

Jawaban:

6

Secara default, screentidak menyadari bahwa itu berjalan dalam kemampuan 256 warna xterm. Untuk membuat program screenmengenali fitur ini, Anda perlu mengatur beberapa hal di ~/.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" 

Jika ini tidak berhasil untuk Anda, versi Anda screenmungkin belum dikompilasi ./configure --enable-colors256. Anda dapat memeriksa ini di layar pembuka saat memulai screen. Versi default yang menyertai OS X tidak mendukung 256 warna. Anda dapat memeriksa sumbernya dan mengkompilasi versi Anda sendiri, meletakkan biner yang dihasilkan di $PATH( Anda taruh di ~/binmana saya menambahkan ke saya $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

Sumber: 1 dan 2

Mathias Bynens
sumber
1
Terima kasih banyak. Masalah ini telah menjengkelkan saya begitu lama. Seseorang di Apple berpikir itu adalah ide yang baik untuk mengirim emulator terminal dengan 256 warna dan terminal multiplexer dengan 8 haha!
hekevintran
FWIW, saya melaporkan ini sebagai bug di bugreport.apple.com , jadi semoga ini akan diperbaiki di Mountain Lion.
Mathias Bynens
2
Pengguna homebrew : homebrew-dupes memiliki resep untuk menyertakan layar--enable-colors256 . $ brew ketuk homebrew / dupes # jika Anda belum menginstal $ brew layar instal
chrisk
1

Tambahkan berikut ini ke ~/.screenrc

term "screen-256color"

Dan kemudian coba, itu akan berhasil.

jrg
sumber
FWIW inilah yang saya butuhkan di 10.7.5 dan 10.8.2.
tvon
@tvon Saya tidak bisa mengaktifkannya di OSX 10.7.5 saya. Ada yang tahu kenapa?
Phani