GNU/Linux >> Linux Esercitazione >  >> Linux

Ssh:imposta i colori del terminale della macchina locale per utilizzare quelli della macchina in cui Ssh?

Ho una combinazione di colori che mi piace quando sono in un terminale, ma entro nella macchina su cui lavoro da più fonti (localmente, PuTTY, il mio netbook, ecc.) e voglio mantenere la stessa combinazione di colori per tutto il tempo . È possibile?

In particolare lo voglio in PuTTY; è difficile cambiare i colori PuTTY.

Risposta accettata:

I colori nei terminali sono determinati in due passaggi:

  • il programma in esecuzione nel terminale dice al terminale di utilizzare un certo numero di colore;
  • il terminale traduce ogni numero di colore in un valore di colore.

Xterm ha una sequenza di escape per modificare il valore del colore associato a un numero di colore. Non ricordo se PuTTY supporta questa sequenza; So che Mintty lo fa.

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

Queste impostazioni non sopravviveranno a un ripristino del terminale. Puoi superare questa difficoltà aggiungendo la sequenza di modifica della configurazione del cursore alla stringa di ripristino del tuo terminale.

  • Su un sistema basato su terminfo che utilizza ncurses, salva le impostazioni di terminfo del tuo terminale in un file con infocmp >>~/etc/terminfo.txt . Modifica la descrizione per cambiare rs1 (reset di base) sequenza, ad es. sostituisci rs1=Ec di rs1=EcE]4;4;#6495edE\ . Con alcuni programmi e impostazioni, potrebbe essere necessario modificare rs2 (reset completo). Quindi compila la descrizione di terminfo con tic ~/etc/terminfo.txt (questo si scrive nella directory $TERMINFO o ~/.terminfo se non impostato).
  • Su un sistema basato su termcap, prendi le impostazioni di termcap dal tuo database di termcap (in genere /etc/termcap ). Cambia is (ripristino di base) e rs (ripristino completo) sequenze per aggiungere le impostazioni, ad es. :is=EcEcE]4;4;#6495edE\: . Imposta il TERMCAP variabile di ambiente al valore modificato (iniziando e terminando con : ).

Ora puoi inserire qualcosa di simile nel tuo ~/.profile :

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

Linux
  1. Impostare i colori di sfondo di Vim

  2. Come tornare a scp in locale quando sono già passato a una macchina remota?

  3. Come creare un terminale basato sul Web utilizzando xterm.js per ssh in un sistema sulla rete locale

  4. Come posso copiare l'output da un comando remoto negli appunti locali?

  5. Come impostare il colore del prompt dei comandi in Bash?

Cambia il tema del colore del tuo terminale Linux

Come elencare i nomi dei colori disponibili?

IL MODO FACILE come eseguire SSH in Bash e WSL2 su Windows 10 da un computer esterno

Come eseguire SSH in WSL2 su Windows 10 da un computer esterno

Come eseguire SSH in una macchina Windows 10 da Linux O Windows O ovunque

Come impostare un profilo di scheda in Terminale di Windows per SSH automaticamente in una scatola Linux