WSL bash를 사용하는 동안 현재 디렉터리에서 창의 gitk를 호출할 수 있나요?

WSL bash를 사용하는 동안 현재 디렉터리에서 창의 gitk를 호출할 수 있나요?

WSL cli bash에서 작업 중이고 gitk현재 작업 디렉토리에서 Windows를 사용하고 싶다고 가정해 보겠습니다. 이렇게 할 수 있습니까?

문안 인사,

답변1

당신이 가지고 있다면윈도우용 힘내설치된 경우 gitk.exe추가 소프트웨어를 설치할 필요 없이 WSL 명령줄에서 직접 gitk를 호출할 수 있습니다.

이에 대한 유일한 주의 사항은 Windows 버전의 gitk는 WSL 경로를 이해하지 못하고 Windows 경로만 이해한다는 것입니다. 즉, 호출만 가능함을 의미합니다.gitk.exe 저장소 내에서. 즉, /mnt/c/Users/arvil/working/my-repoGit 저장소인 경우 다음이 작동합니다.

$ 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 서버를 설치하고 gitk의 elf-64 버전을 설치합니다. 몇 가지 옵션이 있지만 이것이 내 작업 구성입니다.

  • VcXsrv 설치https://sourceforge.net/projects/vcxsrv/
    • 설치 중에 X 서버를 0으로 설정하도록 선택했습니다.
  • Windows 시작 메뉴에서 XLaunch를 시작합니다.
  • 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 서버를 설치하지 않고도 작동합니다.

관련 정보