web-dev-qa-db-ja.com

SSHセッションに基づいて端末の色を変更する

SSHで接続しているサーバーに基づいて、端末の色を自動的に変更することはできますか?

たとえば、ターミナルを起動すると、プロファイルで定義された標準色が使用されます。次にssh.example.comにsshすると、代わりに色が黒と緑に変わります。その後、セッションを終了すると、色は標準のカラーテーマに戻ります。

これを手動で行うことができることを知っています。しかし、私は自動化された方法を探しています。

28
karlingen

はい、sshで接続しているすべてのホスト名でPS1ファイルの.bashrc値を変更することでできます。

この回答 を参照して、bashがPS1値を変更するのを好むようにコスト計算する方法を確認してください。

ssh colored

私のマシン(radu @ Radu)では、.bashrcにあります:

PS1='${debian_chroot:+($debian_chroot)}\[\033[01;35m\]\u@\h\[\033[00m\]:\[\033[01;34m\] \w\[\033[01;37m\] > '

ホストされているマシン(radu @ ubuntu)には次のものがあります。

PS1='${debian_chroot:+($debian_chroot)}\[\033[01;35;40m\]\u@ubuntu\[\033[00;40m\]:\[\033[01;34;40m\] \w\[\033[01;32;40m\] > '
23
Radu Rădeanu

Xtermを使用している場合、これはうまく機能します。

https://github.com/fboender/sshbg

0
Ben Mathews