env는 arm64 + Linux 펭귄 5.15입니다....aarch64
Pithos 애플리케이션을 업그레이드할 때 gnome-keyring을 설치해야 합니다. Pithos는 이 새로운 크롬북에서 실행되는 최초의 flatpak 앱입니다(dev linux는 잘 작동합니다). Flatpak이 아닌 이전 버전의 Pithos는 잘 작동합니다. 초보자는 Linux에 로그인하고 키링 데몬이 키체인이 잠금 해제된 상태로 실행되고 있으며 Pithos 애플리케이션에서 dbus를 통해 호출될 때 체인 + 키링 자격 증명의 키링 데몬이 자동으로 적절한 비밀번호를 제공하므로 이 모든 것이 잘 작동하기를 바랍니다. 응용 프로그램.
하지만...
Linux 사용자로 크롬북에 로그인하면(여기서 비밀번호 대신 pin 사용) 키링 데몬이 실행되는 것을 볼 수 있을 것으로 예상했지만 그렇지 않습니다.
Pithos 애플리케이션을 시작하려고 할 때까지 키링 데몬이 시작되지 않습니다. Pithos 비밀번호가 포함된 키링에 대한 읽기 액세스 권한이 있는 dbus 호출에서 제공한 자격 증명을 사용하여 위임된 로그인 체인에서 애플리케이션이 실패합니다.
Pithos 애플리케이션을 시작하려고 시도한 후 마침내 키링 데몬이 나타납니다.
rob@penguin:~$ ps aux | grep key
rob 1332 0.2 0.1 237724 8304 ? Sl 08:47 0:00 /usr/bin/gnome-keyring-daemon --start --foreground --components=secrets
그러나 비밀번호가 제공되지 않은 dbus 호출에서는 애플리케이션(pithos)이 실패합니다.
(pithos:2): Gtk-WARNING **: 19:33:03.075: Theme parsing error: adapta.css:11225:65: Using one color stop with linear-gradient() is deprecated.
ERROR - util:get_account_password:133 - Failed to lookup password sync, Error: g-io-error-quark: user interaction failed (0)
ERROR - util:on_password_store_finish:149 - Failed to store password, Error: g-io-error-quark: user interaction failed (0)
ERROR - util:get_account_password:133 - Failed to lookup password sync, Error: g-io-error-quark: user interaction failed (0)
dbus 디버깅 전문가는 아니지만 내 dbus 로그는 다음과 같습니다.
Jun 10 14:44:19 penguin dbus-daemon[194]: [session uid=1000 pid=194] Activating via systemd: service name='org.freedesktop.Flatpak' unit='flatpak-session-helper.service' requested by ':1.36' (uid=1000 pid=2419 comm="flatpak run io.github.Pithos " label="kernel")
Jun 10 14:44:19 penguin systemd[123]: Starting flatpak session helper...
Jun 10 14:44:19 penguin dbus-daemon[194]: [session uid=1000 pid=194] Successfully activated service 'org.freedesktop.Flatpak'
Jun 10 14:44:19 penguin systemd[123]: Started flatpak session helper.
Jun 10 14:44:19 penguin systemd[123]: Started app-flatpak-io.github.Pithos-2419.scope.
Jun 10 14:44:24 penguin xdg-desktop-por[1294]: Backend call failed: GDBus.Error:org.freedesktop.DBus.Error.Failed: Collection login doesn't exist
Jun 10 14:45:39 penguin xdg-desktop-por[1294]: Backend call failed: GDBus.Error:org.freedesktop.DBus.Error.Failed: Collection login doesn't exist
Jun 10 14:45:39 penguin xdg-desktop-por[1294]: Backend call failed: GDBus.Error:org.freedesktop.DBus.Error.Failed: Collection login doesn't exist
pretty clear fail in the above log:
Jun 10 08:47:10 penguin gnome-keyring-daemon[1332]: couldn't access control socket: /run/user/1000/keyring/control: No such file or directory
Jun 10 08:47:10 penguin gnome-keyring-d[1332]: couldn't access control socket: /run/user/1000/keyring/control: No such file or directory
그런데 무엇을 해야할지 모르겠습니다..seahorse나 libsecret-tools를 설치해야 합니까?
문제를 계속/디버깅하기 위해 dbus를 통해 키링에 올바르게 액세스하려면 어떻게 해야 합니까?
답변: 키체인, 키체인 비밀번호가 필요하고 원격으로 계속 푸시하기 때문에 github에서 이를 사용할 수 있다고 생각하지만 git은 flatpak을 통해 실행되지 않습니다.
Jun 10 11:03:32 penguin gpg-agent[2152]: gpg-agent (GnuPG) 2.2.27 starting in supervised mode.
Jun 10 11:03:32 penguin gpg-agent[2152]: using fd 3 for std socket (/run/user/1000/gnupg/S.gpg-agent)
Jun 10 11:03:32 penguin gpg-agent[2152]: using fd 4 for ssh socket (/run/user/1000/gnupg/S.gpg-agent.ssh)
Jun 10 11:03:32 penguin gpg-agent[2152]: using fd 5 for browser socket (/run/user/1000/gnupg/S.gpg-agent.browser)
Jun 10 11:03:32 penguin gpg-agent[2152]: using fd 6 for extra socket (/run/user/1000/gnupg/S.gpg-agent.extra)
Jun 10 11:03:32 penguin gpg-agent[2152]: listening on: std=3 extra=6 browser=5 ssh=4
Jun 10 11:03:32 penguin dbus-daemon[194]: [session uid=1000 pid=194] Activating service name='org.gnome.keyring.SystemPrompter' requested by ':1.24' (uid=1000 pid=2154 comm="pinentry --display :0 " label="kernel")
...
Jun 10 11:04:42 penguin gnome-keyring-daemon[1332]: asked to register item /org/freedesktop/secrets/collection/Default_5fkeyring/1, but it's already registered
Jun 10 11:04:42 penguin gnome-keyring-d[1332]: asked to register item /org/freedesktop/secrets/collection/Default_5fkeyring/1, but it's already registered
답변1
이것이 내가 해결한 방법입니다.
- 설치하다
seahorse
- 이름이 =인 새 키체인을 만듭니다.
login
- #2에서 체인을 잠금 해제하세요
다음에 앱을 실행하려고 하면 앱에서 비밀번호를 묻는 메시지를 표시하고 비밀번호 dbus
를 gnome-keyring
올바른 체인에 추가하면 모든 것이 정상입니다.
위의 내용 이후에 login.keyring
존재하고 잠금이 해제되었으므로 해결한 것 같습니다.
rob@penguin:~$ ls -l .local/share/keyrings/
total 12
-rw-r--r-- 1 rob rob 15 Jun 9 14:57 default
-rw------- 1 rob rob 813 Jun 11 13:19 Default_keyring.keyring
-rw------- 1 rob rob 327 Jun 11 13:24 login.keyring
-rw------- 1 rob rob 0 Jun 10 11:04 user.keystore