web-dev-qa-db-ja.com

WSL-bashで起動されたWindowsアプリはファイルを排他的にロックします

Visual Studioプロジェクトでgitコマンドを処理するためにWSL(Windows Subsystem for Linux)bashを使用しています。 Beyond Compare(Windowsプログラム)を起動するようにdifftoolコマンドを構成しています。私が見ているのは、Beyond Compareが、表示しているファイルを排他的にロックしていることです。 Beyond Compareを閉じると、ファイルのロックが解除されます。 Windowsから直接使用されるBeyondCompareは、ファイルをロックしません。

再現手順:

  1. BeyondCompareを使用するようにgitconfigdifftoolを設定します1
  2. ソースファイルを編集する
  3. Difftool(git difftool &)を実行して、BeyondCompareを起動します
  4. ソースファイルをもう一度編集して(たとえば、VisualStudioまたはVisualStudio Codeを使用して)、ファイルの保存を試みます
  5. ファイルの保存エラーを観察する

Beyond Compareで編集できますが、多くの場合、VisualStudioで編集することを好みます。

この問題を解決する方法/回避策はありますか?

私はこれを見つけました 記事wls.confについて、それをサポートするWindowsビルドバージョン(17093対現在の16299)を入手したら、/etc/wsl.conf[automount] enabled=true options=uid=1000,umask=0022,fmask=0022,dmask=0022として設定しようとします) 将来は。私の問題を解決するwsl.confはありますか?

1[difftool "bcomp"]
cmd =\"/ mnt/c/Program Files/Beyond Compare 4/BComp.exe \"\"$(winpath \" $ LOCAL\")\"\"$(winpath \" $ REMOTE\")\"/lefttitle =\"$(winpath \" $ LOCAL\")\"/righttitle =\"$(winpath \" $ REMOTE\")\"

3
Bill Hoag

Windows 1903にアップグレードするという解決策を見つけました。1903バージョンのWSLは、問題を解決する 9Pプロトコルファイルサーバー を使用します。

1
Bill Hoag