![WSL bash を使用しているときに、現在のディレクトリでウィンドウの gitk を呼び出すことはできますか?](https://rvso.com/image/1567307/WSL%20bash%20%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B%E3%81%A8%E3%81%8D%E3%81%AB%E3%80%81%E7%8F%BE%E5%9C%A8%E3%81%AE%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%E3%81%A7%E3%82%A6%E3%82%A3%E3%83%B3%E3%83%89%E3%82%A6%E3%81%AE%20gitk%20%E3%82%92%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%99%E3%81%93%E3%81%A8%E3%81%AF%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%81%8B%3F.png)
gitk
WSL 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 サーバーのインストールなしでも動作します。