howdy icon indicating copy to clipboard operation
howdy copied to clipboard

openSUSE Tumbleweed - howdy doesn't launch at login/boot, sudo howdy test returns errors

Open Ultome opened this issue 2 years ago • 9 comments

Please describe the issue in as much detail as possible, including any errors and traces.

After installing howdy and adding auth sufficient pam_python.so /usr/lib64/security/howdy/pam.py before auth required pam_unix.so try_first_pass in /etc/pam.d/common-auth (symlink deleted and hard copy of common-auth-pc created instead), I have two problems:

  1. though sudo howdy --user myusername add works fine and I can save faces, sudo howdy test fails. Here's the output of that command:
[ WARN:[email protected]] OpenCV | GStreamer warning: Embedded video playback halted; module source reported: Could not read from resource.
[ WARN:[email protected]] OpenCV | GStreamer warning: unable to start pipeline
[ WARN:[email protected]] OpenCV | GStreamer warning: GStreamer: pipeline have not been created

Opening a window with a test feed

Press ctrl+C in this terminal to quit
Click on the image to enable or disable slow mode

qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, xcb.

I tried reinstalling xcb in different ways (ended up breaking my system at some point actually), it didn't help. If I edit /usr/bin/howdy so as to bypass root privileges enforcement (even though I'm guessing that's not a good idea for security), howdy test run as $my-non-root-user works (the video shows up and my face is circled in red), but at any rate, that doesn't help with the second problem:

  1. howdy has never shown up, nor at boot, logout/login, or screenlocking, no matter the adjustments I tried in PAM config or anywhere else. My webcam (that, I checked, works fine (as mentioned above)) just stays dead in all cases when howdy should kick in except manual calls directly from a terminal.

So I don't know if I missed something is PAM config, howdy install or somewhere else. That's why I need help.

Here is additionnal info that may help:

  • output of ls /etc/pam.d/:
common-account     common-password-pc          postlogin-account     postlogin-password-pc
common-account-pc  common-session              postlogin-account-pc  postlogin-session
common-auth        common-session-nonlogin     postlogin-auth        postlogin-session-pc
common-auth-pc     common-session-nonlogin-pc  postlogin-auth-pc     smtp
common-password    common-session-pc           postlogin-password
  • output of cat /etc/pam.d/common-auth:
#%PAM-1.0
# a lot of comments...
# ...

auth    required        pam_env.so
auth    optional        pam_kwallet5.so
auth    sufficient      pam_python.so /usr/lib64/security/howdy/pam.py
auth    required        pam_unix.so     try_first_pass

Finally, I had to run sudo pip3 install dlib because pip3 install dlib didn't make the error about that module disappear during installation, and got a warning about running pip with sudo.


I've searched for similar issues already, and my issue has not been reported yet.

Linux distribution is openSUSE Tumbleweed (everything including python and pip is up to date — I used pip3-3.11 for the install), with KDE Plasma, on x11 (I've heard these two last pieces of information were important).

Howdy version: 2.6.1

Ultome avatar Jul 15 '23 01:07 Ultome

You can use sudo -E howdy test to run the test, and it has nothing to do with qt and xcb.

lixiangwuxian avatar Jul 24 '23 02:07 lixiangwuxian

You can use sudo -E howdy test to run the test, and it has nothing to do with qt and xcb.

Maybe, but the real problem is that howdy doesn't launch at all at login...

EDIT: it works indeed. But I still don't know how to have it lauch at login.

Ultome avatar Jul 24 '23 11:07 Ultome

The issue is that pam_python uses python3 instead of the python2 that the release version of PAM uses. You can make certain adjustments to correct this and it will work properly. These can be found in other issues.

Jackaed avatar Aug 10 '23 20:08 Jackaed

If that was the problem it could be easy to fix, could you please provide links to the issues you're talking about? (there are a lot...)

Ultome avatar Aug 10 '23 21:08 Ultome

Change your common-auth to replace pam_python with pam_python3. Then, change pam.py to read "import configparser" instead of "import ConfigParser" and change "config = ConfigParser.ConfigParser()" to "config = configparser.ConfigParser".

Jackaed avatar Aug 11 '23 04:08 Jackaed

I would also recommend using pam includes to include the contents of "common-auth-pc" in "common-auth" instead of just hard copying it, then adding pam in the next line. I don't have the laptop to hand that I did this on, so I can't remember the syntax,

Jackaed avatar Aug 11 '23 04:08 Jackaed

Great, I'll try that asap. If you get your PC back soon, please do provide the syntax for your last suggestion. Thanks for your help!


EDIT: with your help it almost works now. Howdy test works with sudo, I can add faces, and my cam turns on at login. Unfortunately, before or at timeout I get an error:

unknown error: 1

and I have to type my password. If anyone has an idea how to solve this... Thanks!

Ultome avatar Aug 11 '23 10:08 Ultome

@Jackaed did you find out how to include the contents of "common-auth-pc" in "common-auth"? I'm interested, too, but haven't been able to find info on the web.

Cris70 avatar Sep 13 '23 08:09 Cris70

Change your common-auth to replace pam_python with pam_python3. Then, change pam.py to read "import configparser" instead of "import ConfigParser" and change "config = ConfigParser.ConfigParser()" to "config = configparser.ConfigParser".

for me this helped and all works as expected in the meantime to get rid of xcb errors I installed libqt5-dxcbplugin

instead of sudo howdy i use kdesu howdy and now it shows

poltpolt avatar Jan 16 '24 11:01 poltpolt