私のソースはvte.sh
鉱山にあります。これを行う.bashrc
1つの方法はBashです。 GNOME端末で新しいタブを開くと、OSC 7の情報を使用して前のタブと同じディレクトリに端末を開きます。"\033]7;file://$HOSTNAME$PWD\007"
PROMPT_COMMAND
file://mylocalbox/home/kerrick
現在のタブがSSHセッションを実行している場合は、新しいタブを起動したときに同じホストにSSHで接続し、同じディレクトリに変更するようにGNOME端末を設定したいと思います。つまり、OSC 7の値が似ている場合は、デフォルトの端末セッションの代わりにfile://myremotebox/foo/bar
実行されます。exec ssh -t myremotebox 'cd /foo/bar && exec bash -l'
このためにGNOME端末をどのように構成しますか?
答え1
この機能はサポートされておらず、ソースコードを変更する必要があります。外部C ++コードの操作に精通している場合は、これは非常に簡単な作業です。
メモ:
さまざまな状況で動作するパッチを確実に思い出すことはできますが、100%安定して処理できない状況は常に存在します。
リモートユーザー名がローカルユーザー名と異なる場合があります。ユーザー名はOSC 7シーケンスの一部ではないため、リモートユーザー名が何であるかはわかりません。
おそらく、リモートホスト名(リモートホストが自分で呼び出すもの)をlocalhostで使用してアドレスを解決できない可能性があります。
たぶん、複数のSSHホップを介してサイトに到達した可能性があります。
sshdがデフォルト以外のポートで実行されている可能性があります。
たぶんsshではなく、昔ながらのrsh / telnetやそれに似ているかもしれません。
もっとあるかもしれません... このような場合、このような機能を主流に含めるのが難しくなり、頻繁に中断されます(特にユーザー名の不一致が実際に有効な問題であるため)。 OSC 7はあなたに提供します部分の関連情報どこに、そしてあなたに必要なことそこに着く方法。