45

私は最近 iTerm2 に切り替えましたが、気に入っています。プロファイルを使用して、使用している環境/特定のマシンに対応する方法があるかどうか疑問に思っています。

Mac の 1 つのウィンドウでタスクを実行している場合、プロファイルはデフォルトで表示されますが、マシン (dev0 としましょう) に SSH で接続すると、iTerm のプロファイルはプロファイル dev0 に更新されます。dev0 を終了して exit を呼び出すと、プロファイルは再びデフォルトに切り替わります。

回避策の 1 つは、別のマシンに ssh して区別する方法がある場合はいつでも特定のプロファイルを開くことですが、接続が閉じられている場合は、ウィンドウの背景を言うのではなく、テキストに基づいて通知する必要があります。

これは可能ですか?そうでない場合、どうすればこの機能を追加できますか? また、貢献できる方法はありますか?

4

7 に答える 7

58

iTerm2 は、その場でプロファイルを変更するカスタム エスケープ コードをサポートしています。.bashrc または .bash_profile に入れてください。

<esc>]50;SetProfile=X^G

ここで、X はプロファイルです。たとえば、プロファイルを「Foo」というプロファイルに変更するには、次のシェル スクリプトを使用します。

#!/bin/bash
echo -e "\033]50;SetProfile=Foo\a"

ログアウト時にプロファイルを元に戻すには、プロファイルをデフォルトに戻すコードを ~/.bash_logout に追加します。

于 2011-12-22T06:39:03.353 に答える
14

最新の iTerm2 ナイトリー (執筆時点ではビルド 2.9.20150329 ナイトリー) を使用すると、これを簡単に行うことができます。ここからダウンロードできます。

インストールして開いたら、次のようにします。

  1. ssh 経由でリモート マシンにログインし、[ iTerm2 ] (アプリ メニュー) > [Install Shell Integration ] をクリックします。スクリプトをダウンロードしcurlてインストールします。ローカル マシンで同じことを行います
  2. [プリファレンス] > [プロファイル]に移動します。
  3. ローカル マシンの新しいプロファイルを作成します。ニーズに合わせてカスタマイズ (背景色、名前などを変更)
  4. [詳細設定] タブに移動し、一番下までスクロールします。
  5. Automatic Profile Switchingで、[+] をクリックし、ローカル マシンのホスト名を追加します。ホスト名はecho $HOST、ターゲット マシンで実行したときに取得するものです。プロンプトに表示されるものとは限りません。
  6. 今度はリモート マシン用に別のプロファイルを作成し、カスタマイズします。
  7. Automatic Profile Switchingにリモート マシンのホスト名を追加します。
  8. ここで、リモート マシンに ssh 接続すると、プロファイルが変更exitされ、ssh セッションを終了すると、ローカル プロファイルに戻ります。

このソリューションを@esod の回答とシームレスに組み合わせることができます。
注: デフォルトのプロファイルを使用する代わりに、デスクトップ専用のプロファイルを作成するまで、うまくいきませんでした。

詳細については、ドキュメントを参照してください。

于 2015-03-29T11:44:01.540 に答える
4

ステップ1:

iterm プロファイルをカスタマイズしますdarklight

ステップ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
于 2018-12-08T13:42:15.130 に答える
1

私はこれと同じ願いを持っていましたが、これはアプリケーションの設定で iTerm 2 (ビルド 1.0.0.20130319) で実現できることがわかりました。

次のようにして、デフォルトのプリセットとは異なるプリセットを使用してプロファイル (たとえば、リモート プロファイル) を割り当てることができます。

Profiles -> Open Profiles プロファイルを選択し、Edit Profiles... をクリックします。 Colors タブに移動し、Load Presets... のリストからこのプロファイルのプリセットを選択します。

さらに、プロファイルごとに Keys ショートカットを設定したので、1 つの iTerm ウィンドウを別のウィンドウとは異なる外観にすることができます。私はこれをしました:

  1. 環境設定で新しいプロファイルを作成する
  2. 設定で新しいプロファイル ショートカット キーを作成する -> アクションがプロファイル付きの新しいウィンドウであるキー

デフォルト プロファイルの背景は黒ですが、背景を白にすると便利な場合があります。Default プロファイルを複製し、新しいプロファイルに DefaultLight という名前を付けます。デフォルト プロファイルで、[キー] タブに移動し、キーボード ショートカットが ^+cmd+n、アクションがプロファイル付きの新規ウィンドウ、プロファイルが DefaultLight の新しいプロファイル ショートカット キーを作成します。

設定を保存した後、cmd+n は黒い背景の新しいウィンドウを開き、^+cmd+n は白い背景の新しいウィンドウを開きます。

これをさらに進めたい場合は、[キーボード ショートカット キー] 設定に [プロフィール付きの新しいタブ] アクションもあります。

于 2013-04-01T13:39:49.480 に答える
0

Fishellユーザーの場合: 1. fish 関数を作成ます

functions it2prof > ~/.config/fish/functions/it2prof.fish

  1. このコンテンツを~/.config/fish/functions/it2prof.fishファイルに追加して保存します。
function it2prof
  echo -e "\033]50;SetProfile=$argv\a"
end
  1. あなたのコマンドを楽しんでください:

it2prof whatever_profile_you_define

于 2019-03-30T02:06:36.013 に答える
0

私の場合、この機能を実装するには、 Yohaï Berreby の回答とホストの設定を組み合わせる必要があります。

  1. 自動プロファイル切り替えで、[+] をクリックし、ローカル マシンのホスト名を追加します。ホスト名は、ターゲット マシンで echo $HOST を実行したときに取得されるものです。プロンプトに表示されるものとは限りません。

私のステージング サーバーは $HOST を設定せず、ホスト名は次のとおりです。

[devel@alveo-staging ~]$ hostname
alveo-staging

しかし、ホスト名を としてルールを設定することはできませんalveo-staging。実際には、 alveo-stagingは実際のホスト名 (alveo-staging.xxx) の単なるエイリアスであり、 で設定できます/etc/hosts

したがって、これに対する簡単な解決策は、* ワイルドカードを使用して、ルールを として設定すること*staging*です。

その後、動作します。

于 2017-10-09T08:00:27.360 に答える