การเรียกใช้หน้าจอ GNU ด้วย 256 สีบน OS X Lion


8

Terminal.app ใน Mac OS X Lion มีคุณสมบัติที่ใช้เวลานานในการปรับใช้: รองรับ 256 สี สีใช้งานได้ดี ปัญหาที่ฉันมีคือเมื่อฉันเรียกใช้หน้าจอ GNU ฉันไม่สามารถเข้าถึง 256 สี ในหน้าจอ $ TERM ถูกตั้งค่าเป็น "หน้าจอ"

ฉันอ่านสิ่งต่าง ๆ ในที่ต่าง ๆ และฉันสับสนมาก บางส่วนของเหล่านี้รวมถึง:

  • หน้าจอ GNU จะต้องรวบรวมด้วยการสนับสนุนสี (ฉันจะบอกได้อย่างไรว่าหน้าจอของ OS X ได้รับการรวบรวมในลักษณะนี้?)
  • ต้องติดตั้งไฟล์ terminfo พิเศษสำหรับหน้าจอ 256 สี OS X มีสิ่งนี้หรือไม่?
  • ใน. screenrc คำศัพท์ควรถูกตั้งค่าเป็น "screen-256color"
  • ต้องเรียกใช้ฟังก์ชันบางอย่างใน Emacs เพื่อให้ Emac มีสีสัน ( http://www.emacswiki.org/emacs/GnuScreen#toc6 )

ฉันลองใช้วิธีการเหล่านี้หลายรูปแบบและไม่ประสบความสำเร็จและไม่แน่ใจว่าทำไมฉันจึงล้มเหลว วิธีที่ตรงที่สุดสำหรับฉันที่จะเปิดใช้งาน 256 สีในหน้าจอ GNU คืออะไร?


1
@ PaulR คุณพูดถูก แต่มันเป็นคำถามที่ดี

คำตอบ:


6

โดยค่าเริ่มต้นscreenจะไม่ทราบว่ามันคือการทำงานใน xterm256 ในการทำให้โปรแกรม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 เวอร์ชันเริ่มต้นที่มาพร้อมกับ OS X ไม่รองรับ 256 สี คุณสามารถตรวจสอบแหล่งที่มาและรวบรวมรุ่นของคุณเองวางไบนารีผลลัพธ์ในของคุณ(ฉันใส่ไว้ในที่ที่ฉันเพิ่มลงในของฉัน):screen$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
งัด Bynens

2
ผู้ใช้ Homebrew: homebrew-หลอกมีสูตรสำหรับหน้าจอ--enable-colors256รวมทั้ง $ brew แตะ homebrew / dupes # หากคุณยังไม่ได้ติดตั้ง $ brew หน้าจอ
chrisk

1

เพิ่มสิ่งต่อไปนี้ใน ~/.screenrc

term "screen-256color"

แล้วลองใช้งานได้


FWIW นี่คือทั้งหมดที่ฉันต้องการใน 10.7.5 และ 10.8.2
tvon

@tvon ฉันไม่สามารถทำงานกับ OSX 10.7.5 ได้ มีความคิดอะไรบ้าง
ฟานี
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.