リモートSSHセッションからローカルシステムにコマンドを送信する方法はありますか?

リモートSSHセッションからローカルシステムにコマンドを送信する方法はありますか?

リモートコンピュータですべてのコードを実行しています。私のラップトップにsshfsを使用してリモートファイルシステムをマウントしたので、私のお気に入りのテキストエディタなどを使用できます。つまり、ターミナルウィンドウでsshセッションを実行し、ここにコマンドを入力してから、ローカルエディタでインストールされているファイルを開きます。

唯一の退屈なことは、ファイルまたはディレクトリを開くたびに、新しいターミナルウィンドウからローカルにマウントされたディレクトリに移動する必要があることです。

SSHセッションでローカルファイル/ディレクトリをすぐに開くようにコマンド/キーボードショートカットを定義する賢い方法はありますか?

私は考えた:

  • SSH経由でリモートで自分のラップトップにコマンドを送信するスクリプト
  • 何とかペーストボードを使用する(リモートでpwdを実行し、ペーストボードにコピーし、ローカルにマウントされたファイルシステムパスに変換)
  • AppleScriptを使用して(私はMacで作業しているので)、Terminal.appに新しいサービスを提供してください。

しかし、これまでこの問題を解決できませんでした。

答え1

リモコンにX11があり、それに接続するために使用している場合は、ssh -Xすでにローカルコンピュータに戻るバックチャンネルがあります。リモコンに次のような小さなスクリプトを直接書いてみてくださいfff

#!/bin/bash
mountpoint=/mnt/remote
case $1 in
/*)  file="$1" ;;
*)   file="$PWD/$1" ;;
esac
echo "$mountpoint/$file" | xsel -p

次に、ファイル名を再度渡す場合は、リモートタイプfffやタブの完成などで編集したいファイル名を選択します。スクリプトはファイル名の前にマウントポイントを追加し、結果として X11 デフォルト選択を設定します。

ローカルコンピュータでviマウスの貼り付けボタンを入力して押すだけで、適切なローカルファイル名をコマンドに追加できます。

関連情報