Làm cách nào để sử dụng máy quét dấu vân tay trên HP Probook?


10

Tôi có một máy quét dấu vân tay trên Máy tính xách tay HP Probook của tôi. Tôi đang chạy Ubuntu 11.10 trên đó. Làm thế nào để tôi sử dụng nó?

Câu trả lời:



2

Đầu tiên, hãy kiểm tra tính tương thích của phần cứng của bạn.

Thiết bị được hỗ trợ | freedesktop.org

Thiết bị không được hỗ trợ | freedesktop.org

Thứ hai, xin vui lòng hiểu rằng đăng nhập thông qua nhận dạng dấu vân tay, AKIK, đôi khi không đáng tin cậy.

fprint không hoàn toàn ổn định và có thể không hoạt động mọi lúc.

Từ Diễn đàn Ubuntu

Phần còn lại của bài đăng này được sao chép từ Bài đăng này trên Diễn đàn Ubuntu .
Tôi đã không sử dụng nó một cách cá nhân, nhưng đó là hướng dẫn cập nhật nhất cho Ubuntu mà tôi có thể tìm thấy. Bạn có thể cần gỡ lỗi gksu.pytập lệnh bao bọc

Để định cấu hình thiết bị của bạn:

Cài đặt fprint

sudo apt-get install fprint-demo libfprint-dev libfprint0 libpam-fprint aes2501-wy

Tiếp theo, đăng ký ngón tay của bạn bằng cách sử dụng thiết bị đầu cuối hoặc giao diện người dùng đồ họa.

Thiết bị đầu cuối

pam_fprint_enroll

Đồ họa

fprint_demo

Tiếp theo, định cấu hình PAM để đầu đọc dấu vân tay có thể hữu ích.

gksu gedit /etc/pam.d/common-auth

Thêm phần này vào đầu tệp (thực hiện nhiều lần trong nhiều lần bạn muốn cho phép)

# Fingerprint only
auth sufficient pam_fprint.so

Hoặc, sử dụng các tùy chọn này nếu bạn muốn yêu cầu dấu vân tay và mật khẩu.

# Fingerprint + password
auth required pam_fprint.so

Đối với các chương trình sử dụng gksudo / gksu, sao chép trình bao bọc gksu.pybên dưới để /usr/local/bin/gksuthêm hỗ trợ vân tay và nhập mã sau đây

sudo mv ./gksu.py /usr/local/bin/gksu
sudo chmod 755 /usr/local/bin/gksu
sudo apt-get install python-gnome2-extras python-pexpect

gksu.py


#!/usr/bin/python
# -*- coding: UTF-8 -*-
#
#       gksu wrapper, supporting fprint - v 0.2
#       
#       Copyright 2008 Thimo Kraemer <thimo.kraemer@joonis.de>
#       
#       This program is free software; you can redistribute it and/or modify
#       it under the terms of the GNU General Public License as published by
#       the Free Software Foundation; either version 2 of the License, or
#       (at your option) any later version.
#       
#       This program is distributed in the hope that it will be useful,
#       but WITHOUT ANY WARRANTY; without even the implied warranty of
#       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#       GNU General Public License for more details.
#       
#       You should have received a copy of the GNU General Public License
#       along with this program; if not, write to the Free Software
#       Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
#       MA 02110-1301, USA.


import sys, time
import subprocess, pexpect
import gtk, gksu2


gksu_cmd = ['/usr/bin/gksu']
sudo_cmd = ['/usr/bin/sudo']


# Do not handle requests just asking for a password or using su
skip = False
arg_skip = ['-w', '--su-mode', '-p', '--print-pass']
for arg in sys.argv:
if arg in arg_skip:
    skip = True
    break
if skip or len(sys.argv) == 1:
proc = subprocess.Popen(gksu_cmd + sys.argv[1:])
proc.wait()
sys.exit(0)


# Simple message box asking for the fingerprint
class InfoBox(gtk.MessageDialog):
def __init__(self):
    gtk.MessageDialog.__init__(
        self,
        parent         = None,
        flags          = gtk.DIALOG_DESTROY_WITH_PARENT,
        type           = gtk.MESSAGE_INFO,
        buttons        = gtk.BUTTONS_NONE,
        message_format = ' Fingerprint requested ')
    self.set_type_hint(gtk.gdk.WINDOW_TYPE_HINT_SPLASHSCREEN)
    self.set_position(gtk.WIN_POS_CENTER)
            self.set_image(gtk.image_new_from_stock(gtk.STOCK_DIALOG_AUTHENTICATION, gtk.ICON_SIZE_DIALOG))
    self.format_secondary_text('')

def fade(self, msg=None):
    self.hide_all()
    if msg:
        self.format_secondary_text(msg)
        self.show_all()
    time.sleep(0.1)
    while gtk.events_pending():
        gtk.main_iteration()

infobox = InfoBox()


# Prepare gksu context
gksu_context = gksu2.Context()
if '-d' in sys.argv or '--debug' in sys.argv:
print 'Prepare gksu context'
debug = True
else:
debug = False
gksu_context.set_debug(debug)

if '-D' in sys.argv or '--description' in sys.argv:
try: i = sys.argv.index('-D')
except ValueError: i = sys.argv.index('--description')
gksu_context.set_description(sys.argv[i+1])
else:
gksu_context.set_description(sys.argv[-1])

if '-m' in sys.argv or '--message' in sys.argv:
try: i = sys.argv.index('-m')
except ValueError: i = sys.argv.index('--message')
gksu_context.set_message(sys.argv[i+1])

if '-g' in sys.argv or '--disable-grab' in sys.argv:
gksu_context.set_grab(False)
else:
gksu_context.set_grab(True)

if '-P' in sys.argv or '--prompt' in sys.argv:
# No context method defined for this argument
pass

# Create sudo command
if debug:
print 'Create sudo command'
sudo_cmd.append('-S')
sudo_cmd.append('-p')
sudo_cmd.append('GNOME_SUDO_PASS')

if '-u' in sys.argv or '--user' in sys.argv:
try: i = sys.argv.index('-u')
except ValueError: i = sys.argv.index('--user')
sudo_cmd.append('-u')
sudo_cmd.append(sys.argv[i+1])

if not ('-k' in sys.argv or '--preserve-env' in sys.argv):
sudo_cmd.append('-H')
sudo_cmd.append('--')

sudo_cmd.append(sys.argv[-1])


# Interact with sudo
if debug:
print 'Run sudo:', ' '.join(sudo_cmd)
sudo = pexpect.spawn(sudo_cmd[0], sudo_cmd[1:])
while sudo.isalive():
response = sudo.expect([
    pexpect.EOF,
    pexpect.TIMEOUT,
    'Scan .*',
    'GNOME_SUDO_PASS',
    '.+',
    ])

# EOF, TIMEOUT
if response <= 1:
    continue

if debug:
    print '[sudo] ', sudo.after.strip()

# Hide infobox
infobox.fade()

# Ask for fingerprint
if response == 2:
    msg = sudo.after.strip()
    infobox.fade(msg)
# Ask for password
elif response == 3:
    try:
        pw = gksu2.ask_password_full(gksu_context, 'Password: ')
    except:
        pw = ''
    sudo.sendline(pw)


infobox.destroy()
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.