
私は、一連のマシンに接続するために、screen 内で ssh を頻繁に使用します。キャプション行に、ssh で接続しているサーバーに関する情報 (マシン名、稼働時間、vmstat からの情報など) が表示されるのが理想的です。
screen コマンドは screen が実行される場所でのみ実行されるようで、リモート マシンでは実行されないことに気付きましたbacktick
。現在 ssh されているマシンでコマンドを実行するように backtick を取得する簡単な方法はありますか?
答え1
Screen は、ウィンドウ内のターミナルが Screen に影響を与えるために送信できるいくつかの追加の制御シーケンスを認識します。特に興味深いのは、\ek シーケンスと \e\ シーケンスでしょう。これら 2 つのシーケンスの間にあるものはすべて、Screen によってウィンドウ タイトルとして使用されます。その後、ウィンドウ タイトルをキャプション行に配置できます。
http://www.gnu.org/software/screen/manual/screen.html#index-control-sequences-107
これを試してみてください:
PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD/$HOME/~}\007\ek${USER}@${HOSTNAME}: ${PWD/$HOME/~}\e\\"'
私はこれをリモート システムのプロンプトとして使用します。これにより、ウィンドウ タイトルが自動的に に設定されますuser@name: path
。Screen のエスケープ シーケンスは、そのコマンドの最後にあります。