2011-12-29 7 views
6

Quiero ejecutar la pantalla GNU dentro de un buffer de modo de término de Emacs. Cuando trato de hacer esto me da un error:Cómo instalar una entrada terminfo (color eterm de Emacs)?

$ screen 
Cannot find terminfo entry for 'eterm-color'. 

Este error indica que debo instalar la entrada terminfo eterm color. Intenté hacer esto de 2 formas que ambas fallaron.

El primer intento fue utilizar la variable de entorno TERMINFO.

mi .bashrc:

export TERMINFO=~/.terminfo 

luego hice:

$ mkdir -p ~/.terminfo/e/ 
$ cp /usr/local/Cellar/emacs/23.3a/share/emacs/23.3/etc/e/* ~/.terminfo/e/ 

En el período de la modalidad de búfer de la entrada eterm color no se encuentra. Dice que tiene un color de término de TERMCAP en lugar de un archivo real.

$ infocmp 
#  Reconstructed via infocmp from file: TERMCAP 
eterm-color, 
     am, mir, xenl, 
     colors#8, cols#138, it#8, lines#41, pairs#64, 
     bel=^G, bold=\E[1m, clear=\E[H\E[J, cr=^M, 
     csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, 
     cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, 
     cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, 
     dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, 
     el=\E[K, el1=\E[1K, home=\E[H, ht=^I, ich=\E[%p1%[email protected], 
     il=\E[%p1%dL, il1=\E[L, ind=^J, invis=\E[8m, kbs=\177, 
     kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, 
     kdch1=\E[3~, kend=\E[4~, khome=\E[1~, knp=\E[6~, kpp=\E[5~, 
     nel=^M^J, op=\E[39;49m, rc=\E8, rev=\E[7m, rmir=\E[4l, 
     rmso=\E[27m, rmul=\E24m, rs1=\Ec, sc=\E7, setab=\E[4%p1%dm, 
     setaf=\E[3%p1%dm, sgr0=\E[m, smir=\E[4h, smso=\E[7m, 
     smul=\E[4m, 

El segundo intento fue el uso de enlaces simbólicos.

$ sudo mkdir /usr/share/terminfo/e/ 
$ sudo cp /usr/local/Cellar/emacs/23.3a/share/emacs/23.3/etc/e/* /usr/share/terminfo/e/ 

Esto falló de la misma manera que el primer intento.

¿Por qué ninguno intentó funcionar? ¿Cómo instalo la entrada terminfo de color eterm?

Ejecuto OS X 10.6.8 y Emacs 23.3.1.

+0

Consulte http://stackoverflow.com/faq#bounty en lugar de agregar una etiqueta. – Charles

Respuesta

5

Lo siguiente funcionó para mí en FreeBSD.

Ponga la entrada de termcap pegada a continuación en/usr/share/misc/termcap y ejecute # cd /usr/share/misc/ && cap_mkdb termcap.

# Termcap entry for eterm-color (taken from $TERMCAP set by emacs and formatted) 
    eterm-color|Emacs term.el terminal emulator term-protocol-version 0.96:\ 
      :am:bs:mi:pt:xn:\ 
      :Co#8:co#166:li#48:pa#64:\ 
      :@7=\E[4~:AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:\ 
      :DL=\E[%dM:DO=\E[%dB:IC=\E[%[email protected]:LE=\E[%dD:RI=\E[%dC:\ 
      :UP=\E[%dA:al=\E[L:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ 
      :cl=\E[H\E[J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:dc=\E[P:\ 
      :dl=\E[M:do=^J:ei=\E[4l:ho=\E[H:im=\E[4h:kD=^[[3~:\ 
      :kN=\E[6~:kP=\E[5~:kb=^?:kd=\EOB:kh=\E[1~:kl=\EOD:\ 
      :kr=\EOC:ku=\EOA:le=^H:md=\E[1m:me=\E[m:mk=\E[8m:mr=\E[7m:\ 
      :nd=\E[C:op=\E[39;49m:r1=\Ec:rc=\E8:sc=\E7:se=\E[27m:sf=^J:\ 
      :so=\E[7m:ta=^I:ue=\E[m:\ 
      :up=\E[A:us=\E[4m: 
+2

También sería bueno agregar una entrada de termcap de nivel de usuario para emacs-color en los hosts donde uno no tiene acceso de root. – jrm

Cuestiones relacionadas