2012-04-10 11 views
10

Ich habe Probleme, 256 Farben mit Emacs 23.1.1 Verbindung mit PuTTY und Bildschirm zu arbeiten. Auf dem Server wird CentOS 5.6 ausgeführt.Emacs 256 Farben funktionieren nicht mit PuTTY und Bildschirm

In meiner PuTTY-Konfiguration ist meine terminal-type Zeichenfolge auf xterm-256color festgelegt. In meinem .screenrc habe ich term xterm-256color Einmal im Bildschirm tput colors gibt mir 256, echo $TERM gibt mir xterm-256color, aber sobald ich Emacs starten M-x list-colors-display gibt mir nur 8 Farben.

Nicht sicher, was das Problem ist.

Danke.

+0

Ich glaube, ich sollte erwähnen, dass ich auf einem anderen Server arbeiten 256 Farben hatten 4.5 laufen CentOS, haben aber auf einen neuen Server laufen CentOS 5.6 migriert. Ich habe meine .emacs und .screenrc vom ersten auf den zweiten Server kopiert. Vielleicht deutet das auf ein Problem mit CentOS 5.6 hin. –

+0

Wenn ich mich einfach mit dem Server verbinde und emacs starte, ohne eine Bildschirmsitzung zu starten, listet 'Mx list-colors-display' weitere Farben auf, aber die nach den ersten 8 werden in den normalen Vorder- und Hintergrundfarben (weiß und schwarz), nicht die aufgelisteten Farben. –

+0

Hilft irgendetwas in http://stackoverflow.com/a/7629752/391315? – vhallac

Antwort

0

Ich hatte ähnliche Schwierigkeiten, ich glaube, beide dieser Zeilen wurden für Bildschirm, Kitt und Emacs benötigt, um mit 256 Farben auszukommen.

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

Sie können diese Linie auch benötigen.

defbce "on" 

Sprechen Sie, wenn das immer noch nicht genug ist.

+1

Danke, aber ich hatte bereits alle diese Zeilen in meiner .screenrc. –

+0

Ein paar zufällige Vorschläge. Schauen Sie sich die Artikel # 1 und # 2 [hier] [http://emacswiki.org/emacs/PuTTY#toc2] an. Die ncurses-Term-Suggestion kommt mir bekannt vor. Vielleicht musste ich das selbst machen, um meine eigenen Einstellungen zu ermöglichen. Aber die Einzelheiten entziehen sich mir jetzt. Wenn das nicht funktioniert, sollten Sie versuchen, tmux auszuprobieren, um zu sehen, ob das zumindest funktioniert. Ich kann schätzen, wenn Sie nicht den Schalter schalten möchten, aber das Fummeln mit tmux kann den Weg zu einer Arbeitsbildschirmkonfiguration zeigen. –

1

Putty hat eine Einstellung, um den 256-Farben-Modus zu ermöglichen. Es ist unter Fenster/Farben, mit der Beschriftung "Erlauben Terminal Xterm 256-Farbmodus zu verwenden". Stellen Sie sicher, dass es überprüft wird.

Nachdem Sie Emacs laden, können Sie die TERM Wert Emacs bestätigen verwendet mit:

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

Es (tty-type . "xterm-256color") sein sollte.

+0

Ja, hatte bereits 256 Farbmodus in PuTTY. Außerdem gibt der Lisp-Befehl den erwarteten Wert zurück. –

1

Verwenden Sie stattdessen emacs im Daemon-Modus (emacs --daemon) und öffnen Sie emacsclients (emacsclient -t) anstelle von screen/tmux. Dies gibt Ihnen eine weniger Variable, die bei der Fehlersuche behandelt wird.

0

Ich hatte ein ähnliches Problem mit Kitt und Bildschirm, obwohl nicht Emacs verwenden. Nach einer Antwort von mir ging ich zu Window/Colors in Putty. Dort habe ich "Systemfarben verwenden" gefunden und überprüft. Das hat mein Problem behoben.

1

Mit Blick auf Ihren Beitrag und Ihre Antworten an andere, es klingt wie Ihr Problem ist ... Bildschirm. Um meine Hypothese zu testen, versuchen Sie dies ...

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

... wenn Sie 256 Farben in der Schale zu sehen, aber nicht in Bildschirm, das Problem ist, Bildschirm. Und, selbst wenn es andere Probleme gibt, müssen Sie den Bildschirm reparieren, um irgendeine Hoffnung zu haben, 256 Farben in emacs zu sehen;)

Ich habe vor kurzem diese Situation für mich selbst auf einem System behoben, wo ich nicht Sudo durch Erstellen einer persönlichen Kopie des Bildschirms. Der Bildschirm ist klein und es ist keine große Sache zu tun ... und, IMHO, Emacs w/256 Farben ist die Mühe wert.

Auf Linux 2.6.x habe ich dies:

$ 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 

Test, um den neuen Bildschirm aus mit ...

$ ~/bin/screen 
$ ./256colors2.pl 

... wenn es funktioniert, setzen Sie dies in Ihrem ~ /.Bashrc:

PATH = ~/bin: $ PATH; export PATH

Der Bildschirm Ich landete mit Berichten eine frühere Version zu sein ...

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

... als die Version auf meinem System:

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

Aber während sie beide Anspruch auf Unterstützung 256 Farben ...

$ tput colors 
256 

Nur der neue Build tut wirklich. Ja!

4

Ich traf das gleiche Problem.

um dieses Problem zu beheben, nur diese in dem ~/.bashrc (ja, ich benutze bash)

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

run Bildschirm und Emacs in einem Bildschirmfenster. jetzt ist es ok.

Versionen:

bash-4.2.45

Emacs-24.3_10

Screen-Version 4.00.03 (FAU) 23-Oct-06

1

Ihre ~/.screenrc sollte lauten:

term bildschirm-256color

(dies ist nicht mit xterm-256color verwechselt werden sollte)