WSL bash を使用しているときに、現在のディレクトリでウィンドウの gitk を呼び出すことはできますか?

WSL bash を使用しているときに、現在のディレクトリでウィンドウの gitk を呼び出すことはできますか?

gitkWSL cli bash で作業していて、現在の作業ディレクトリで Windows を使用したい場合、これは可能ですか?

よろしくお願いいたします。

答え1

あなたが持っている場合Windows 用 Gitgitk.exeインストールすると、追加のソフトウェアをインストールしなくても、WSL コマンドラインから直接gitk を呼び出すことができます。

唯一の注意点は、Windows版のgitkはWSLパスを理解できず、Windows版のみ理解できるということです。つまり、gitk.exe リポジトリ内からつまり、/mnt/c/Users/arvil/working/my-repoが Git リポジトリの場合、次のようになります。

$ cd /mnt/c/Users/arvil/working/my-repo && gitk.exe
$ cd /mnt/c/Users/arvil/working/my-repo/src && gitk.exe

ただし、外部から呼び出すと次のことは起こりません。

$ gitk.exe /mnt/c/Users/arvil/working/my-repo
$ cd /mnt/c/Users/arvil/another-repo && gitk.exe ../my-repo
$ cd /mnt/c/Users/arvil/working && gitk.exe my-repo  # even this fails!

基本的に、gitk にパスを渡す必要がある場合は機能しません。

答え2

私も同じことをしたかったので、ここに来ました。しかし、最終的に gitk バイナリを正常に起動した後、Windows バイナリは WSL 形式のファイルの場所を認識しないため、ソース コードが見つからないことがわかりました。つまり、WSL のファイルは にあります/mnt/c/git/foobar

おそらく、シンボリックリンクを作成したり、他のスマートなトリックを適用してディレクトリ構造を同じにすることもできますが、私は別の方法を採用しました。つまり、Windows に X サーバーをインストールし、elf-64 バージョンの gitk をインストールしました。オプションはいくつかありますが、これが私の作業構成です。

  • VcXsrvのインストールhttps://sourceforge.net/projects/vcxsrv/
    • インストール中に、Xサーバーを0に設定することを選択しました
  • WindowsのスタートメニューからXLaunchを起動します
  • WSL上のUbuntuから、
    • sudo apt install gitk
    • echo export DISPLAY=:0 >> ~/.bashrc && source ~/.bashrc
    • cd /mnt/c/git/foobar && gitk --all

答え3

Windows 11 をお持ちの場合は、次のコマンドを実行するだけです。

sudo apt update
sudo apt install gitk

面倒な手続きや X サーバーのインストールなしでも動作します。

関連情報