3

SSHFS 経由でリモート ファイルシステムをマウントし、ツリー ビューで表示しようとする Atom パッケージを作成しています。マウントを成功させるのに問題があります。具体的には、ターミナルで次のように入力すると、ユーザー「wagoodman」として次のように入力します。

sshfs -o IdentityFile=/home/wagoodman/.ssh/id_rsa -o cache=yes -o StrictHostKeyChecking=no wagoodman@localhost:/tmp /home/wagoodman/.atom/mounts/localhost/tmp

これはうまくいきます!つまり、ssh 経由でローカルホストから /tmp ディレクトリを /home/wagoodman/.atom/mounts/localhost/tmp に問題なくマウントできます。

ただし、Atom パッケージ (コーヒー スクリプト) 内で同じタスクを実行しようとすると、エラーが発生して失敗しfusermount: mount failed: Operation not permittedます。アトムが同じユーザー (wagoodman) で実行されていることを確認しました。これは、システム上の sshfs バイナリに対して child_process.exec を呼び出すことによって行われます (必要なパラメーターを使用)。

興味深いことに注意してください。同じことを行うコマンドライン経由で呼び出される小さな coffescript を作成すると (child_process.exec を sshfs に呼び出します)、スクリプトは正常に動作します。これはかなり当惑します。

ここに表示されている問題を再現するために、小さな Atom パッケージでレポを作成しました: https://github.com/wagoodman/fusermount-issue

Dev モードでパッケージを atom に追加し、Ctrl+Alt+O を押して問題を確認します。実行coffee test.coffeeして動作を確認します。

test.coffee注:環境内およびlib/fusermount-issue.coffee環境(ユーザー、マウントポイントなど)のパラメーターを微調整する必要があります。

4

0 に答える 0