web-dev-qa-db-ja.com

複数のタブに固有のタイトルを付けてgnome-terminalを起動するにはどうすればよいですか?

複数のタブでgnome-terminalを起動することについて さまざまな投稿 を見てきましたが、以下のスクリプトでうまくいきます。つまり、このスクリプトは、さまざまな作業ディレクトリまたはプロファイルでgnome-terminalを起動します。 。 。

_#!/bin/sh
gnome-terminal \
--tab --working-directory=$HOME/notes  \
--tab --working-directory=$HOME/puppet \
--tab --profile=root-beamish           \
--tab --profile=Odyssey                \
--tab --profile=root
_

...しかし、各タブに一意のタイトルを設定したいのですが。

タブに独自のプロファイルがある場合、Edit | Profiles | (NAME) | Edit | Title and Commandを使用してgnome-terminal内からタイトルを変更し、「初期タイトル」を希望するものに変更し、「ターミナルコマンドが独自のタイトルを設定するとき」から「最初のタイトルを置き換える」を「最初のタイトルを保持」に変更します。ただし、すべてのタブに固有のプロファイルを作成するのではなく、一般的な解決策が欲しいです。

_--title='MyTitle'_を追加しようとしましたが、効果がないようです。 CentOS 6でGNOME 2.28.2を使用しています。

7
Philip Durbin

-tオプションを使用します。 (gnome-terminal --help-terminal-optionsを参照)

gnome-terminal \
--tab -t "notes" --working-directory=$HOME/notes  \
--tab -t "puppet" --working-directory=$HOME/puppet \
--tab -t "beamish" --profile=root-beamish           \
--tab -t "Odyssey" --profile=Odyssey                \
--tab -t "root" --profile=root

-------- 2011-11-15 22:00:00に更新--------

ですから、Solaris 11 Expressではgnome-terminal 2.30.2で動作しました。

それ以来、2.32.1を使用するUbuntu 11.04(Natty)でテストでき、まったく同じ動作が見つかりました。

Ubuntuの場合、それをubuntu .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

この場合、PS1変数は、xterm*およびrxvt*に一致する端末タイプ用に拡張されています。

PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"

具体的には、PS1="\[\e]0;\a\]の間の部分です。それらはウィンドウのタイトルに変わります。

caseステートメント全体をコメントアウトすると、-tオプションを使用したgnome-terminalの動作は期待どおりに機能しました。これをテストするためのCentOS 6ボックスも見つけることができるかどうかを確認します。


-------- 2017-11-1 09:38:00に更新--------

したがって、Gnome-Terminalの最近のバージョンでは、端末のタイトルを設定する単純な-tオプションのようないくつかの便利な機能がなくなったようです。

それはis実行時に端末のタイトルを設定することがまだ可能です、それは今地獄のように醜いです。コマンドでprintfまたはechoを使用して、タイトルを作成できます。

例えば:

printfを使用して「My Fancy Title」というタイトルの1つのタブでターミナルウィンドウを開始するには:

gnome-terminal --tab -e 'bash -c "printf \"\e]2;My Fancy Title\a\"; bash -i"'

echoを使用して、2つのタブを持つターミナルウィンドウを開始するには、1つがトップで、もう1つがタイトルで、

gnome-terminal \
--tab -e 'bash -c "echo -ne \"\033]0;my tab running top\007\"; top"' \
--tab -e 'bash -c "echo -ne \"\033]0;My Fancy Title\007\"; bash -i"'

これは少なくとも、実行時に端末のタイトルを設定するオプションを提供します。

_~/.bashrcに簡単な関数を配置して、タイトルを自由に設定および再設定できるオプションについては、(= /// =)この投稿を参照してください

6
Tim Kennedy

私がしたとき

$ gnome-terminal -t "MyTitle"

新しい端末には、しばらくの間「MyTitle」というタイトルがあり、すぐにデフォルトのタイトルに置き換えられました。

に行きました

編集|プロファイル| (デフォルト)|編集|タイトルとコマンド

また、「ターミナルコマンドが独自のタイトルを設定した場合」を「初期タイトルを維持」に変更すると、上記のコマンドは「MyTitle」をタイトルとしてターミナルを起動しました。

3
kishore

これにより、2つのタブが作成され、それぞれが「foo」または「bar」というディレクトリに開かれ、タブのタイトルは「foo」と「bar」になります。

gnome-terminal --tab -t foo -e 'sh -c "cd foo; sh"' --tab -t bar -e 'sh -c "cd bar; sh"'

0
Chris Koknat