ターミナルタブのタイトルの設定


11

私はgnome-terminalの中で、いくつかの端末のタブを開くしようとしている、とこれまでのところ、私はやることができた何かを、私は今、立ち往生しています。

そのため、次の要件があります。

  • 「X」および「Y」というタイトルのタブを開く
  • いくつかのコマンドを実行する
  • タブを開いたままにして、さらに使用できるようにします。タイトルを保持します。

これまでのところ、いくつかの要件を満たしていますが、すべての要件を満たしているわけではありません。

gnome-terminal --tab -t "X" -e "bash" --tab -t "Y" -e "top"

これにより、2つのタブが開きます。

  1. 「X」(そしてタイトルをデフォルトのタイトルに変更します)
  2. 「Y」ですが、終了するとすぐにタブが閉じますtop

タブを開いて起動する方法はありますbashが、タイトル変更できませんか?Googleを試しましたが、あきらめました。

編集:それはコマンドである必要はありません。


コマンドである必要がありますか?gnome-terminal GUIはそのためにうまく機能するからです。
ネフ14

@kikjezrousまあ、キーボードショートカットまたは右クリックでそれを行う方法は知っていますが、仕事を始めるたびに(そして6つのタブがあるので)しなければならないので、本当に必要というよりも便利な問題です。
omn​​inonsense

ああ、答えを編集します。
ネフ14

回答:


4

他の回答でわかるように、タブのタイトルはシェルがプロンプトを出力するたびにシェルによって変更されます。そして、実行するtopように指示したコマンドが終了するため、タブの実行後に終了します...

次のことを行います。

ステップ1:シェルを使用して端末を呼び出し、次のような環境変数を追加します。

gnome-terminal --tab -t X -e "env MYTAB=X bash" --tab -t Y -e "env MYTAB=Y bash" 

ステップ2:.bashrc次のコードの最後に追加します。

#if MYTAB is not set, return
[ -z "$MYTAB" ] && return
# reset the cursor and title 
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
PS1="\[\e]0;$MYTAB \w\a\]$PS1"   #title: $MYTAB and current dir
# execute the commands for every tab
case "$MYTAB" in
        X)
                echo this is X
        ;;

        Y)
                echo this is Y 
                top
        ;;
esac

...これは理解しやすいと思うし、必要なコマンド/調整で変更できます。テスト済みで問題なく動作します。topタブを終了しても、プロンプトとタブを確認することができます。

スクリーンショット(で「q」を押した後top):

スクリーンショット


6

タブのタイトルを保持するには、次の行をコメントする必要があります.bashrc

# If this is an xterm set the title to user@host:dir
#case "$TERM" in
#xterm*|rxvt*)
#    PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
#    ;;
#*)
#    ;;
#esac

その後gnome-terminal --tab -t "X" -e "bash" --tab -t "Y" -e "top"、期待どおりに動作します:

ここに画像の説明を入力してください


これが最も簡単なものなので、これを正しい答えとしてマークします。:-)
omn​​inonsense 14

受け入れられた答えを変更しました(そして少し編集しました)。しかし、これはまだ素晴らしい答えです!
オムニノンセンス14

1
問題ありません、それがどのように機能するかです:)
シルヴァンピノー14

1

私はそれがコマンドである必要はないと仮定し、これを行うための完全にグラフィカルな方法を提供しています。

gnome-terminalを起動した後、「ファイル」メニューを使用すると、特定のタイトルが割り当てられた新しいタブを開くことができます。これは、「ターミナル」メニューまたはタブを右クリックしてコンテキストメニューから実行することで変更できます。

その後、topやその他の必要なコマンドをすべて開くことができます。それはすべてターミナル内にあり、他のターミナル(デスクトップ環境のみ)から実行される通常のバインドされていないプロセスとして実行されます。することになっています。


組み込みのgnome-terminalを使用する場合、タブのコンテキストメニューにタイトルを設定するオプションや、 'terminal'メニューのオプションはありません。使用している端末のバージョンは何ですか?
ウィリアムズ

1

遊んでいるうちに、それはコマンドではなく、プロファイルであることがわかりました。

に行く:

Edit | Profiles | (Default) | Edit | Title and Command 

リストの下部にある「端末が独自のタイトルを設定するとき」オプションを「初期タイトルを保持する」に変更します。これで、タイトル付きのコマンドを起動すると、コマンドが固定され、コマンドが適切に機能するようになります。

ここに画像の説明を入力してください


定義されたすべてのプロファイルに対してこれを行う必要があることに注意してください
シルヴァンピノー14
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.