Frage zur Howdy Installation

Hallo, hat jemand Erfahrung mit howdy? Ich habe das nach dem Tut
[Tutorial] Installing Howdy: Now it's personal
installiert. Irgendetwas scheine ich aber vergessen zu haben, denn ich hänge bei “howdy test” fest:`peterb@precision5570 ~]$ sudo howdy test
[sudo] Passwort für peterb:

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

QSettings::value: Empty key passed

der Infrarotsensor auf /dev/video2 erkennt mein Bild, beschwert sich aber über den fehlenden Key. Den Workaround in der config habe ich schon probiert, bringt aber nichts.
Die “auths” laut Tut sind eingetragen, was könnte da noch fehlen?

Summary

Nach langer Zeit und dank Versuch und Irrtum habe ich es geschafft, Howdy an EndeavourOS zu arbeiten und Sie können auch! :enos-flag:

Schritt 1: Howdy AUR.
Installieren Sie einfach das Howdys AUR-Paket so, wie Sie möchten, installieren Sie es in meinem Fall mit pamac.

Schritt 2: Identifizieren Sie, welches Ihr Login-Manager ist.
In meinem Fall benutze ich KDE, also habe ich Sddm, aber in Ihrem Fall können Sie LightDM, xcreenaver, sudo usw. verwenden.

Schritt 3: Pam.py Dateien.
Der nächste Schritt und der Verwirrende ist die PamPam-Dateien, auf der github-Seite sagt es, dass Sie der Seite von Howdys Arch folgen sollten, auf der es heißt, jede Pam-Konfigurationsdatei zu ändern, wirklich was hier gemeint ist, ist, dass Sie die Pam.py-Datei ändern müssen, die Sie in Ihrem speziellen Fall benötigen.

Woher weiß ich, welche ich ändern soll?
Dafür war Schritt 2! in meinem Fall /etc/pam.d/sddm weil ich Sddm benutze, aber in Ihrem Fall kann es sein:

  • LightDM: /etc/pam.d/lightdm
  • Sddm: /etc/pam.d/sddm
  • Sudo /etc/pam.d/sudo
  • xscreenaver: /etc/pam.d/xscreensaver

Verwenden Sie Ihren Lieblingseditor, um die Codezeile hinzuzufügen auth sufficient pam_python.so /lib/security/howdy/pam.py knapp unter der ersten Codezeile, die normalerweise #%PAM-1.0 aber es kann variieren, es ist nicht wichtig für das, was wir wollen.

Wir müssen auch auth sufficient pam_unix.so try_first_pass likeauth nullok Um entweder ein Passwort oder ein Gesicht zu verwenden, muss diese Zeile oben auf der Datei sein.

In meinem Fall habe ich Kate benutzt und es ist so geworden:

#%PAM-1.0

auth        sufficient  pam_unix.so try_first_pass likeauth nullok
auth        sufficient  pam_python.so /lib/security/howdy/pam.py
auth		include		system-login
-auth		optional	pam_gnome_keyring.so
-auth   optional  pam_kwallet5.so

account		include		system-login

password	include		system-login
-password	optional	pam_gnome_keyring.so use_authtok

session		optional	pam_keyinit.so force revoke
session		include		system-login
-session		optional	pam_gnome_keyring.so auto_start
-session  optional  pam_kwallet5.so auto_start

//////////////////
Von diesem Moment an sind die Schritte einfach, um der Bogenseite zu folgen, da das Schlimmste vorbei ist, aber ich werde weiter erklären, damit Sie auf keinen Fall verloren gehen.
//////////////////

Schritt 4: Finden Sie Ihre IR-Sensoren.
Dies wird verwendet, um Ihr Gesicht zu erkennen, es kann nur die normale Kamera, die spezifischen Licht- / Tiefensensoren oder sogar beides sein, es hängt alles von Ihrer Hardware ab.

Der Sensor kann durch mehrere Programme identifiziert werden, die im Arch-Führer empfohlen werden, sind Cheese, fswebcam und v4l-utils, in meinem Fall probiert jeder, den ich gesehen habe, dass ich standardmäßig das neueste installiert habe, damit es das, was ich verwenden werde.

Beim Öffnen des Kommando-Terminals habe ich v4l2-ctl --list-devices folgende Ausgabe erhalten:

USB2.0 HD UVC WebCam: USB2.0 HD (usb-0000:0b:00.0-1):
        /dev/video0
        /dev/video1
        /dev/video2
        /dev/video3
        /dev/media0
        /dev/media1

Jetzt wirst du sagen, und was bedeutet das alles? gute Frage, die Antwort ist, dass alles variiert, es gibt keinen Sensor, der immer richtig ist, weil wir alle verschiedene Hardware haben, so dass es Versuch und Irrtum sein wird, ich kann Ihnen nur sagen, dass normalerweise eine der ersten Listen die richtige ist.

Sichern Sie jetzt das gesamte Ergebnis, da es im nächsten Schritt benötigt wird

Schritt 5: Test und Fehler zum Hinzufügen des richtigen IR-Sensors
Jetzt müssen wir Howdy sagen, welchen Sensor wir verwenden wollen, dieser Teil macht Spaß, aber wenn Sie viele Sensoren haben, wäre es vielleicht nicht so viel.

Wir müssen die Howdy-Konfigurationsdatei mit dem gewünschten Editor öffnen, wir finden sie im folgenden Pfad: /lib/security/howdy/config.ini
(Ich empfehle, den Befehl auszuführen sudo howdy config um leichter zu kommen)

Im Inneren finden wir viele Optionen, die wir nach unserem Geschmack konfigurieren können, ich empfehle Ihnen, später einen Blick darauf zu werfen.

Wir suchen nach der Zeile des Codes, die Folgendes enthält: device_path = null und wir werden “null” für jeden der /dev/videoX die wir vorher gefunden haben.

In meinem Fall /dev/video1 aktiviert die Kamera und /dev/video2 aktiviert die Sensoren, also habe ich beschlossen, Video2 zu verwenden. Es sollte so aussehen:

# The path of the device to capture frames from
# Should be set automatically by an installer if your distro has one
device_path = /dev/video2

Speichern Sie die Änderungen, es wird Sie wahrscheinlich nach Ihrem Passwort fragen.

Schritt 6: Wie kann ich wissen, was jeder Sensor tut?
Dieser Schritt geht mit dem vorherigen Versuchs- und Irrtum einher, was wir tun werden, ist ein Werkzeug zu verwenden, das Howdy uns gibt, um zu testen, dass alles gut funktioniert, auf diese Weise werden wir die verschiedenen testen /dev/videoX dass wir.

Wir müssen zum Befehlsterminal gehen und sudo howdy test

Nachdem Sie unser Passwort geschrieben haben, öffnet sich ein Tab, der zeigt, was Howdy sieht, wenn es versucht, Ihr Gerät zu entsperren, wenn es nichts zeigt, müssen Sie den Weg zu einem anderen von der Liste ändern, viel Glück damit.

Hinweis: Die Registerkarte wird durch Drücken von ctrl+C im Kommandoterminal geschlossen.

Wie ich schon sagte, habe ich entdeckt, dass /dev/video2 löste die Sensoren meines Geräts aus.

Hallo, es ist ein Genuss!

Schritt 7: Fügen Sie Ihr schönes Gesicht hinzu.
Einfach laufen sudo howdy add Geben Sie im Befehlsterminal Ihr Passwort ein, geben Sie einen Namen für das Gesichtsmodell ein, das Sie registrieren werden, und denken Sie daran, in die Kamera zu schauen, die Käse sagt!! :slightly-smiling-face:

CONGRATULATIONS

Jetzt können Sie Howdy verwenden, um sich anzumelden, denken Sie daran, die Konfigurationsdatei zu überprüfen, da Sie das Programm Fotos von Personen machen können, die sich nicht anmelden. :eyes

Um Howdy zu verwenden, versuchen Sie einfach, sich anzumelden und das Passwortfeld leer zu lassen.

TIPPS

  1. Wenn Sie KDE verwenden, haben Sie höchstwahrscheinlich “KDE-Sperrbildschirm”, der sich anders verhält als der Login-Manager, also um Howdy jedes Mal zu verwenden, wenn Sie die Sitzung sperren, müssen Sie den folgenden Befehl ausführen: sudo chmod -R 755 /lib/security/howdy und Neustart.
  2. DIES IST NICHT IN SICHERHEIT TERSTÄHEIT (Aber es ist Ihr GNU/Linux-System und Sie können es anpassen, wie Sie wollen).
    Sie können Howdy aktivieren, wenn Root-Berechtigungen benötigt werden, z. B. beim Aktualisieren von System-/Anwendungen oder beim Tippen sudo im Kommandoterminal (su nicht enthalten).
    Um dies zu tun, müssen wir die gleichen Codezeilen wie in Schritt 3>
    (auth sufficient pam_unix.so try_first_pass likeauth nullok
    auth sufficient pam_python.so /lib/security/howdy/pam.py)
    in gleicher Weise aber in der Akte /etc/pam.d/system-auth.
  3. Stellen Sie sicher, dass Sie die howdy config-Datei mit capture_successful = false weil wir nicht jedes Mal, wenn wir uns einloggen, einen Ordner mit Fotos füllen wollen… vielleicht wollen Sie, aber… ich überlasse es Ihrer Wahl.

Ich verdiene ein :Herz:und Sie wissen es, wenn dies Ihnen geholfen oder interessiert hat, wie dieser Beitrag!

1 Like

Hallo,
diese Anleitung ist praktisch identisch mit der, die ich gefunden hatte. Bis sudo howdy add geht soweit alles gut, es wird für jeden Versuch ein Modell angelegt. Bei sudo howdy test blinkt kurz der grüne Kreis auf und wird dann rot=no match. Die Ausgabe an der Konsole ist “QSettings::value:: Empty key passed” und nach Control+C
Closing window
/usr/bin/howdy: Zeile 3: 2626 Speicherzugriffsfehler (Speicherabzug geschrieben) /usr/bin/python “/usr/lib/howdy/cli.py” “$@”
Hilft das weiter?
LG
Peter

Ich erinnere mich nur blass daran, dass ich das auch mal ausprobiert habe.

Sieht eher nach einem generellen Problem aus, irgendeine Abhängigkeit, die sich geändert hat oder nicht richtig installiert ist, könnte es auch sein

OK, hier zur Info meine Daten:

[peterb@precision5570 ~]$ inxi -Fxxx
System:
  Host: precision5570 Kernel: 6.13.3-arch1-1 arch: x86_64 bits: 64
    compiler: gcc v: 14.2.1 clocksource: tsc
  Desktop: KDE Plasma v: 6.3.1 tk: Qt v: N/A wm: kwin_wayland vt: 1 dm: SDDM
    Distro: EndeavourOS base: Arch Linux
Machine:
  Type: Laptop System: Dell product: Precision 5570 v: N/A
    serial: <superuser required> Chassis: type: 10 serial: <superuser required>
  Mobo: Dell model: 03M8N5 v: A00 serial: <superuser required> part-nu: 0B1A
    uuid: <superuser required> UEFI: Dell v: 1.29.0 date: 12/11/2024
Battery:
  ID-1: BAT0 charge: 44.1 Wh (100.0%) condition: 44.1/54.9 Wh (80.4%)
    volts: 12.6 min: 11.4 model: SMP DELL P8P1P95 type: Li-poly serial: 1721
    status: full
CPU:
  Info: 14-core (6-mt/8-st) model: 12th Gen Intel Core i9-12900H bits: 64
    type: MST AMCP smt: enabled arch: Alder Lake rev: 3 cache: L1: 1.2 MiB
    L2: 11.5 MiB L3: 24 MiB
  Speed (MHz): avg: 400 min/max: 400/4900:5000:3800 cores: 1: 400 2: 400
    3: 400 4: 400 5: 400 6: 400 7: 400 8: 400 9: 400 10: 400 11: 400 12: 400
    13: 400 14: 400 15: 400 16: 400 17: 400 18: 400 19: 400 20: 400
    bogomips: 116736
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
Graphics:
  Device-1: Intel Alder Lake-P GT2 [Iris Xe Graphics] vendor: Dell
    driver: i915 v: kernel arch: Xe ports: active: eDP-1 empty: DP-1, DP-2,
    DP-3, DP-4, HDMI-A-1 bus-ID: 00:02.0 chip-ID: 8086:46a6 class-ID: 0300
  Device-2: NVIDIA GA107GLM [RTX A2000 8GB Laptop GPU] vendor: Dell
    driver: nouveau v: kernel arch: Ampere pcie: speed: 2.5 GT/s lanes: 8
    bus-ID: 01:00.0 chip-ID: 10de:25ba class-ID: 0302
  Device-3: Microdia Integrated_Webcam_HD driver: uvcvideo type: USB
    rev: 2.0 speed: 480 Mb/s lanes: 1 bus-ID: 3-6:2 chip-ID: 0c45:6732
    class-ID: 0e02
  Display: wayland server: X.org v: 1.21.1.15 with: Xwayland v: 24.1.5
    compositor: kwin_wayland driver: X: loaded: modesetting
    alternate: fbdev,intel,vesa dri: iris,nouveau gpu: i915 display-ID: 0
  Monitor-1: eDP-1 model: LG Display 0x06b3 res: mode: 1920x1200 hz: 60
    scale: 125% (1.25) to: 1536x960 dpi: 145 size: 336x210mm (13.23x8.27")
    diag: 396mm (15.6") modes: 1920x1200
  API: EGL v: 1.5 hw: drv: intel iris platforms: device: 1 drv: iris
    device: 2 drv: swrast gbm: drv: iris surfaceless: drv: iris wayland:
    drv: iris x11: drv: iris inactive: device-0
  API: OpenGL v: 4.6 compat-v: 4.5 vendor: intel mesa v: 24.3.4-arch1.1
    glx-v: 1.4 direct-render: yes renderer: Mesa Intel Iris Xe Graphics (ADL
    GT2) device-ID: 8086:46a6 display-ID: :1.0
  API: Vulkan Message: No Vulkan data available.
  Info: Tools: api: clinfo, eglinfo, glxinfo, vulkaninfo
    de: kscreen-console,kscreen-doctor wl: wayland-info
    x11: xdpyinfo, xprop, xrandr
Audio:
  Device-1: Intel Alder Lake PCH-P High Definition Audio vendor: Dell
    driver: snd_hda_intel v: kernel bus-ID: 00:1f.3 chip-ID: 8086:51c8
    class-ID: 0403
  API: ALSA v: k6.13.3-arch1-1 status: kernel-api
  Server-1: PipeWire v: 1.2.7 status: active with: 1: pipewire-pulse
    status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
    4: pw-jack type: plugin
Network:
  Device-1: Intel Alder Lake-P PCH CNVi WiFi driver: iwlwifi v: kernel
    bus-ID: 00:14.3 chip-ID: 8086:51f0 class-ID: 0280
  IF: wlan0 state: up mac: a0:59:50:55:1b:9e
Bluetooth:
  Device-1: Intel AX211 Bluetooth driver: btusb v: 0.8 type: USB rev: 2.0
    speed: 12 Mb/s lanes: 1 bus-ID: 3-10:4 chip-ID: 8087:0033 class-ID: e001
  Report: btmgmt ID: hci0 rfk-id: 0 state: up address: A0:59:50:55:1B:A2
    bt-v: 5.3 lmp-v: 12 class-ID: 6c010c
Drives:
  Local Storage: total: 953.87 GiB used: 36.28 GiB (3.8%)
  ID-1: /dev/nvme0n1 vendor: Western Digital model: PC SN810 NVMe WDC 1024GB
    size: 953.87 GiB speed: 63.2 Gb/s lanes: 4 tech: SSD serial: 22214A802252
    fw-rev: 61912524 temp: 33.9 C scheme: GPT
Partition:
  ID-1: / size: 86.19 GiB used: 22.97 GiB (26.7%) fs: ext4 dev: /dev/nvme0n1p2
  ID-2: /home size: 393.03 GiB used: 13.12 GiB (3.3%) fs: ext4
    dev: /dev/nvme0n1p3
Swap:
  ID-1: swap-1 type: partition size: 8.79 GiB used: 0 KiB (0.0%) priority: -2
    dev: /dev/nvme0n1p4
Sensors:
  System Temperatures: cpu: 46.0 C mobo: 36.0 C sodimm: SODIMM C
  Fan Speeds (rpm): cpu: 0 fan-2: 0
Info:
  Memory: total: 32 GiB note: est. available: 31.02 GiB used: 1.88 GiB (6.1%)
  Processes: 374 Power: uptime: 1m states: freeze,mem,disk suspend: s2idle
    wakeups: 0 hibernate: platform Init: systemd v: 257 default: graphical
  Packages: pm: pacman pkgs: 1117 Compilers: gcc: 14.2.1 alt: 13 Shell: Bash
    v: 5.2.37 running-in: konsole inxi: 3.3.37

Optimus ne ?
Hybrid Grafik also in der CPU intel IRIS und eine Nvidia GPU extra… die mit open source Treibern läuft…

direct-render: yes renderer: Mesa Intel Iris Xe Graphics

Aber nicht benutzt wird… rendern tut die igpu

Sollte kein Problem sein aber könnte.

Ich kann das Morgen eventuell mal testen habe ein Tuxedo notebook mit Camera die ist zwar grotten-schlecht, aber zur Not habe ich noch eine externe webcam die besser ist.

Segmentation fault ist eben meistens etwas mit der Application selbst das zu einem Ausnahmezustand führt.

Ein Segmentation Fault (kurz: “Segfault”) ist ein schwerwiegender Laufzeitfehler, der auftritt, wenn ein Programm versucht, auf einen Speicherbereich zuzugreifen, für den es keine Berechtigung hat. Dies führt in der Regel dazu, dass das Programm abstürzt

Helfen könnten info zur Kamera:
v4l2-ctl --list-devices

Sonst tief abtauchen und howdy stracen ?
strace -o howdy_debug.log /usr/bin/python /usr/lib/howdy/cli.py

dann kannst du den ergebenen log pastbinnen und die url hier posten:
cat howdy_debug.log | eos-sendlog

Welche Version von howdy hast du installiert? Scheint, es sollte howdy-git genommen werden.
Die nicht git Version ist sehr alt… https://aur.archlinux.org/packages/howdy-git

Hallo, sorry, dass es so lange gedauert hat. Ich hatte Probleme mit meinem Desktop Rechner (Pamac friert den Desktop ein, Spuren beim Verschieben von Fenstern…), die ich mittlerweile beseitigt habe - wobei Pamac immer noch nicht geht :roll_eyes:
Version ist howdy-git r586.c4521c1-1

Zu strace meint bash: Kommando nicht gefunden,
v4l2-ctl …
Integrated_Webcam_HD: Integrate (usb-0000:00:14.0-6):
/dev/video0 bis 3 und /dev/media0 bis 1 kannst Du damit etwas anfangen?

lang lang ist es here :wink:

Also bereits die Git Version.. ich habe das jetzt auch nicht mehr installiert, wenn möglich gucke ich es mir noch mal an, der Framework hat ja auch eine Kamera

installieren hilft hier
sudo pacman -Syu strace

extra/strace 6.13-1 (497.3 KiB 1.6 MiB)
A diagnostic, debugging and instructional userspace tracer

Danke, hätte ich auch draufkommen können - bin heute wohl nicht der schnellste, sorry

https://0x0.st/8QhP.txt

Ist das, was Du meitest?

Ja schon, aber das ist eben alles bereits reverse Engineering :wink:

1 Like

Na gut, melde ich mich halt weiterhin mit Passwort an

Wie gesagt es funktionierte bei mir eigentlich, und andere haben es auch zum Laufen gebracht, ist nicht unmöglich.

so gerade auf Gnome getestet das geht ohne größere probleme ich musste nur statt dem was im wiki steht:
auth sufficient pam_howdy.so

in der /etc/pam.d/gdm-password

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.