Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 17/11/2010, à 10:03

Concombre Masqué

[résolu] choix du theme de la console en fonction de la connexion ssh

bonjour, 

j'ai souvent à travailler sur plusieurs serveurs, connecté en ssh. J'ai créé des profils à fond noir (texte jaune ou blanc selon "server1" ou "server2" ), et lorsque je me connecte je choisi le profil associé histoire de repérer clairement dans quel terminal je suis (ou si je suis en local, sur fond blanc)

J'aimerai bien automatiser le coté "sélection du profil", avez vous une idée ?

Dernière modification par Concombre Masqué (Le 24/11/2010, à 13:11)


Concombre Masqué, 100% Végétal et donc 100% sain

Hors ligne

#2 Le 17/11/2010, à 10:47

serged

Re : [résolu] choix du theme de la console en fonction de la connexion ssh

Perso, j'avais résolu ce problème en personnalisant les "prompt" de chaque serveur...


LinuxMint Vera Cinnamon et d'autres machines en MATE, XFCE... 20.x , 21.x ou 19.x
Tour : Asus F2A55 / AMD A8-5600K APU 3,6GHz / RAM 16Go / Nvidia GeForce GT610 / LM21.1 Cinnamon
Portable : LDLC Mercure MH : Celeron N3450 /RAM 4Go / Intel HD graphics 500 i915 / biboot Win 10 (sur SSD) - LM21.1 MATE (sur HDD)

Hors ligne

#3 Le 22/11/2010, à 10:26

Pizz

Re : [résolu] choix du theme de la console en fonction de la connexion ssh

Pour ma part, sous GNOME, j'ai fait des lanceurs pour chaque machine à laquelle j'ai à me connecter :

commande du lanceur :

  gnome-terminal --window-with-profile=MonProfil --title=MonTitre -x ssh login@machine 

Je n'ai malheureusement pas trouvé mieux.

Hors ligne

#4 Le 22/11/2010, à 11:00

Watael

Re : [résolu] choix du theme de la console en fonction de la connexion ssh

dans le .bashrc du serveur :

[ -n "$SSH_CLIENT" ] && PS1='avec "les couleurs" du serveur'

et pour remettre la pagaille :

case ${SSH_CLIENT%% *} in
cli.ent.no.001) PS1='avec "les couleurs" du client 001';;
etc...

lol

Dernière modification par Watael (Le 22/11/2010, à 11:00)


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#5 Le 23/11/2010, à 00:08

Concombre Masqué

Re : [résolu] choix du theme de la console en fonction de la connexion ssh

Merci Pizz, ça me convient parfaitement, j'aurais même dû penser plus tôt de pouvoir lancer un terminal avec des options!

Je vais me créer la version script ( il y a bien une commande pour changer le profil du terminal sur lequel on est je pense ... ) , que mettre concrètement après PS1= ? (pour un bg rouge par exemple)

Watael, je comprends pas trop ta solution là ...


Concombre Masqué, 100% Végétal et donc 100% sain

Hors ligne

#6 Le 23/11/2010, à 08:14

serged

Re : [résolu] choix du theme de la console en fonction de la connexion ssh

Chez moi :

PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '

affiche quelque chose comme :
serge@pastix:~/Bureau$

Le "01;32m" correspond au vert, et le "01;34m" au cyan.

Les couleurs se codent :

Couleur Avant-plan Arrière-plan
noir     30     40
rouge    31     41
vert     32     42
jaune    33     43
bleu     34     44
magenta  35     45
cyan     36     46
blanc    37     47

LinuxMint Vera Cinnamon et d'autres machines en MATE, XFCE... 20.x , 21.x ou 19.x
Tour : Asus F2A55 / AMD A8-5600K APU 3,6GHz / RAM 16Go / Nvidia GeForce GT610 / LM21.1 Cinnamon
Portable : LDLC Mercure MH : Celeron N3450 /RAM 4Go / Intel HD graphics 500 i915 / biboot Win 10 (sur SSD) - LM21.1 MATE (sur HDD)

Hors ligne

#7 Le 23/11/2010, à 11:58

Concombre Masqué

Re : [résolu] choix du theme de la console en fonction de la connexion ssh

merci pour les explications serged !

Pour la solution de Pizz, elle ne marche en fait pas complètement pour moi, car le titre est "écrasé" par la connexion ssh.. mais je dois peut etre modifier quelquechose du coté du serveur cette fois-ci :s

mes lanceurs fonctionnent donc pour la couleur et la connexion automatique sans mot de passe à saisir (vive id_rsa ), mais pas pour le titre (truc auquel j'avais pas pensé mais qui serait en fait très sympa).

(et tiens, je me rend compte qu'il va falloir que je me trouve d'autres icones pour les terminaux hmm )


Concombre Masqué, 100% Végétal et donc 100% sain

Hors ligne

#8 Le 23/11/2010, à 14:36

Pizz

Re : [résolu] choix du theme de la console en fonction de la connexion ssh

Pour le titre, une méthode (un peu barbare) serait de faire un profil par machine (toujours avec gnome-terminal).
En suite, dans le édition->profils, on peut donner le titre dans onglet titre et commande, et sélectionner "un titre modifié dynamiquement : n'est pas affiché"

Je n'ai pas testé, car mes connexions ssh ne changent pas le titre.

Hors ligne

#9 Le 24/11/2010, à 13:14

Concombre Masqué

Re : [résolu] choix du theme de la console en fonction de la connexion ssh

c'est déjà ce que j'ai Pizz, un profil par machine (il y en a 3, c'est pas la fin du monde non plus).

ça ne fonctionne pas, la faute à la connexion ssh j'imagine... toujours du coté du profil je vois qu'il est possible de lancer une commande lorsque ce profil est sélectionné, intéressant ça !

enfin bref, problème résolu, et je me passerai du titre, c'était pas dans la question de base de toute façon smile

merci beaucoup !


Concombre Masqué, 100% Végétal et donc 100% sain

Hors ligne

#10 Le 25/11/2010, à 13:01

Rolinh

Re : [résolu] choix du theme de la console en fonction de la connexion ssh

Je sais que ton problème est résolu mais si jamais ça intéresse quelqu'un d'autre, j'ai une fonction qui change la couleur de l'hôte en fonction du nom qui est matché et qui met bien en forme le prompt (le path est en rouge si pas de droits écriture, en bleu si $USER et en vert si pas proprio mais droit d'écriture).
La fonction pour zsh ça donne ceci:

# {{{ precmd()

function precmd {
  title

  local deco="%{${fg_no_bold[white]}%}"

  if [[ -O "$PWD" ]]; then
    local path_color="${fg_no_bold[blue]}"
  elif [[ -w "$PWD" ]]; then
    local path_color="${fg_bold[green]}"
  else
    local path_color="${fg_bold[red]}"
  fi

  case ${HOST%%.*} in
    machine1)  local host_color="${fg_bold[yellow]}"   ;;
    machine2)        local host_color="${fg_bold[cyan]}"     ;;
    machine3) local host_color="${fg_bold[green]}"    ;;
    machine4)  local host_color="${fg_bold[magenta]}"  ;;
    *)           local host_color="${fg_bold[default]}"  ;;
  esac

  if [[ $UID -eq 0 ]]; then
    local user_color="${fg_bold[red]}"
  else
    local user_color="${fg_bold[default]}"
  fi

  local return_code="%(?..${deco}!%{${fg_bold[red]}%}%?${deco}! )"
  local user_at_host="%{${user_color}%}%n${deco}@%{${host_color}%}%m"
  local cwd="%{${path_color}%}%32<...<%~"
  local sign="%(!.%{${fg_bold[red]}%}.${deco})%#"

  PS1="${return_code}${deco}[${user_at_host} ${cwd}${deco}] ${sign}%{${reset_color}%} "
}

# }}}

machine1, machine2 etc doit donc correspondre au nom de chaque machine wink

Si jamais c'est utile à qqn...

Dernière modification par Sherwood51 (Le 25/11/2010, à 13:01)

Hors ligne

#11 Le 25/10/2011, à 09:37

Concombre Masqué

Re : [résolu] choix du theme de la console en fonction de la connexion ssh

Ah, merci beaucoup (désolé pour le retard), mais j'allais justement poser la question !!

Edit: ah, par contre moi je suis avec mon "bash", je vais voir si ça marche donc ...

Dernière modification par Concombre Masqué (Le 25/10/2011, à 09:38)


Concombre Masqué, 100% Végétal et donc 100% sain

Hors ligne