#1 Le 17/11/2010, à 11: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, à 14:11)
Concombre Masqué, 100% Végétal et donc 100% sain
Hors ligne
#2 Le 17/11/2010, à 11: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, à 11: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, à 12: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, à 12:00)
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#5 Le 23/11/2010, à 01: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, à 09: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, à 12: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 )
Concombre Masqué, 100% Végétal et donc 100% sain
Hors ligne
#8 Le 23/11/2010, à 15: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, à 14: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
merci beaucoup !
Concombre Masqué, 100% Végétal et donc 100% sain
Hors ligne
#10 Le 25/11/2010, à 14: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
Si jamais c'est utile à qqn...
Dernière modification par Sherwood51 (Le 25/11/2010, à 14:01)
Hors ligne
#11 Le 25/10/2011, à 10: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, à 10:38)
Concombre Masqué, 100% Végétal et donc 100% sain
Hors ligne