MeisApps / pcbu-desktop

Desktop app for PC Bio Unlock
https://meis-apps.com/pc-bio-unlock
GNU General Public License v3.0
20 stars 3 forks source link

Service not installing on Fedora Immutable derivative (Bazzite) #19

Open lmgarret opened 2 months ago

lmgarret commented 2 months ago

Hi! I just downloaded version 2.0.6 and wanted to install it on my Bazzite desktop out of curiosity (a Fedora immutable desktop with KDE). The installation logs don't report any error but both installation attempts seem to do "nothing":

Here are the (desktop app) logs, there are no module's ones:

[2024-09-05 09:16:23.486] Logger init.
[2024-09-05 09:16:23.942] Failed to open file '/etc/pc-bio-unlock/app_settings.json'.
[2024-09-05 09:16:23.943] Failed reading app storage: [json.exception.parse_error.101] parse error at line 1, column 1: attempting to parse an empty input; check that your input string or stream contains the expected JSON
[2024-09-05 09:16:23.943] Creating new app storage...
[2024-09-05 09:16:23.960] Failed to open file '/etc/pc-bio-unlock/paired_devices.json'.
[2024-09-05 09:16:23.960] Failed reading paired devices storage: [json.exception.parse_error.101] parse error at line 1, column 1: attempting to parse an empty input; check that your input string or stream contains the expected JSON
[2024-09-05 09:16:23.960] Creating new devices storage...
[2024-09-05 09:16:24.529] Latest version: 2.0.6
[2024-09-05 09:16:26.870] Copying binary module...
[2024-09-05 09:16:26.898] Copying PAM module...
[2024-09-05 09:16:26.962] Adding firewall rules (firewalld)...
[2024-09-05 09:16:28.088] Installing SELinux policy...
[2024-09-05 09:16:42.450] Done.
[2024-09-05 09:16:42.555] Adding PAM entry to /etc/pam.d/sudo...
[2024-09-05 09:16:42.555] Generating configuration polkit-1...
[2024-09-05 09:16:42.615] Adding PAM entry to /etc/pam.d/sddm...
[2024-09-05 09:16:42.631] Adding PAM entry to /etc/pam.d/kde...
[2024-09-05 09:16:54.031] Logger destroy.
[2024-09-05 09:17:00.231] Logger init.
[2024-09-05 09:17:01.034] Latest version: 2.0.6
[2024-09-05 09:17:07.636] Copying binary module...
[2024-09-05 09:17:07.664] Copying PAM module...
[2024-09-05 09:17:07.720] Adding firewall rules (firewalld)...
[2024-09-05 09:17:08.819] Installing SELinux policy...
[2024-09-05 09:17:22.909] Done.

As always with immutable distros, the immutable part looks like a perfect culprit but I'm surprised that no errors are showing up in the logs :/ Hopefully installing it won't be impossible here..

Let me know if there's anything I can do to help!


Also thanks for the hard work on this, especially the Windows version. This has allowed me to create a much smoother couch gaming setup! I'm now looking to implement a small pip package to interact with the creds module, with the end goal of creating a Home Assistant integration to automate unlocking under certain conditions (e.g. I'm home)

MeisApps commented 2 months ago

Hi, the installer must have write access to /lib for the PAM module and to /etc to configure PAM correctly. These paths are read-only on immutable distros. I've read that it may be possible to create an OverlayFS to make these paths writable, but I've never tried that myself and don't really know how and if this works. It should error out during installation, I'll add an extra check in the next update. Glad you like it! Your pip package idea sounds great! If you have any questions, don't hesitate to ask.