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


9

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

$ sshfs -o uid=1000 -o gid=1000 root@10.0.1.198:/ "/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エラーを保存できません:rename(/home/chendy/my_mount/home/kano/.subl979.tmp、/home/chendy/my_mount/home/kano/test.py)が失敗しました:操作は許可されていません

どうしたの?解決する方法はありますか?


1
を使用してみてくださいtouch /home/chendy/my_mount/home/kano/.subl979.tmp
Braiam 2014

回答:


7

多くのエディターと同様に、Sublimeは一時ファイルに保存してから、その一時ファイルを適切な場所に移動します。これは、保存中にシステムがクラッシュした場合に備えて行われます。元のファイルまたは新しいバージョンのいずれかが存在することが保証されているため、ファイルを失うリスクはありません。

SSHFSはSFTPの上に構築されており、(少なくともOpenSSHによって実装されているように)ファイルの名前を変更したり、ターゲットをアトミックに上書きしたりすることはできません。(これはSSHFS FAQで言及されています。)

SSHFSに名前の変更と上書きを許可するように指示することでこの制限を回避できますが、操作を非アトミックにします(そのため、古いファイルが削除されても、新しいファイルに一時的な名前が残る時間はごくわずかです)。これは一部のユースケースでは問題ですが、ファイルを編集するだけでは問題ではありません。

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


1

短い答え、あなたの設定でこの設定を設定してください:

"atomic_save": false

これは、サポートされていないsshfs(SFTP)での名前変更を回避します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.