私は最近iTerm2に切り替えて、気に入っています。私はあなたがいる環境/特定のマシンに対応するプロファイルを使用する方法があるかどうかと思っています。
Macの1つのウィンドウでタスクを実行している場合、デフォルトでプロファイルが表示されますが、マシンにssh(dev0としましょう)すると、iTermのプロファイルはプロファイルdev0に更新されます。 dev0を終了してexitを呼び出すと、プロファイルは再びデフォルトに切り替わります。
回避策の1つは、別のマシンにSSHで接続して区別する方法があるときに特定のプロファイルを開くことですが、接続が閉じている場合は、ウィンドウの背景を言うのではなく、テキストに基づいて通知する必要があります。
これは可能ですか?そうでない場合、この機能をどのように追加できますか?また、私が貢献できる方法はありますか?
iTerm2は、オンザフライでプロファイルを変更するカスタムエスケープコードをサポートしています。 .bashrcまたは.bash_profileに入れます。
<esc>]50;SetProfile=X^G
xはプロファイルです。たとえば、プロファイルを「Foo」という名前に変更するには、次のシェルスクリプトを使用します。
#!/bin/bash
echo -e "\033]50;SetProfile=Foo\a"
ログアウト時にプロファイルを元に戻すには、プロファイルを変更するコードを〜/ .bash_logoutにデフォルトに戻します。
zshユーザーの場合
mac(プライマリマシン用)とlinux(リモートマシン用)という2つのプロファイルがあるとします。
セッションに入るとき、zshにプロファイルをロードするように指示する必要があります
~/.zshrc
追加 echo -e "\033]50;SetProfile=linux\a"
source ~/.zshrc
セッションを終了するとき、zshに元のプロファイルに切り替えるように指示する必要があります
~/.zlogout
以下を追加if [ "$SHLVL" = 1 ]; then
echo -e "\033]50;SetProfile=mac\a"
clear
fi
これで簡単にプロファイルを交換できます<3。
bashを使用している場合、手順は似ていると思いますが、代わりに~/.bashrc
および~/.bash_logout
デモ
最新のiTerm2ナイトリー(ビルド2.9.20150329-執筆時-ナイトリー)では、これを簡単に行うことができます。あなたはそれをダウンロードすることができます ここ 。
インストールして開いたら:
curl
を使用してスクリプトをダウンロードし、インストールします。 ローカルマシンで同じことを行います。echo $Host
を実行するときに取得するものです。 常にプロンプトに表示されるわけではありません。exit
を終了すると、ローカルプロファイルに戻ります。このソリューションを @ esodの回答 とシームレスに組み合わせることができます。
注:デフォルトのプロファイルを使用するのではなく、デスクトップ専用のプロファイルを作成するまで、機能しませんでした。
詳細は ドキュメント を参照してください。
ステップ1:
カスタムのitermプロファイル(例: dark
、light
ステップ2:
前にシェルプロファイルにコードを追加します(例:.bashrc or .zshrc
# Change iterm2 profile. Usage it2prof ProfileName (case sensitive)
it2prof() { echo -e "\033]50;SetProfile=$1\a" }
ステップ3:
あなたのプロフィールを理解する
exec $Shell -l
ステップ4:
itermテーマプロファイルを切り替える
it2prof dark
it2prof light
私の場合、この機能を実装するには Yoha with Berrebyの回答 をホストの設定と組み合わせる必要があります。
- プロファイルの自動切り替えで、「+」をクリックし、ローカルマシンのホスト名を追加します。ホスト名は、ターゲットマシンでecho $ Hostを実行したときに取得するものです。プロンプトに常に表示されるものとは限りません。
私のステージングサーバーで$ Hostが設定されておらず、ホスト名は:
[devel@alveo-staging ~]$ hostname
alveo-staging
しかし、ホスト名をalveo-staging
としてルールを設定することはできません。実際alveo-stagingは実際のホスト名(alveo-staging.xxx)のエイリアスであり、/etc/hosts
で設定できます。 。
したがって、これに対する簡単な解決策は、*ワイルドカードを使用して、ルールを*staging*
として設定することです。
その後、動作します。
これと同じ願いがあり、アプリケーションの設定のiTerm 2(Build 1.0.0.20130319)でこれを実行できることがわかりました。
次のようにして、デフォルトのプリセットとは異なるプリセットを使用してプロファイル(リモートプロファイルなど)を割り当てることができます。
[プロファイル]-> [プロファイルを開く]でプロファイルを選択し、[プロファイルの編集...]をクリックします。[色]タブに移動し、[プリセットのロード...]のリストからこのプロファイルのプリセットを選択します。
さらに、さまざまなプロファイルにキーのショートカットを設定して、1つのiTermウィンドウを別のウィンドウとは異なる外観にすることができます。私はこれをしました:
デフォルトのプロファイルの背景は黒ですが、背景が白の場合に役立ちます。デフォルトプロファイルを複製し、新しいプロファイルにDefaultLightという名前を付けます。既定のプロファイルで、[キー]タブに移動し、キーボードショートカットが^ + cmd + nで、アクションが[新しいウィンドウとプロファイル]で、プロファイルがDefaultLightである新しいプロファイルショートカットキーを作成します。
設定を保存した後、cmd + nは黒い背景の新しいウィンドウを開き、^ + cmd + nは白い背景の新しいウィンドウを開きます。
さらに詳しく知りたい場合は、[キーボードショートカットキーの設定]に[プロファイル付きの新しいタブ]アクションがあります。
Fishellユーザーの場合:1. fish関数を作成します。
functions it2prof > ~/.config/fish/functions/it2prof.fish
~/.config/fish/functions/it2prof.fish
ファイルに追加して保存:function it2prof
echo -e "\033]50;SetProfile=$argv\a"
end
it2prof whatever_profile_you_define