Quiero saber si es posible hacer emacs, cuando se ejecuta en una pantalla gnu o una sesión tmux, use los mismos colores que cuando TERM=xterm. En una pantalla gnu o una sesión tmux,   TERM=screeny emacs usa un conjunto diferente de colores en comparación con cuándo TERM=xterm.
Por ejemplo, cuándo TERM=xterm-256color, el color de primer plano font-lock-comment-facees 'Firebrick'. Pero cuando TERM=screen-256color, se establece en 'chocolate1'.
Para que tmux funcione correctamente, la variable TERM debe establecerse en pantalla o alguna derivada, por lo que restablecer TERM no es una opción para mí.

TERM=xterm emacsforzar laTERMconfiguración variable para emacs. ¿Qué pasa cuando haces eso?Respuestas:
La definición de
font-lock-comment-faceincluye muchas variantes para casos de diferentes colores.chocolate1variante se utiliza cuando hay al menos 88 colores disponibles y el "fondo" es "oscuro".Firebrickvariante se utiliza cuando hay al menos 88 colores disponibles y el "fondo" es "claro".La diferencia es causada por un código que le da un significado especial a los valores término que comienzan con
xterm,rxvt,dtterm, yeterm: se les considera que tienen un fondo “luz”.Debería poder personalizar
frame-background-mode* a sulightvalor para usar siempre las variantes de color "claro".Si su Emacs no es lo suficientemente nuevo como para tener el suyo
term/screen.el, entonces también necesitará adaptar uno que haga las llamadas de ajuste de color apropiadas. Puede usar el de la troncal de Emacs , o tengo un Gist que incluye un.emacs.d/lisp/term/screen.el(con algunos bits adicionales para reconocer el modificador + flechas / Inicio / secuencias finales proporcionadas por la opción de tmuxxterm-keys), y la.emacsmodificación necesaria para permitir que se cargue automáticamente .Por supuesto, todavía podría haber otros bits de código que consultar directamente el valor a largo plazo y hacer algo diferente para
screen- yxterm-como valores ...* Mx personalizar-variable-frame-background-mode
fuente