Esecuzione di GNU Screen con 256 colori su OS X Lion


8

Terminal.app in Mac OS X Lion ha una funzionalità che ha richiesto molto tempo per essere implementata: supporto a 256 colori. I colori funzionano bene. Il problema che sto riscontrando è che quando eseguo GNU Screen non ho accesso a 256 colori. Nella schermata, $ TERM è impostato su "schermo".

Ho letto cose diverse in posti diversi e sono molto confuso. Alcuni di questi includono:

  • Lo schermo GNU deve essere compilato con il supporto del colore (come posso sapere se lo schermo di OS X è stato compilato in questo modo?)
  • È necessario installare un file terminfo speciale per screen-256color. OS X ha questo?
  • In .screenrc, il termine deve essere impostato su "screen-256color".
  • Alcune funzioni in Emacs devono essere chiamate affinché Emacs sia colorato ( http://www.emacswiki.org/emacs/GnuScreen#toc6 )

Ho provato varianti di queste procedure e non ho avuto successo e non sono sicuro del motivo per cui ho fallito. Qual è il modo più diretto per abilitare 256 colori nello schermo GNU?


1
@PaulR Hai ragione, ma è comunque una buona domanda.

Risposte:


6

Per impostazione predefinita, screennon è a conoscenza del fatto che è in esecuzione con 256 colori xterm. Per fare in modo che i programmi screenriconoscano questa funzione, devi impostare un paio di cose nel tuo ~/.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" 

Se questo non funziona per te, screenprobabilmente la tua versione di non è stata compilata ./configure --enable-colors256. Puoi verificarlo nella schermata di benvenuto all'avvio screen. La versione predefinita fornita con OS X non supporta 256 colori. Potresti controllare il sorgente e compilare la tua versione, inserendo il binario risultante nel tuo $PATH(l'ho messo in quello ~/binche ho aggiunto al mio $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

Fonti: 1 e 2


1
Grazie mille. Questo problema mi ha irritato per così tanto tempo. Qualcuno di Apple ha pensato che fosse una buona idea spedire un emulatore terminale con 256 colori e un multiplexer terminale con 8 haha!
Hekevintran,

FWIW, l'ho segnalato come bug su bugreport.apple.com , quindi spero che questo verrà risolto in Mountain Lion.
Mathias Bynens,

2
Utenti homebrew : homebrew-dupes ha una ricetta per lo schermo incluso --enable-colors256. $ brew tap homebrew / dupes # se non hai già $ brew schermata di installazione
chrisk

1

Aggiungi quanto segue al tuo ~/.screenrc

term "screen-256color"

E poi prova, dovrebbe funzionare.


FWIW questo è tutto ciò di cui avevo bisogno in 10.7.5 e 10.8.2.
tvon

@tvon Non riesco a farlo funzionare sul mio OSX 10.7.5. Qualche idea sul perché?
Phani,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.