GNU/Linux >> Tutoriels Linux >  >> Linux

Ssh - Définir les couleurs du terminal de la machine locale pour utiliser celles de la machine dans laquelle je me connecte avec Ssh ?

J'ai un schéma de couleurs que j'aime quand je suis dans un terminal, mais je me connecte en ssh à la machine sur laquelle je travaille à partir de plusieurs sources (localement, PuTTY, mon netbook, etc.) et je souhaite conserver le même schéma de couleurs tout au long . Est-ce possible ?

Je le veux surtout dans PuTTY; il est difficile de changer les couleurs de PuTTY.

Réponse acceptée :

Les couleurs dans les terminaux sont déterminées en deux étapes :

  • le programme exécuté dans le terminal indique au terminal d'utiliser un certain numéro de couleur ;
  • le terminal traduit chaque numéro de couleur en une valeur de couleur.

Xterm a une séquence d'échappement pour changer la valeur de couleur associée à un numéro de couleur. Je ne me souviens pas si PuTTY prend en charge cette séquence; Je sais que Mintty le sait.

set_color_value () {
  printf "\e]4;$1;$2\a"
}
set_color_value 4 '#6495ed'  # set color 4 (blue) to CornflowerBlue

Ces paramètres ne survivront pas à une réinitialisation du terminal. Vous pouvez surmonter cette difficulté en ajoutant la séquence de changement de configuration du curseur à la chaîne de réinitialisation de votre terminal.

  • Sur un système basé sur terminfo utilisant ncurses, enregistrez les paramètres terminfo de votre terminal dans un fichier avec infocmp >>~/etc/terminfo.txt . Modifiez la description pour changer le rs1 (réinitialisation de base) séquence, par ex. remplacer rs1=Ec par rs1=EcE]4;4;#6495edE\ . Avec certains programmes et paramètres, vous devrez peut-être modifier le rs2 (réinitialisation complète) également. Compilez ensuite la description terminfo avec tic ~/etc/terminfo.txt (cela écrit sous le répertoire $TERMINFO , ou ~/.terminfo si non défini).
  • Sur un système basé sur termcap, récupérez les paramètres termcap de votre base de données termcap (généralement /etc/termcap ). Changer le is (réinitialisation de base) et rs (réinitialisation complète) séquences pour ajouter vos paramètres, par ex. :is=EcEcE]4;4;#6495edE\: . Définissez le TERMCAP variable d'environnement à la valeur modifiée (commençant et se terminant par : ).

Maintenant, vous pouvez mettre quelque chose comme ça dans votre ~/.profile :

if [ "$(ps -p $PPID -o comm=)" = sshd ] &&
   [ "$TERM" = "xterm" ]; then
  set_color_value … # set color scheme
  TERMCAP=…  # if necessary
fi

Linux
  1. Utilisez le client de messagerie Alpine dans votre terminal Linux

  2. Comment changer la couleur de votre terminal Linux

  3. Quelle commande de terminal Linux utilisez-vous le plus ?

  4. Les séquences d'échappement de couleur terminales sont-elles définies n'importe où pour Bash ?

  5. Comment revenir à scp local alors que j'ai déjà sshed sur une machine distante?

Changez le thème de couleur de votre terminal Linux

Comment répertorier les noms de couleurs disponibles ?

LA FAÇON FACILE comment SSH dans Bash et WSL2 sur Windows 10 à partir d'une machine externe

Comment se connecter en SSH à WSL2 sur Windows 10 à partir d'une machine externe

Comment se connecter en SSH à une machine Windows 10 depuis Linux OU Windows OU n'importe où

Comment configurer un profil d'onglet dans Windows Terminal pour SSH automatiquement dans une machine Linux