Comment puis-je configurer mon terminal Linux X pour que Emacs a accès à 256 couleurs?
Question
Quand je lance emacs -nw
dans une fenêtre de terminal X, et je demande M-x list-colors-display
, je me propose une palette dérisoires:
black
red
green
yellow
blue
magenta
cyan
white
On me dit qu'il est possible d'obtenir 265 couleurs. Réglage de la variable d'environnement TERM
à xterm-256color
ne fait pas le travail. Qu'est-ce?
La solution
Selon ce vous avez besoin bibliothèque ncurses-term
en plus de la mise à TERM
xterm-256color
.
D'accord, cette a d'autres choses à essayer comme :
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
et
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
Autres conseils
Réglage TERM
à xterm-256color
ce que vous voulez faire. En outre, Emacs 22 (au moins) n'a pas besoin de configuration particulière de moi afin d'afficher 256 couleurs. Voir cette question connexe. Avec le paquet ncurses-term
installé, je suis en mesure d'obtenir 256 couleurs sur Emacs en utilisant le xterm de vanille qui est venu avec ma version d'Ubuntu (Interpid, dans ce cas, mais je suppose que ce sera bien sur les versions antérieures). J'ai aussi reçu 256 couleurs à l'aide du terminal Gnome, Konsole et PuTTY, pour ce que ça vaut.
Quand je googlé ce que j'ai eu l'impression que la plupart des distros ne permettent pas 256 support de la couleur dans les émulateurs emballés.
Je suppose que si vous continuez à vous cherchez peut-être venir à la même conclusion que moi. La meilleure réponse est de télécharger urxvt et compiler vous-même avec toutes les cloches et sifflets sous tension.
J'utilisais vim, donc il peut y avoir d'autres dépendances / Bogues qui sont spécifiques emacs, mais je suis assez sûr un terminal qui prend en charge 256 couleurs est important.