Я пишу распознавание лиц для входа в Ubuntu. В моем нынешнем виде у меня есть скрипт bash, который вызывается всякий раз, когда делается попытка войти в систему ie на экране входа в Ubuntu. Этот сценарий вызывает сценарий python3, который возвращает успех / неудачу в зависимости от того, распознано ли лицо - здесь все хорошо
Моя текущая проблема заключается в том, что сценарий не работает, пока я не войду и не введу xhost + , Я провел исследование по этому вопросу и решил, что могу сделать одно из двух, чтобы решить эту проблему.
1 - отключить распознавание лиц при первой попытке входа в систему
2 - Жесткий код xhost + в / etc / profile (плохая идея)
Главный вопрос здесь заключается в том, существует ли какой-либо способ отслеживания входа пользователя в систему и скрытия сценария до тех пор, пока это не произойдет? ie Как и большинство смартфонов, разрешить аутентификацию по паролю только при первом входе в систему?
bash Сценарий, который я написал ниже
#xhost +
export DISPLAY=:0
var1="success"
var=$(/path/to/file/pam_detect.py)
exit_status=$? # This grabs the exit status of the python script we just ran
if [ "${exit_status}" -ne 0 ]; # checks to see if exit status is anything other
then
echo "exit ${exit_status}"
exit 1 # exit status 1 on python script fail (exit 1)
fi
if [ "$var" == "$var1" ]; then
#echo "exit 0"
exit 0
else
#echo "exit 1"
exit 1
fi
Это называется my my / etc / pam. Файл d / common-auth, использующий pam exe c .so (который вызывается при попытке пользователя войти в систему)