¿Cómo puedo configurar mi terminal de Linux X tal que Emacs tiene acceso a 256 colores?

StackOverflow https://stackoverflow.com/questions/684424

  •  22-08-2019
  •  | 
  •  

Pregunta

Cuando corro emacs -nw en una ventana de terminal X, y pido M-x list-colors-display, me ofrecen una paleta insignificante:

black                                                     
red    
green  
yellow 
blue   
magenta
cyan   
white  

Me han dicho que es posible obtener 265 colores. Configuración de la variable de entorno TERM a xterm-256color no hacer el trabajo. ¿Qué hace?

¿Fue útil?

Solución

Según este necesita biblioteca ncurses-term además de fijar TERM a xterm-256color.

De acuerdo, este tiene algunas otras cosas para probar como :

The xterm in Ubuntu Edgy does not advertise 256 color support by
default.  To fix this you need to install a 256 color terminfo entry,
and tell xterm to use it:

    apt-get install ncurses-term
    echo XTerm.termName: xterm-256color \
      >>~/.Xdefaults
    xrdb -merge ~/.Xdefaults

y

So you need a file term/screen-256color.el in your load-path.  Emacs
22 expects it to contain a terminal-init-screen defun.  Emacs 21
expects it to contain a bunch of top-level forms.  Here's what I use:

    ;;; This is for GNU Emacs 22
    (defun terminal-init-screen ()
      "Terminal initialization function for screen."
      ;; Use the xterm color initialization code.
      (load "term/xterm")
      (xterm-register-default-colors)
      (tty-set-up-initial-frame-faces))

    ;;; This is for GNU Emacs 21
    (if (= 21 emacs-major-version)
        (load "term/xterm-256color"))

For Emacs 21, you also need to install the xterm-256color.el file from

    http://www.splode.com/~friedman/software/emacs-lisp/src/term/xterm-256color.el

Otros consejos

Configuración TERM a xterm-256color es lo que quiere hacer. Además, Emacs 22 (al menos) no necesita ninguna configuración especial de mi parte con el fin de mostrar 256 colores. Ver este pregunta relacionada . Con el paquete de ncurses-term instalado, yo era capaz de obtener 256 colores en Emacs utilizando el xterm de vainilla que venía con mi versión de Ubuntu (interpid, en este caso, pero supongo que estará bien en versiones anteriores). También me dio 256 colores usando Gnome Terminal, Konsole, y la masilla, por lo que vale la pena.

Cuando busqué en Google esto me dio la impresión de que la mayoría de distribuciones no permiten 256 soporte de color en los emuladores de terminal envasados.

Sospecho que si sigues mirando puede llegar a la misma conclusión que yo. La mejor respuesta es descargar urxvt y compilar usted mismo con todas las campanas y silbidos encendidos.

Yo estaba utilizando vim, por lo que puede haber otras dependencias / trampas que son emacs específica, pero estoy bastante seguro de un terminal que soporta 256 colores es importante.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top