web-dev-qa-db-fra.com

Changer la variable d'environnement (TERM)

Selon cette réponse , "il incombe à l'émulateur de terminal de définir la variable d'environnement TERM".

Est-il possible de changer la valeur TERM utilisée par Terminator? Pour l'instant, c'est xterm, mais j'ai besoin de xterm-256color.

J'utilise d'autres émulateurs de terminal (Gnome Terminator, tmux), donc la configuration de mon fichier .bashrc serait au mieux désordonnée.

6
jtpereyda

La façon dont je le fais utilise un custom_command dans ~/.config/terminator/config comme suit:

...
[profiles]
  [[default]]
    ...
    custom_command = TERM=xterm-256color bash -l # Do not use 'terminator' here
    use_custom_command = True
    ...

Cela fonctionne comme un charme, c'est-à-dire pour les peaux de 256 couleurs pour commandant de minuit . L'option -l permet à bash de s'exécuter en tant que shell de connexion (ce qui signifie qu'il chargera les paramètres de votre .bash_profile). Vous pouvez l'omettre si vous préférez que Terminator lance bash en tant que shell sans connexion (pour qu'il charge .bashrc à la place).

10
IlikePepsi

Il y a une option appelée xterm dans la configuration de Terminator (voir man terminator_config), qui est supposée définir TERM. Due ton bogue , cela ne fonctionne pas et TERM est toujours défini sur xterm. Terminator définit également une variable COLORTERM sur gnome-terminal, afin que vous puissiez l'utiliser pour définir TERM sur xterm-256color (puisque gnome-terminal n'a aucun problème avec cette valeur:

[[ $COLORTERM = gnome-terminal ]] && TERM=xterm-256color

Ou, ce que j'utilise pour éviter les problèmes avec screen/tmux:

[[ $COLORTERM = gnome-terminal && ! $TERM = screen-256color ]] && TERM=xterm-256color
6
muru

C'est une idée non testée:

1
Gunnar Hjalmarsson