2009-06-10 10 views
18

自分のローカルマシンにログインしているのか、sshを行っているのかによって、ターミナルウィンドウの背景色が異なるローカルマシン(Ubuntu GNOME)でセットアップを行いたいリモートマシン。Gnomeのターミナルテーマをプログラムで変更する

これを行う方法はありますか?

+0

また、Gnome端末からのターミナルウィンドウやタブの整理を改善するための提案をお待ちしています。いい質問。 – Andrioid

+0

より良いウィンドウマネージャを使用してください。たぶんタイル張りです。 –

答えて

8

これはあなたが求めていることではありませんが、おそらくあなたが望むことをします。

.bashrc(または同等のシェル初期化ファイル)を変更して、sshを使用しているかどうかに基づいてプロンプトを設定できます。リモートマシン上の.bashrcファイルの末尾に

if [ -n $SSH_TTY ]; then 
    export PS1=`echo -en '\033[42m\w\$ '`; 
fi; 

すなわち、のようなものを置きます。 \033[42mは、背景色を緑色に変更するANSI Escape Codeです。

この方法で、お使いの端末の背景色が緑色(またはマゼンタ、シアン、または何でも)となりますだけあなたがリモートマシンにログインしています。

+0

すべての場合にはうまくいかないようですが、ls -l出力では背景が再びVimで黒です。 –

3

あなたがするためのオプションをチェックアウトする場合がありますgnome-terminalの:

gnome-terminal --help 

は、シェルスクリプトで

--window-with-profile=PROFILENAME 

ラップこれを与える:

#!/bin/bash 
gnome-terminal --window-with-profile=PROFILENAME 

を、その後

を行います
ssh-term 

さらに変更したい場合は、atermやその他の用語を調べてください。また、Devilspieを見てください。Devilspieは、ウィンドウのタイトル(ウィンドウの装飾などを削除するなど)に基づいて、より動的な変更を行うことができます。

http://burtonini.com/blog/computers/devilspie

+0

これを行うには、SSHに使用する特定の意図を持つ新しいウィンドウを開き、SSH接続が閉じられた直後にウィンドウを閉じる必要があります。そうでなければ、何も誤解を招き、悪いです。まさにエレガントなソリューションではありません。 – Thriveth

3

あなたはGConfを見てみたいことがあります。基本的にGnomeのレジストリはWindowsのためのものです。ほとんどのGnomeアプリは、その設定を保存するためにそれを使います。あなたはそれがGConf-Editorのようなツールを使用して、またはgconftool-2を使用して、コマンドラインから閲覧することができます:

$ gconftool-2 --all-entries /apps/gnome-terminal/profiles/Default 
background_color = #000000000000 
palette = #2E2E34343636:#CCCC00000000 [ snipped ] 
... many more lines 

あなたは、環境設定ダイアログからアクセスでき、ここですべての設定に加え、いくつかのより多くを見つけるでしょう。キーは、--setを使用して変更することもできます。詳しくは、man gconftool-2を参照してください。

多くのプログラミング言語にはGConfライブラリバインディングもあります。

+0

私が必要とするほとんどのものが、 "グローバル"レジストリを変更します....現在のタブだけではありません。私は別のマシン用のテーマを設定することができましたが、コマンドでこれを切り替える方法が必要です – pufferfish

0
export PROMPT_COMMAND='echo -ne "\033]0;${HOSTNAME}: ${PWD}\007"' 
1

私はgnome-terminalのために、この目的を達成するいくつかのスクリプトを持っています。あなたはそれらを見つけることができますhttps://github.com/xyrix/gnome-terminal-profile-switcher

スクリプトは、すべての端末の一時的なプロファイルを作成し、通常のプロファイルからコピーする一時的なプロファイルに設定された値を変更することによって動作します。

これにより、現在のgnome-terminalのプロファイルをスクリプトから変更できます。

リポジトリには、使用方法を示す「safe_ssh」スクリプトの例が含まれています。

関連する問題