SSHFSは動作しているようですが、Sublime + SSHFSは動作しませんか?

SSHFSは動作しているようですが、Sublime + SSHFSは動作しませんか?

次のコマンドを使用して、SSHFSを介してリモートファイルシステムをマウントしました。

$ sshfs -o uid=1000 -o gid=1000 [email protected]:/ "/home/chendy/my_mount"

Sublimeを使用してファイルを開いて保存しようとしたときを除いて、すべてがうまくいっているようです。

ファイルを見て名前を変更しますか?例:

...ファイルエクスプローラでファイルを表示し、ファイルエクスプローラを使用してファイル名を正常に変更できます。

権限/ユーザー/グループ?はい

...権限を確認すると、すべてが正しく行われているようです。

$ ls -l '/home/chendy/my_mount/home/kano/test.py'
-rwxrwxrwx 1 chendy chendy 927 Apr 15 16:24

VIMを使用してファイルを編集しますか?はい

...VIMでファイルを開いて保存することもできます。

Sublimeを使ってファイルを編集しますか?間違い

...しかし、ファイルエクスプローラを介してファイルをロードするか、コマンドラインを使用してSublime(Sublime Text 3 Build 3059)で開くと、次のようになります。

 $ /opt/sublime_text/sublime_text '/home/chendy/my_mount/home/kano/test.py'

同じエラーが発生しました。

~/my_mount/home/kano/test.py を保存できません。エラー:名前の変更(/home/chendy/my_mount/home/kano/.subl979.tmp、/home/chendy/my_mount/home/kano/test.py)失敗:操作は許可されていません

どうなりますか?解決策はありますか?

答え1

多くの編集者と同様に、Sublimeは一時ファイルに保存し、その一時ファイルを所定の場所に移動します。これは、ストレージ処理中にシステムがクラッシュするのを防ぐために行われます。元のファイルまたは新しいバージョンがそのまま残るので、ファイルを失う危険はありません。

SSHFSは、(少なくともOpenSSHによって実装されているように)ファイルの名前変更を許可せずにターゲットを自動的に上書きするSFTPの上に構築されます。 (この点はSSHFS FAQ.)

名前の変更と上書きを許可しますが、操作を非原子的にするようにSSHFSに指示することで、この制限を解決できます。したがって、古いファイルは短期間削除されますが、新しいファイルはまだ一時的な名前を持ちます。これは一部のユースケースでは問題になりますが、ファイルを編集するときは問題になりません。

コマンドライン-o workaround=renameにオプションを追加します。sshfs

答え2

短い答えは、設定で次のように設定します。

"atomic_save": false

サポートされていないSSHF(SFTP)の名前変更を防ぎます。

関連情報