J'ai 256 couleurs qui fonctionnent très bien dans konsole,
. Je pensais que j'essaierais tmux
parce que, contrairement à l'écran, il semble prendre en charge le mode vi
. Cependant, je trouve que les couleurs de mon invite apparaissent et c'est probablement parce que j'ai une invite en mode 256 couleurs. Que dois-je faire pour que tmux
reconnaisse les 256 couleurs?
La FAQ Tmux déconseille explicitement de définir TERM sur autre chose que screen ou screen-256color dans votre fichier d'initialisation Shell, alors ne le faites pas!
Voici ce que j'utilise:
~$ which tmux
tmux: aliased to TERM=xterm-256color tmux
et dans mon .tmux.conf:
set -g default-terminal "screen-256color"
Alias tmux
en "tmux -2
"devrait également faire l'affaire.
Essayez de définir 256 couleurs explicitement dans votre bashrc ou zshrc:
export TERM=xterm-256color
ou
export TERM=screen-256color
Si vous rencontrez des problèmes avec tmux qui n'efface pas correctement les couleurs d'arrière-plan lors de l'utilisation du paramètre de terme d'écran, vous pouvez essayer:
export TERM=screen-256color-bce
Conformément à la tmux FAQ , ajoutez ceci à votre ~/.tmux.conf
:
set -g default-terminal "screen-256color"
Ajoutez ensuite cet alias pour tmux:
alias tmux='tmux -2'
Pas besoin de remplacer la variable TERM
dans votre profil ou lors du démarrage de tmux
.
Plus d'informations: http://vim.wikia.com/wiki/256_colors_setup_for_console_Vim
La dernière version de ncurses est livrée avec une entrée terminfo tmux-256color (la FAQ = le mentionne). Par exemple, un avantage d'utiliser tmux-256color sur screen-256color est que l'italique est correctement rendu (l'écran ne prend pas en charge l'italique).
Donc, si vous avez le dernier package ncurses, ce qui suit fonctionnera également:
set -g default-terminal "tmux-256color"
Pour les personnes disposant du dernier tmux, le .tmux.conf
l'option de la réponse acceptée devrait fonctionner.
Je veux seulement ajouter que vous devrez probablement redémarrer tmux pour que la nouvelle configuration prenne effet:
tmux kill-server && tmux
Fait intéressant, cela n'est mentionné nulle part dans les réponses et m'a pris un certain temps pour comprendre.
Remarque vraiment importante ici si vous utilisez un Ubuntu plus ancien que Bionic (18.04). Si vous exécutez tmux 2.1
ou plus, et vous l'êtes probablement, fondamentalement aucun conseil que vous lisez en ligne sur tmux ne fonctionnera .. pour rien.
tmux -V
est un test facile pour cela. Si tu vois 2.1
ou une version antérieure, vous pouvez créer tmux à partir de la source ou ajouter un référentiel non officiel. J'ai mis à jour mon tmux avec:
Sudo add-apt-repository ppa:/hnakamur/tmux
Sudo apt update
Sudo apt upgrade
Personnellement, après la mise à niveau vers 2.6
, 1) mes clés fonctionnent mieux, 2) les conseils en ligne fonctionnent réellement, 3) mes couleurs ne sont pas folles. Grande amélioration.
(Voici un lien vers la page du référentiel, btw): https://launchpad.net/~hnakamur
Je ne pouvais pas expliquer pourquoi cela fonctionne mais cela a résolu le problème pour moi.
~/.tmux.conf
set-option -g default-command bash
Ceci est ma solution .... J'édite mon fichier .bashrc et j'ajoute ceci
if [ "$TERM" != "xterm-256color" ]; then
export TERM=xterm-256color
fi
J'espère que cela fonctionne dans le vôtre
Je me sens reconnaissant pour toutes les autres réponses qui me donnent des indices, mais il ne semble pas nécessaire de modifier le paramètre TERM global ET ~/.tmux.conf
.
J'ai fini par utiliser un alias pour définir le TERM uniquement lorsque je suis sur le point d'utiliser tmux. Ajoutez simplement ce one-liner à la fin de votre ~/.bashrc
(ou tout autre fichier de configuration Shell que vous utilisez).
alias tmux='TERM=xterm-256color tmux'
C'est ça. Fait intéressant, après le lancement de tmux, le TERM serait automatiquement réinitialisé sur "écran", mais les couleurs fonctionnent quand même. Donc, je suppose que tmux serait également heureux (pour ne pas avoir gâché son environnement TERM?).
Lignes suivantes dans ~/.tmux.conf
a fonctionné pour moi -
set -g default-terminal "xterm-256color"
set-option -ga terminal-overrides ",xterm-256color:Tc"
Testé sur