Saya akhirnya menyelesaikan masalah penandatanganan komit git di lingkungan WSL.

125.113.***.***
7

Di WSL, proses penandatanganan commit Git sangat sulit dilakukan.

Alasannya adalah folder kerja berada di Windows (%USERPROFILE%\Documents), namun karena saya lebih terbiasa dengan bash daripada CMD atau PowerShell, saya sebagian besar melakukan pengembangan di dalam WSL.

Tentu saja, ada cara untuk mengelola proyek langsung di WSL, tetapi kali ini fitur Git di IDE Windows tidak berfungsi dengan baik.


Oleh karena itu, setelah mengalami berbagai percobaan dan kesalahan, saya membuat skrip dengan pemikiran 'bagaimana jika kami menjalankan biner yang berbeda berdasarkan jalur ketika menjalankan git dan gpg'.

Git berfungsi lancar, tetapi gpg tidak berfungsi dengan baik seperti di bawah ini

[code][hm:...ents/Release/upgrade-gitlab]$ gpg --list-secret-keys --keyid-format=long

gpg: error running '/usr/lib/gnupg/keyboxd': probably not installed

gpg: failed to start keyboxd '/usr/lib/gnupg/keyboxd': Configuration error

gpg: can't connect to the keyboxd: Configuration error

gpg: error opening key DB: No Keybox daemon running

gpg: keydb_search_first failed: Input/output error[/code]

???: Mengapa, ini adalah jalur Windows tetapi mengapa itu mencari /usr/lib...


Tentu saja, masalah dapat diselesaikan dengan menjalankan perintah seperti gpg --list-keys di CMD sekali, tetapi tidak lancar.

Oleh karena itu, setelah berdiskusi keras dengan Gemini, saya disarankan untuk mengunduh gpg. Jadi saya menginstal GnuPG.Gpg4win menggunakan winget.

Namun kali ini, GnuPG dan gpg Git melihat jalur yang sama sekali berbeda.

  • Git: %USERPROFILE%\.gnupg
  • GnuPG: %APPDATA%\gnupg

Jadi dengan penuh harapan saya memodifikasi jalur dengan pemikiran 'bagaimana jika kami mengganti direktori yang digunakan Git dengan GnuPG dan kemudian mempertahankan kompatibilitas mundur dengan mklink /J?' tetapi...

gpg keyboxd hilang {emo:onion-038.gif:50}{emo:onion-030.gif:50}

Pada akhirnya, setelah menjelajahi GitLab internal, GitLab pribadi, dan GitHub yang menggunakan kunci tersebut dan menghapus (bukan mencabut) kunci yang hilang, saya memutuskan untuk menghapus GnuPG dari Windows dan menggunakan gpg dari WSL.


Namun masalahnya adalah bagaimana mengotentikasi kotak kunci gpg WSL dari Windows.

Saya secara teratur mengamankan semua kunci yang saya gunakan dengan sandi. (Semuanya sama, itulah masalahnya...)

Jika jendela input kata sandi ini tidak muncul sebagai GUI, input sandi tidak mungkin dilakukan tanpa membajak stdin dan stdout terminal


Hasil dari diskusi yang rajin dengan Gemini adalah sebagai berikut.

Akhirnya, jendela input kata sandi muncul dengan baik di WSL dan Windows, dan ketika input kata sandi berhasil, penandatanganan commit juga berfungsi normal.

로그인한 회원만 댓글 등록이 가능합니다.

개발한당

KR | ID | EN
  • IDR
  • KOR
8.34 -0.01

2026.07.10 KEB 하나은행 고시회차 1155회

다가오는 한인 행사일정

  • 등록 된 일정이 없어요!