it-swarm.com.de

256 Farben in tmux zum Laufen bringen

Ich habe 256 Farben, die in konsole, Gut funktionieren. Ich dachte, ich würde tmux ausprobieren, da es im Gegensatz zum Bildschirm den vi -Modus zu unterstützen scheint. Ich stelle jedoch fest, dass die Farben meiner Eingabeaufforderung angezeigt werden, und dies liegt höchstwahrscheinlich daran, dass ich eine Eingabeaufforderung im 256-Farben-Modus habe. Was muss ich tun, damit tmux alle 256 Farben erkennt?

186
xenoterracide

In Tmux FAQ wird ausdrücklich davon abgeraten, TERM auf etwas anderes als screen oder screen-256color in Ihrer Shell-Init-Datei festzulegen. Tun Sie es also nicht!

Folgendes verwende ich:

~$ which tmux
tmux: aliased to TERM=xterm-256color tmux

und in meiner .tmux.conf:

set -g default-terminal "screen-256color"

Aliasing tmux auf "tmux -2 "sollte auch den Trick machen.

271
cannedprimates

Versuchen Sie, 256 Farben explizit in Ihrem bashrc oder zshrc festzulegen:

export TERM=xterm-256color

oder

export TERM=screen-256color

Wenn Sie Probleme damit haben, dass tmux die Hintergrundfarben bei Verwendung der Bildschirmbegriffeinstellung nicht korrekt löscht, können Sie Folgendes versuchen:

export TERM=screen-256color-bce
42
redacted

Fügen Sie dies gemäß tmux FAQ Ihrem ~/.tmux.conf Hinzu:

set -g default-terminal "screen-256color"

Fügen Sie dann diesen Alias ​​für tmux hinzu:

alias tmux='tmux -2'

Sie müssen die Variable TERM in Ihrem Profil oder beim Starten von tmux nicht überschreiben.

Weitere Informationen: http://vim.wikia.com/wiki/256_colors_setup_for_console_Vim

20
user1338062

Die neueste Version von ncurses wird mit einem tmux-256color terminfo-Eintrag geliefert (der FAQ = erwähnt dies). Ein Vorteil der Verwendung von tmux-256color gegenüber screen-256color ist, dass Kursivschrift korrekt gerendert wird (Bildschirm unterstützt Kursivschrift nicht).

Wenn Sie also das neueste ncurses-Paket haben, funktioniert auch Folgendes:

set -g default-terminal "tmux-256color"
13
Gabriel Parent

Für Leute, die den neuesten tmux haben, ist das .tmux.conf Option aus der akzeptierten Antwort sollte funktionieren.

Ich möchte nur hinzufügen, dass Sie wahrscheinlich tmux neu starten müssen, damit die neue Konfiguration wirksam wird:

tmux kill-server && tmux

Interessanterweise wird dies in den Antworten nirgends erwähnt und ich habe eine Weile gebraucht, um es herauszufinden.

4
mast3r

Wirklich wichtiger Hinweis hier, wenn Sie ein Ubuntu verwenden, das älter als Bionic ist (18.04). Wenn Sie tmux 2.1 Oder älter ausführen und dies wahrscheinlich auch tun, funktioniert im Grunde kein Rat, den Sie online über tmux lesen, für irgendetwas.

tmux -V Ist ein einfacher Test dafür. Wenn Sie 2.1 Oder älter sehen, können Sie tmux aus dem Quellcode erstellen oder ein inoffizielles Repository hinzufügen. Ich habe mein tmux aktualisiert mit:

Sudo add-apt-repository ppa:/hnakamur/tmux
Sudo apt update
Sudo apt upgrade

Persönlich, nach dem Upgrade auf 2.6, 1) funktionieren meine Schlüssel besser, 2) Online-Beratung funktioniert tatsächlich, 3) meine Farben sind nicht verrückt. Großer Fortschritt.

(Hier ist übrigens ein Link zur Repository-Seite): https://launchpad.net/~hnakamur

3
zzxyz

Ich konnte nicht erklären, warum dies funktioniert, aber es löste das Problem für mich.

~/.tmux.conf

set-option -g default-command bash
2
John Snow

Dies ist meine Lösung ... Ich bearbeite meine .bashrc-Datei und füge diese hinzu

if [ "$TERM" != "xterm-256color" ]; then
      export TERM=xterm-256color
    fi

Hoffentlich funktioniert es bei Ihnen

1
Wira Bhakti

Ich bin dankbar für alle anderen Antworten, die mir hier Hinweise geben, aber dann scheint es unnötig, die globale TERM-Einstellung AND ~/.tmux.conf Zu ändern.

Am Ende habe ich einen Alias ​​verwendet, um den BEGRIFF nur dann festzulegen, wenn ich tmux verwenden möchte. Fügen Sie diesen Einzeiler einfach am Ende Ihres ~/.bashrc (Oder der von Ihnen verwendeten Shell-Konfigurationsdatei) hinzu.

alias tmux='TERM=xterm-256color tmux'

Das ist es. Interessanterweise würde der BEGRIFF nach dem Start von tmux automatisch auf "Bildschirm" zurückgesetzt, aber die Farben funktionieren trotzdem. Ich denke, tmux würde sich auch freuen (wenn es nicht mit seiner TERM-Umgebung zu tun hat?).

0
RayLuo

Folgende Zeilen in ~/.tmux.conf arbeitete für mich -

set -g default-terminal "xterm-256color"
set-option -ga terminal-overrides ",xterm-256color:Tc"

Getestet am

  • Tmux 2.7, Ubuntu 16.04.18.04
  • Tmux 2.9, CentOS
0
user3496912