iTerm 2 profils
J'ai récemment opté pour iTerm2 et de l'aimer. Je me demande si il existe un moyen d'utiliser des profils correspondant à ce que l'environnement spécifiques à l'ordinateur que vous utilisez.
Dire si je fais des tâches dans une fenêtre sur mon mac le profil est affiché par défaut, mais si j'en ssh sur une machine (disons dev0), le profil de l'iTerm sera mise à jour de profil dev0. Une fois que j'ai fini avec dev0 et d'appeler à la sortie, le profil de l'interrupteur de défaut à nouveau.
Je réalise un travail autour est d'ouvrir un profil spécifique à chaque fois que je veux faire un ssh sur un autre ordinateur et que vous avez un moyen de les distinguer, mais si la connexion est fermée, il vous demande d'avis basé sur le texte plutôt que de dire l'arrière-plan de la fenêtre.
Est-ce possible? Si non, comment cette fonctionnalité peut être ajoutée, et est-il une manière que je peux contribuer?
- C'est une bonne question, mais je ne suis pas vraiment sûr si cela appartient sur Stackoverflow.
- tu as raison, j'ai juste de rejoindre la communauté, est-il un moyen de déplacer ce super-Utilisateur?
- Il y a au moins une question sur super-Utilisateur qui fait référence à cette question dans les commentaires 🙂 superuser.com/questions/1052305/...
Vous devez vous connecter pour publier un commentaire.
iTerm2 prend en charge personnalisée échapper code qui modifie le profil à la volée. Mettez-la dans votre .bashrc ou .bash_profile.
où X est le profil. Par exemple, pour modifier le profil de celui qui s'appelle "Toto", nous ce script shell:
Pour le changer en arrière lorsque vous vous déconnectez, mettre le code pour modifier le profil par défaut dans ~/.bash_logout.
SetDefaultProfile
, mais cela ne fonctionne pas.sshToMyFavouriteHost() { echo -e "\033]50;SetProfile=Profile2\a"; ssh my.favourite.host.com && echo -e "\033]50;SetProfile=Profile1\a" }
SetProfile=\a
me donne le profil par défaut en arrière.50
est maintenant1337
en raison de conflits avec xterm. La commande est maintenant<esc>]1337;SetProfile=NewProfileName^G
que décrit ici.pour zsh utilisateurs
permet de dire que vous avez 2 profils, l'un nommé mac (principal de la machine) et un pour linux (votre machine à distance)
lors de la saisie de la session, nous devons dire à zsh pour charger notre profil
~/.zshrc
ajouterecho -e "\033]50;SetProfile=linux\a"
source ~/.zshrc
lorsque vous quittez la session, nous devons dire à zsh pour revenir à notre profil d'origine
~/.zlogout
ajouter le suivantmaintenant, vous pouvez échanger les profils avec facilité <3.
si vous utilisez bash, je crois que les étapes sont identiques mais au lieu de modifier
~/.bashrc
et~/.bash_logout
démo
La dernière iTerm2 tous les soirs (Build 2.9.20150329-tous les soirs au moment de la rédaction) vous permet de le faire facilement. Vous pouvez le télécharger ici.
Une fois que vous avez installé et ouvert:
curl
et de l'installer. Faire de même sur votre machine locale.echo $HOST
sur la machine cible. Il n'est pas toujours celui que vous voyez dans votre invite.exit
de la session ssh, vous serez de retour à votre profil local.Vous pouvez combiner cette solution avec @esod réponse de façon transparente.
Remarque: cela n'a pas fonctionné pour moi jusqu'à ce que j'ai créé un profil spécifiquement pour l'ordinateur de bureau au lieu d'utiliser le profil par défaut.
Voir la documentation pour plus d'info.
echo $HOST was blank
, c'était un ordinateur de travail, et je n'ai pas envie de modifier mon nom d'hôte.J'ai eu ce même désir et trouvé ceci peut être accompli en iTerm 2 (Build 1.0.0.20130319) dans les préférences de l'application.
Vous pouvez attribuer un profil (par exemple, une distance de profil) avec un preset différent de celui de votre préréglage par défaut en allant à:
Profils -> Ouvrir les Profils
sélectionnez le profil et cliquez sur Modifier les Profils...
Allez à l'Onglet Couleurs et choisir un preset pour ce profil dans la liste de Chargement des Presets...
De plus, j'ai mis en place les Touches de raccourci pour les différents profils afin que je puisse avoir un iTerm fenêtre différente de celle d'une autre fenêtre. Je l'ai fait par:
Mon profil par Défaut a un fond noir, mais parfois, il m'aide à avoir un fond blanc. Je duplique mon profil par Défaut et le nom du nouveau profil DefaultLight. Sur mon profil par Défaut-je aller à l'onglet clavier où je créer un nouveau Profil de touches de Raccourci dont le Raccourci Clavier est ^+cmd+n, dont l'action est Nouvelle Fenêtre avec le Profil, et dont le Profil est DefaultLight.
Après l'enregistrement de l'prefrences, cmd+n ouvre une nouvelle fenêtre avec un fond noir et ^+cmd+n ouvre une nouvelle fenêtre avec un fond blanc.
Il y a aussi un Nouvel Onglet avec le Profil d'action dans le Clavier, les Touches de Raccourci de Préférence si vous êtes intéressé à prendre encore plus loin.
Dans mon cas, j'ai besoin de combiner Yohaï Berreby réponse avec mes hôtes paramètre pour mettre en œuvre cette fonctionnalité.
Mon serveur de test n'est pas défini $HÔTE et le nom d'hôte est :
Mais je ne peux pas définir la règle, avec le nom d'hôte comme
alveo-staging
. Parce qu'en fait alveo-mise en scène est juste un alias de le vrai nom d'hôte (alveo-mise en scène.xxx), qui peut être défini dans/etc/hosts
.Donc la solution rapide à ce problème est d'utiliser * les caractères génériques, pour définir la règle de
*staging*
.Alors il fonctionne.
étape 1:
personnalisé de votre iterm profil, par exemple
dark
,light
étape 2:
ajoutez le code avant de votre shell de profil, e.g
.bashrc or .zshrc
étape 3:
sens de votre profil
étape 4:
basculer votre iterm thème de profil
Pour Fishell de l'utilisateur:
1. Créer un poisson fonction:
functions it2prof > ~/.config/fish/functions/it2prof.fish
~/.config/fish/functions/it2prof.fish
fichier et de l'enregistrer:it2prof whatever_profile_you_define