이 동작에 대한 디버깅 단계를 파악하기는 어렵습니다.
몇 가지 명령을 실행 gpg
하면 일반적으로 약 20초 후에 GUI Pinentry 창이 팝업되어 비밀번호를 입력하고 명령을 계속 실행할 수 있습니다.
그러나 때로는 구성을 변경하지 않고도 터미널에 프롬프트가 즉시 나타납니다. 다른 드문 경우에는 GUI Pinentry가 즉시 실행됩니다.
한 모니터에서 GUI Pinentry를 실행하는 동안 GUI Pinentry가 즉각적으로 실행되는 것을 발견한 적이 있습니다. 저는 보통 HDMI를 통해 외부 모니터를 노트북에 연결합니다.
터미널에서 프롬프트를 발견한 또 다른 때는 창 관리자가 충돌했을 때 별도의 TTY에서 Xorg 서버 프로세스를 종료하고 창 관리자를 다시 시작했을 때였습니다.
저는 Manjaro Linux를 실행하고 StumpWM을 창 관리자로 사용하고 있습니다. 이와 관련된 다른 소프트웨어나 구성이 무엇인지 잘 모르겠습니다.
답변1
--daemonize
TLDR: 플래그를 에 전달 해야 합니다 gnome-keyring-daemon
.
나는 /usr/bin/gnome-keyring-daemon --start --components=gpg,pkcs11,secrets,ssh
내 안에 있습니다 .xinitrc
.
매개변수를 추가하면 --daemonize
문제가 해결된 것 같습니다.
/usr/bin/gnome-keyring-daemon --daemonize --start --components=gpg,pkcs11,secrets,ssh
다음은 유사하지만 동일하지 않은 문제가 발생할 경우를 대비하여 이 문제를 해결하기 위해 취한 문제 해결 단계의 혼란스러운 단계입니다.
나는 gpg, keyring, gpg-agent, pinentry, gpg 비밀번호 힌트와 같이 관련성이 있다고 생각되는 일련의 키워드로 시작했습니다.
journalctl -xe
관련 정보에 대한 출력을 검색합니다 . 이 경우에는 다음이 표시됩니다.
비밀 서비스를 사용하여 키의 비밀번호를 조회할 수 없습니다. <...>: org.freedesktop.secrets에 대해 StartServiceByName을 호출하는 중 오류가 발생했습니다...>
이것은 나에게 검색할 또 다른 키워드를 제공합니다: org.freedesktop.secrets
. 출력을 살펴보면 journalctl
다른 항목이 표시됩니다.
dbus-daemon[2210]: [session uid=1000 pid=2208] 'org.freedesktop.secrets' 서비스를 활성화할 수 없습니다: 시간 초과(service_start_timeout=120000ms)
이것은 나에게 또 다른 핵심 단어를 제공합니다 dbus-daemon
...
dbus-monitor
나는 DBus를 통해 전송되는 내용을 살펴보고 오류 출력을 읽곤 했습니다 .
org.freedesktop.secrets
또한 DBus 가 실행 중인지 확인하기 위해 메시지를 보냈습니다 . (https://rtfm.co.ua/en/what-is-linux-keyring-gnome-keyring-secret-service-and-d-bus/)
dbus-send --session --dest=org.freedesktop.DBus --type=method_call --print-reply /org/freedesktop/DBus org.freedesktop.DBus.ListNames
...
string "org.freedesktop.secrets"
...
모든 것은 서비스가 실행되고 있지 않음을 나타냅니다 org.freedesktop.secrets
.
gpg-agent
, org.freedesktop.secrets
, 는 어떻게 dbus-daemon
연결되어 있나요?
gpg-agent
"DBus"를 통해 "Keyring"과 대화하세요. 제 경우에는 키체인이 입니다 gnome-keyring-daemon
.
답변2
나는 또한이 문제에 직면했습니다. 매번 핀트리가 나타날 때까지 25초를 기다려야 합니다.
문제가 키링에 있다는 Eric Ihli의 답변을 통해 다음을 통해 기능을 끌 수 있습니다.
# ~/.gnupg/gpg-agent.conf
...
# Don't ask gnome-keyring for password
no-allow-external-cache
...