Emacs 256色不能使用PuTTY和屏幕

时间:2012-04-10 17:53:07

标签: emacs putty emacs23

我无法使用emacs 23.1.1使用PuTTY和屏幕连接获得256种颜色。服务器正在运行CentOS 5.6。

在我的PuTTY配置中,我的终端类型字符串设置为xterm-256color。在我的.screenrcterm xterm-256color一旦进入屏幕tput colors给了我256echo $TERM给了我xterm-256color,但一旦我启动了emacs {{ 1}}只给我8种颜色。

不确定是什么问题。

感谢。

7 个答案:

答案 0 :(得分:4)

我遇到了同样的问题。

要解决此问题,只需将其添加到〜/ .bashrc(是的,我使用bash)

# -----------
export TERM=xterm-256color
export TERMCAP=
# ------------

在屏幕窗口中运行屏幕和emacs。现在好了。

版本:

的bash-4.2.45

的emacs-24.3_10

屏幕版本4.00.03(FAU)2006年10月23日

答案 1 :(得分:1)

Putty的设置允许256色模式。它位于Window / Colors下,标记为“允许终端使用xterm 256色模式”。确保已经检查过。

加载emacs后,您可以确认emacs正在使用的TERM值:

(assoc 'tty-type (frame-parameters (car (frame-list))))

应为(tty-type . "xterm-256color")

答案 2 :(得分:1)

尝试在守护进程模式下使用emacs(emacs --daemon),并打开emacsclients(emacsclient -t)而不是使用screen / tmux。这将为您在调试时提供一个较少的变量。

答案 3 :(得分:1)

查看您的帖子以及您对其他人的回复,听起来您的问题是...屏幕。为了验证我的假设,试试这个......

$ wget http://www.frexx.de/xterm-256-notes/data/256colors2.pl
$ chmod 755 256colors2.pl
$ ./256colors2.pl

...如果您在外壳中看到256种颜色,但屏幕中没有,则问题是屏幕。并且,即使存在其他问题,您也必须修复屏幕才能在emacs中看到256种颜色;)

我最近在一个系统中修复了这种情况,我没有通过构建个人屏幕副本来获得sudo。屏幕很小,没什么大不了的...而且,恕我直言,有256色的emacs非常值得打扰。

在Linux 2.6.x上我这样做了:

$ wget ftp://ftp.gnu.org/gnu/screen/screen-4.0.3.tar.gz 
$ tar -xf screen-4.0.3.tar.gz
$ cd screen-4.0.3
$ ./configure --prefix=$HOME --enable-colors256
$ make
$ make install 

使用...

测试新屏幕
$ ~/bin/screen
$ ./256colors2.pl

...如果有效,请将其放在〜/ .bashrc中:

PATH =〜/ bin:$ PATH;出口道路

屏幕上我的报告是早期版本......

$ ~/bin/screen -v
Screen version 4.01.00devel (GNUdf0777e) 2-May-06

...比我系统上的版本:

$ /usr/local/bin/screen -v
Screen version 4.00.03 (FAU) 23-Oct-06

但他们都声称支持256种颜色......

$ tput colors 
256

只有新版本确实如此。呀!

答案 4 :(得分:1)

您的~/.screenrc应为:

  

术语screen-256color

(这不应该与xterm-256color混合)

答案 5 :(得分:0)

我遇到了类似的困难,我相信屏幕,腻子和emacs都需要这两条线来兼容256种颜色。

termcapinfo xterm 'Co#256:AB=\E[48;5;%dm:AF=\E[38;5;%dm'
term xterm-256color

您可能也需要此行。

defbce "on"

说出来还是不够。

答案 6 :(得分:0)

虽然没有使用emacs,但我在使用putty和screen时遇到了类似的问题。在ataylor的回应之后,我去了Putty的Window / Colors。在那里,我找到并检查了“使用系统颜色”。这解决了我的问题。