2016-04-20 16 views
0

私はをcentosで使用しますが、コマンドの呼び出し後にウィンドウのタイトルは保存されません。画面セッションのウィンドウタイトルは保存されません

スタック:

# Create a screen 
$ screen 
# Create a new window in screen 
# Ctrl + a: c 
# Set title of window 
# Ctrl + a: A 
# Write a "Some" window title (See screenshot #1) 
# Execute command "ls" 
$ ls 
# After this command the title of window will be reseted (See screenshot #2) 

私は、画面内のウィンドウのタイトルを保存することができますどのように?

P.S. demonizeプロセスや別のプロセスをカスタムコンソール(例としてRedisまたはPostgresSQL)で実行すると、ウィンドウのタイトルが保存されます。

ありがとうございます。

Screenshot #1 Screenshot #2

答えて

0

https://www.gnu.org/software/screen/manual/screen.html#Naming-Windows

画面は検索する ウィンドウの名前を設定することで有効になっているシェル固有のヒューリスティックを持っている|名前とヌルタイトル エスケープシーケンス出力を持つように配置あなたのプロンプトの一部として。検索部分 はプロンプトの終わりの検索文字列を指定し、名前部分 はウィンドウのデフォルトのシェル名を指定します。名前の末尾が の場合、 ':'画面では、ウィンドウ内の を実行している現在のコマンドを、指定された名前の最後(たとえば、名前:cmd)の末尾に追加します。 それ以外の場合は、 が実行されている間は現在のコマンド名がシェル名より優先されます。

これはどのように動作するのですか。 ヌルtitle-escape-sequence(k)をプロンプトの一部として出力するようにシェルプロンプトを変更する必要があります。 プロンプトの最後の部分は、タイトルの検索部分に指定した文字列 と同じである必要があります。これが設定されると、 画面はtitle-escape-sequenceを使って前の コマンド名をクリアし、次のコマンドの準備をします。次に、改行 がシェルから受信されると、 プロンプトの最後が検索されます。見つかった場合は、一致した文字列 の後ろの最初の単語を取得し、コマンド名として使用します。コマンド名が '!'、つまり '%'または '^'で始まる場合、screenはちょうど見つかった名前に優先して、次の行の最初の単語を使用します( が見つかった場合)。これにより、ジョブ制御または履歴のリコールを使用すると、 より正確なタイトルを得ることができます。 コマンド。

関連する問題