Предположим, вы работаете в WSL cli bash и хотите использовать gitk
Windows в текущем рабочем каталоге. Можно ли это сделать?
С уважением,
решение1
Если у вас естьGit для WindowsПосле установки вы сможете вызывать gitk gitk.exe
напрямую из командной строки WSL без необходимости установки какого-либо дополнительного программного обеспечения.
Единственное предостережение в том, что версия gitk для Windows не понимает пути 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
.
Вы, вероятно, можете сделать несколько символических ссылок или применить другие хитрые трюки, чтобы сделать структуру каталогов такой же, но вместо этого я пошел другим путем; установил X-сервер на Windows и установил версию gitk elf-64. Есть несколько вариантов, но вот моя рабочая конфигурация:
- установка VcXsrv изhttps://sourceforge.net/projects/vcxsrv/
- во время установки я выбрал установку X-сервера на 0
- запустите XLaunch из меню «Пуск» Windows
- из Ubuntu на WSL,
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-сервера.