GNOME 3.14+は新しいgnome端末をリリースし、タイトルを設定します。

GNOME 3.14+は新しいgnome端末をリリースし、タイトルを設定します。

多くの人が残念ながらタブ/ウィンドウのタイトルを設定できなくなります。--title

バッシュを使っています。リモートサーバーへの接続に使用するいくつかのエイリアスがあります。

alias c:prod='gnome-terminal --hide-menubar --profile=Production \
--title="Production Server" -e "ssh <url>" &'

GNOME 3.14+でタイトルを設定する解決策が見つかり、入力した後にコマンドラインで正しく機能します。.bashrc

function set-title() {
  if [[ -z "$ORIG" ]]; then
    ORIG=$PS1
  fi
  TITLE="\[\e]2;$@\a\]"
  PS1=${ORIG}${TITLE}
}

ただし、これはリモートサーバーからデプロイして呼び出すときにのみ機能するようです。.bashrcつまり、ログインした後にのみヘッダーを変更できます。

とにかく、接続する前に新しいウィンドウのタイトルを変更しようとすると効果はありません。

alias c:prod='gnome-terminal --hide-menubar --profile=Production \
-e "bash -c \"source ~/.bashrc;set-title Production;ssh <url>\"" &'

端末が自分のボックスで実行されていると、リモコンでウィンドウのタイトルを設定するのが間違っているように感じ、ユーザーがそれを置くホームディレクトリを持たないサーバーで動作することはできません.bashrc

木より森が見えないところがありますか?

答え1

  1. set-title機能を次に接続します~/.bashrc

    function set-title() {
      if [[ -z "$ORIG" ]]; then
        ORIG=$PS1
      fi
      TITLE="\[\e]2;$@\a\]"
      PS1=${ORIG}${TITLE}
    }
    
  2. expectそうでない場合は、以下をインストールしてください。

    sudo apt-get install expect
    
  3. コンテンツにするProductionServer.sh:

    #!/usr/bin/env expect
    
    spawn bash
    expect -re $ {send -- "set-title \"Production Server\"\rclear\rssh [email protected]\rclear\r"}
    interact
    exit
    
  4. パラメータとして実行gnome-terminal

    gnome-terminal --hide-menubar -e ~/ProductionServer.sh
    

たぶんこのプロセスを最適化できますが、問題は解決しました。

関連情報