J'aimerais que la couleur d'arrière-plan de mon terminal change en fonction du nom d'hôte. Mon raisonnement est principalement d'avoir un moyen supplémentaire de me rappeler sur quel serveur je suis, donc je ne fais pas quelque chose de stupide.
Existe-t-il un moyen de lui faire utiliser l'arrière-plan aubergine standard si je suis sur ma machine locale, puis de changer en rouge si je ssh dans un serveur Web de production ou d'autres hôtes que je pourrais spécifier?
Réponses:
Vous pouvez utiliser l'option localcommand de ssh / config pour exécuter une commande chaque fois qu'un alias est utilisé. j'utilise
Cela dépend de xtermcontrol et de votre terme étant xterm. Vraisemblablement, il existe d'autres applications pour d'autres termes.
Le seul problème avec cette approche est qu'elle se produit lorsque vous appelez ssh. Il n'y a rien pour annuler le changement de couleur. Je l'ai fait en enveloppant une fonction autour de ssh, mais cela a aussi ses inconvénients.
la source
Il ne semble pas y avoir de fonctionnalité
gnome-terminal
pour ajouter un nouvel onglet à une fenêtre existante à partir de la ligne de commande. Mais il existe quelques options pour accomplir ce que vous voulez.Profils par commande
Créez un nouveau
gnome-terminal
profil pour chaque hôte sur lequel vous allez vous connecter. Si vous ne disposez que de quelques hôtes auxquels vous vous connectez régulièrement, cela peut être le plus simple. Chaque profil peut avoir un titre différent, une couleur de premier plan, une couleur d'arrière-plan, une commande personnalisée et d'autres paramètres définis. Ensuite, vous pouvez utiliserFile -> Open Tab
pour ouvrir un nouvel onglet avec le profil sélectionné.Profil réutilisable
Créez un nouveau
gnome-terminal
profil qui sera utilisé pour ouvrir une nouvelle fenêtre chaque fois que vous souhaitez vous connecter à un hôte SSH différent (sur la base de cette réponse AskUbuntu que Stefano a indiquée). Cela fonctionnerait bien si vous vous connectez fréquemment à de nombreux hôtes différents. Cela ne vous permettra pas de distinguer les différentesgnome-terminal
fenêtres où vous êtes connecté à différents hôtes uniquement sur les couleurs d'arrière-plan / de premier plan, mais vous aurez un titre différent par fenêtre.gnome-terminal
profil (File -> New Profile
) basé sur leDefault
profil et appelez-le "RemoteHost" (notez, aucun espace dans "RemoteHost" pour faciliter les commandes).Title and Command
onglet, modifiez:Initial title:
vers "Hôte distant"When terminal commands set their own titles:
àReplace initial title
Colors
onglet, modifiez:Use colors from system theme
Build-in schemes:
àCustom
Text color:
etBackground color:
aux couleurs de votre choix. Gardez à l'esprit que certaines commandes (commels
) utilisent des couleurs pour leur sortie et que vous ne voulez pas choisir des couleurs qui rendront la lecture de la sortie difficile.Close
bouton pour enregistrer votre nouveau profil.gnome-terminal
fenêtre pour chaque hôte SSH distant à l'aide de la commandegnome-terminal --window-with-profile=RemoteHost -t "Some Remote SSH Host" -x ssh user@somehost
. L'-t
option définit legnome-terminal
titre de la fenêtre et l'-x
option exécute le reste de la ligne de commande dans le terminal. Vous pouvez mêmealias
raccourcir le nombre total de touches.Ligne de commande
J'ai trouvé cette entrée de blog avec le script suivant qui utilise les commandes
xdotool
etwmctrl
(elles n'étaient pas installées par défaut sur Ubuntu, vous devrez peut-être les installer d'abord) pour utiliser le raccourci claviergnome-terminal
Ctrl+ Shift+ tpour ouvrir un nouvel onglet dans lagnome-terminal
fenêtre actuelle . Il pourrait être modifié pour ouvrir un nouvel onglet avec un profil spécifique et exécuter une commande pour vous.Autre
Vous pourriez faire preuve de créativité et essayer d'autres choses.
Cette réponse SuperUser utilise essentiellement un peu d'acrobates "script-fu" pour créer un
gnome-terminal
profil temporaire qui est utilisé pour ouvrir une nouvelle fenêtre. Il peut être modifié pour votre usage.Vous pourriez probablement utiliser ce Q&A StackOverflow et plus d'acrobates "script-fu" pour changer dynamiquement le
gnome-terminal
titre chaque fois que vous SSH vers un hôte distant. Il ne serait pas aussi important que les changements de couleur d'arrière-plan / de premier plan, mais ce serait toujours mieux qu'unTerminal
titre standard .la source
Cela fonctionnera dans Gnome, SI vous êtes prêt à utiliser une nouvelle fenêtre gnome-terminal pour chaque session ssh.
Créez un nouveau profil (avec une couleur d'arrière-plan différente) appelé "Remote"
Insérez ce qui suit dans
.bash_aliases
, ou.bashrc
sshc remote-machine
Ouvre maintenant une nouvelle session gnome-terminal avec le profil "Remote". cela fera la différence entre les profils locaux et distants.Pour accueillir plusieurs profils / hôtes, créez plusieurs profils et placez quelque chose comme ceci à la
.bash_aliases
place:Maintenant
sshc Production
, ouvrira une nouvelle fenêtre de session en utilisant le profil "Rouge",sshc Test
ouvrira une nouvelle fenêtre de session en utilisant le profil "Vert", et d'autres hôtes utiliseront le profil "Par défaut".la source
Rassembler toutes les informations des sites de pile *** ici est la solution la plus simple que j'ai trouvée pour mint mate + mate terminal (la même que pour gnome).
sudo apt get install xdotool
Vous pouvez maintenant modifier / etc / ssh / ssh_config, afin qu'il puisse changer le profil après chaque session ssh est établie:
Maintenant, après que chaque connexion ssh soit établie dans le terminal, le profil sera modifié et vous ne mettrez plus jamais de mise à jour sql indésirable dans la base de données de production :)
Cependant, il n'y a pas de solution facile pour revenir au profil par défaut après la fermeture de la connexion ssh. Mais cela me semble suffisant, et je n'ai pas cherché plus d'informations.
la source