GNU/Linux >> Linux の 問題 >  >> Linux

Ssh –ローカルマシンのターミナルカラーを、I Sshを使用するマシンのターミナルカラーを使用するように設定しますか?

ターミナルにいるときに好きな配色がありますが、複数のソース(ローカル、PuTTY、ネットブックなど)から作業しているマシンにSSHで接続し、全体を通して同じ配色を維持したいと考えています。 。これは可能ですか?

特にPuTTYで欲しいです。 PuTTYの色を変更するのは難しいです。

承認された回答:

端子の色は2つのステップで決定されます:

  • 端末で実行されているプログラムは、特定の色番号を使用するように端末に指示します。
  • 端末は各色番号を色値に変換します。

Xtermには、色番号に関連付けられた色の値を変更するためのエスケープシーケンスがあります。 PuTTYがこのシーケンスをサポートしているかどうかは覚えていません。私はミンティがそうすることを知っています。

set_color_value () {
  printf "\e]4;$1;$2\a"
}
set_color_value 4 '#6495ed'  # set color 4 (blue) to CornflowerBlue

これらの設定は、端末のリセット後は存続しません。カーソル構成変更シーケンスを端末のリセット文字列に追加することで、この問題を克服できます。

  • ncursesを使用するterminfoベースのシステムで、端末のterminfo設定をinfocmp >>~/etc/terminfo.txtを使用してファイルに保存します 。説明を編集して、rs1を変更します (基本リセット)シーケンス、例: rs1=Ecを置き換えます rs1=EcE]4;4;#6495edE\による 。一部のプログラムと設定では、rs2を変更する必要がある場合があります (フルリセット)も。次に、terminfoの説明をtic ~/etc/terminfo.txtでコンパイルします。 (これはディレクトリ$TERMINFOの下に書き込みます 、または~/.terminfo 設定されていない場合)。
  • termcapベースのシステムでは、termcapデータベース(通常は/etc/termcap)からtermcap設定を取得します。 )。 isを変更します (基本リセット)およびrs (完全リセット)設定を追加するシーケンス(例: :is=EcEcE]4;4;#6495edE\:TERMCAPを設定します 編集された値に対する環境変数(:で始まり、終わる 。

これで、このようなものを~/.profileに入れることができます :

if [ "$(ps -p $PPID -o comm=)" = sshd ] &&
   [ "$TERM" = "xterm" ]; then
  set_color_value … # set color scheme
  TERMCAP=…  # if necessary
fi

Linux
  1. ターミナルカラーエスケープシーケンスはBashのどこでも定義されていますか?

  2. Vim の背景色の設定

  3. Bashでコマンドプロンプトの色を設定するには?

  1. Linux端末でAlpine電子メールクライアントを使用する

  2. Linux端末の色を変更する方法

  3. 端末から実行された場合でも、askpass プログラムを使用するように SSH を取得できますか?

  1. どのLinuxターミナルコマンドを最もよく使用しますか?

  2. 画面の一部のみを使用するようにXorgを設定しますか?

  3. リモート マシンに ssh した後、scp でローカルに戻すにはどうすればよいですか?