一尘不染

如何设置Linux X终端,以便Emacs可以访问256种颜色?

linux

当我emacs -nw在X终端窗口中运行并要求M-x list-colors-display时,会得到一个微不足道的调色板:

black                                                     
red    
green  
yellow 
blue   
magenta
cyan   
white

有人告诉我有可能获得265种颜色。将TERM环境变量设置为xterm-256color不会执行此操作。什么事


阅读 302

收藏
2020-06-07

共1个答案

一尘不染

根据这个,你需要ncurses-term在除了设置库TERMxterm-256color

好吧,还有其他一些尝试:

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

和:

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
2020-06-07