假设您正在使用 WSL cli bash,然后您想要使用gitk
当前工作目录中的 Windows,您可以这样做吗?
问候,
答案1
如果你有适用于 Windows 的 Git安装后,您可以gitk.exe
直接从 WSL 命令行调用 gitk,而无需安装任何其他软件。
唯一需要注意的是,Windows 版本的 gitk 无法识别 WSL 路径,只能识别 Windows 路径。这意味着你只能调用gitk.exe
从您的存储库中换句话说,如果/mnt/c/Users/arvil/working/my-repo
是 Git repo,则执行以下操作:
$ 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。有几种选择,但这是我的工作配置:
- 从安装 VcXsrvhttps://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 服务器即可工作。