Linux - pinentry에 대한 해결 방법[ERR 83918950 장치에 대한 부적절한 ioctl]
나는 pinentry에서이 오류가 발생했기 때문에 이것을했습니다.
# I'm running Manjaro KDE 21.3.5
$ echo GETPIN | pinentry
OK Pleased to meet you
S ERROR curses.isatty 83918950
ERR 83918950 Inappropriate ioctl for device <Pinentry>
여기까지 왔다면 이미 GPG 키를 만들었고 gnupg 및 git 구성 파일에 대해 알고 있다고 가정하겠습니다.
내 구성에 있는 내용은 다음과 같습니다.
# .zshrc, .bashrc...
export GPG_TTY=$(tty)
# gpg-agent.conf
pinentry-program /usr/bin/pinentry-curses
max-cache-ttl 60480000
default-cache-ttl 60480000
# gpg.conf
use-agent
pinentry-mode loopback
default-key XXXXXXXXXXXXXXXX
# .gitconfig
[user]
name = xxx
email = xxx
signingkey = XXXXXXXXXXXXXXXX
[gpg]
program = gpg2
[commit]
gpgsign = true
해결책
별칭으로 호출할 스크립트를 만들 것입니다.
# .zshrc, .bashrc...
alias unlock_gpg="~/.unlock_gpg.sh"
# ~/.unlock_gpg.sh <- create this file and add the script below
current_dir=$(pwd)
cd ~/.unlock_gpg
git add .
git commit -m "abc"
git reset --soft HEAD~1
cd $current_dir
# Run this command:
$ chmod +x ~/.unlock_gpg.sh
이제 아래 단계에 따라 git repo가 있는 폴더를 만듭니다.
$ mkdir ~/.unlock_gpg/
$ cd ~/.unlock_gpg/
$ git init
$ touch file.txt
$ git add .
$ git commit -m "first commit"
# if gpg ask for your password, provide it
$ echo 'hi' > file.txt
# This will reset your gpg agent, so you can test it below.
$ gpgconf --reload gpg-agent
이제 사용해 보세요.
$ unlock_gpg
# Now you should see a password prompt like this:
Enter passphrase:
# Just enter your password and sign your commits as you wish
더 나은/결정적인 솔루션이 있으면 의견을 말하십시오.
Reference
이 문제에 관하여(Linux - pinentry에 대한 해결 방법[ERR 83918950 장치에 대한 부적절한 ioctl]), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/marcobelo/manjaro-workaround-for-pinentry-2nk텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)