diff --git a/README.md b/README.md index 35914e0..52a83ee 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Howdy for Linux [![](https://img.shields.io/travis/boltgolt/howdy/master.svg)](https://travis-ci.org/boltgolt/howdy) [![](https://img.shields.io/github/release/boltgolt/howdy.svg?colorB=4c1)](https://github.com/boltgolt/howdy/releases) ![](https://boltgolt.nl/howdy_badge/installs.php?nc) ![](https://boltgolt.nl/howdy_badge/views.php) +# Howdy for Linux [![](https://img.shields.io/travis/boltgolt/howdy/master.svg)](https://travis-ci.org/boltgolt/howdy) [![](https://img.shields.io/github/release/boltgolt/howdy.svg?colorB=4c1)](https://github.com/boltgolt/howdy/releases) Windows Hello™ style authentication for Linux. Use your built-in IR emitters and camera in combination with face recognition to prove who you are. @@ -10,7 +10,7 @@ Howdy is currently available for Ubuntu/Debian and Arch Linux. If you’re inter **Note:** The build of dlib can hang on 100% for over a minute, give it time. -### Ubuntu (apt) +### Debian (Ubuntu, Linux Mint, etc) Run the installer by pasting (`ctrl+shift+V`) the following commands into the terminal one at a time: @@ -57,7 +57,9 @@ howdy [-U user] [-y] command [argument] ## Contributing [![](https://img.shields.io/travis/boltgolt/howdy/dev.svg?label=dev%20build)](https://github.com/boltgolt/howdy/tree/dev) [![](https://img.shields.io/github/issues-raw/boltgolt/howdy/enhancement.svg?label=feature+requests&colorB=4c1)](https://github.com/boltgolt/howdy/issues?q=is%3Aissue+is%3Aopen+label%3Aenhancement) -You can contribute in many ways. The easiest are reporting bugs and opening github issues for features you'd like to see in howdy. Code contributions are also very welcome. +The easiest ways to contribiute to Howdy is by starring the reposotory and opening github issues for features you'd like to see. If you want to do more, you can also [buy me a coffee](https://www.buymeacoffee.com/boltgolt). + +Code contributions are also very welcome. If you want to port Howdy to another distro, feel free to contact me. ## Troubleshooting diff --git a/src/cli/add.py b/src/cli/add.py index 4a45ab3..2d82c06 100644 --- a/src/cli/add.py +++ b/src/cli/add.py @@ -85,6 +85,13 @@ video_capture = cv2.VideoCapture(int(config.get("video", "device_id"))) if config.get("video", "force_mjpeg") == "true": video_capture.set(cv2.CAP_PROP_FOURCC, 1196444237) +# Set the frame width and height if requested +if int(config.get("video", "frame_width")) != -1: + video_capture.set(cv2.CAP_PROP_FRAME_WIDTH, int(config.get("video", "frame_width"))) + +if int(config.get("video", "frame_height")) != -1: + video_capture.set(cv2.CAP_PROP_FRAME_HEIGHT, int(config.get("video", "frame_height"))) + # Request a frame to wake the camera up video_capture.read() diff --git a/src/config.ini b/src/config.ini index ef65786..4e4416e 100644 --- a/src/config.ini +++ b/src/config.ini @@ -9,6 +9,9 @@ no_confirmation = false # show an error but fail silently suppress_unknown = false +# Disable Howdy in remote shells +ignore_ssh = true + # Auto dismiss lock screen on confirmation # Will run loginctl unlock-sessions after every auth # Expirimental, can behave incorrectly on some systems @@ -40,7 +43,7 @@ force_mjpeg = false # Set the camera input profile to this width and height # The largest profile will be used if set to -1 -# Automatically ignored if not a valid profile +# Automatically ignored if not a valid profile frame_width = -1 frame_height = -1 diff --git a/src/pam.py b/src/pam.py index 13e571b..5fd462e 100644 --- a/src/pam.py +++ b/src/pam.py @@ -19,6 +19,11 @@ def doAuth(pamh): if config.get("core", "disabled") == "true": sys.exit(0) + # Abort if we're in a remote SSH env + if config.get("core", "ignore_ssh") == "true": + if "SSH_CONNECTION" in os.environ or "SSH_CLIENT" in os.environ or "SSHD_OPTS" in os.environ: + sys.exit(0) + # Run compare as python3 subprocess to circumvent python version and import issues status = subprocess.call(["python3", os.path.dirname(os.path.abspath(__file__)) + "/compare.py", pamh.get_user()])