多くの人が残念ながらタブ/ウィンドウのタイトルを設定できなくなります。--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
set-title
機能を次に接続します~/.bashrc
。function set-title() { if [[ -z "$ORIG" ]]; then ORIG=$PS1 fi TITLE="\[\e]2;$@\a\]" PS1=${ORIG}${TITLE} }
expect
そうでない場合は、以下をインストールしてください。sudo apt-get install expect
コンテンツにする
ProductionServer.sh
:#!/usr/bin/env expect spawn bash expect -re $ {send -- "set-title \"Production Server\"\rclear\rssh [email protected]\rclear\r"} interact exit
パラメータとして実行
gnome-terminal
:gnome-terminal --hide-menubar -e ~/ProductionServer.sh
たぶんこのプロセスを最適化できますが、問題は解決しました。