Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ubuntu 24.04 howdy 3.0.0 beta installation #976

Open
joezhouchenye opened this issue Dec 17, 2024 · 3 comments
Open

Ubuntu 24.04 howdy 3.0.0 beta installation #976

joezhouchenye opened this issue Dec 17, 2024 · 3 comments

Comments

@joezhouchenye
Copy link

I found many issues related to Ubuntu 24.04. However, they are messing up different howdy versions and don't solve the problem. So, I decided to create this issue and post my working solution.

  1. Clone the project with version 3.0.0 beta
  2. Edit meson.options and modify option('install_pam_config', type: 'boolean', value: true, description: 'Install pam config file (for Debian/Ubuntu)'). Build and install as mentioned in README. I have no idea why this isn't a default behavior.
  3. sudo howdy add. It might give errors. Most python modules can be installed using apt except dlib.
  4. sudo pip3 install dlib --break-system-packages. Try to add face again. It will ask you to run a script to download models. Chinese users may have network problems. Check the script and manually do that.
  5. Config the camera https://github.com/boltgolt/howdy/wiki/Common-issues#error-when-trying-to-add-a-face-model
  6. Now, you can add and test the face. Authentication for sudo should work now.
  7. The login face recognition still has a problem. You need to manually modify /usr/local/lib/x86_64-linux-gnu/howdy/compare.py. Add sys.path.append('/usr/local/lib/python3.12/dist-packages') after the import sys line.
  8. The new version has a GUI utility howdy-gtk. Python module elevate is needed which is also not provide by apt. sudo pip3 install elevate --break-system-packages. With sudo howdy-gtk, you get the following GUI:

image

@Halmoni100
Copy link

Thank you so much! Personally I also had to add the following to the top of /etc/pam.d/common-auth in order to get the PAM integration to work.

auth sufficient /usr/local/lib/x86_64-linux-gnu/security/pam_howdy.so

I think you posted this somewhere else, but it's here for reference.

@joezhouchenye
Copy link
Author

I thought step 2 would do this (Install pam config file). Sorry for not testing this step. I found a file named /usr/share/pam-configs/howdy (Maybe created by previous install) and I modified it with the following content:

Name: Howdy
Default: yes
Priority: 512
Auth-Type: Primary
Auth:
	[success=end default=ignore]        /usr/local/lib/x86_64-linux-gnu/security/pam_howdy.so

Maybe you will have to run sudo pam-auth-update and enable Howdy there.
After this, the common-auth is automatically modified with the following line:

auth	[success=3 default=ignore]        /usr/local/lib/x86_64-linux-gnu/security/pam_howdy.so 

@Halmoni100
Copy link

The meson build default prefix (for me) seems to be /usr/local, so the howdy pam config ends up in /usr/local/share/pam-configs/howdy, and so pam-auth-update does not detect it.

Sym linking /usr/local/share/pam-configs/howdy to /usr/share/pam-configs/howdy seems to work for me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants