Automatyczne usuwanie blokady ekranu

Compatible Nitrokeys

3A/C/Mini

Passkey

HSM 2

Pro 2

FIDO2

Storage 2

Start

U2F

active

inactive

active

active

inactive

active

inactive

inactive

Ten przewodnik przeprowadzi Cię przez konfigurację Twojego komputera, aby automatycznie zablokować sesję po usunięciu Nitrokey.

Konfiguracja wymaga utworzenia dwóch plików w dwóch różnych katalogach.

Wymagania

Konfiguracja

Utwórz plik .rules.

W swoim ulubionym edytorze tekstu utwórz plik o nazwie 85-nitrokey.rules.

$ sudo editor /etc/udev/rules.d/85-nitrokey.rules

Dodaj następującą linię do pliku

ACTION=="remove", ENV{PRODUCT}=="20a0/4108/101" RUN+="/bin/bash -c '/usr/local/bin/gnome-screensaver-lock'"

Zapisz plik i wyjdź z edytora.

Ten plik ustawia nową regułę sprzętową, która wykonuje gnome-screensaver-lock przy usuwaniu urządzenia Nitrokey.

Należy zmienić konfigurację w zależności od używanego urządzenia w następujący sposób:

  • Nitrokey 3: ENV{PRODUCT}=="20a0/42b2/107"

  • Nitrokey Pro: ENV{PRODUCT}=="20a0/4108/101"

  • Nitrokey HSM: ENV{PRODUCT}=="20a0/4230/101"

  • Nitrokey Storage: ENV{PRODUCT}=="20a0/4109/101"

Jeśli masz inne urządzenie i chcesz znaleźć ciąg ENV{PRODUCT}, możesz użyć następującego polecenia, aby znaleźć informacje podczas podłączania:

$ udevadm monitor --property --udev

Utwórz skrypt gnome-screensaver-lock.

W swoim ulubionym edytorze tekstu utwórz plik o nazwie gnome-screensaver-lock.

$ sudo editor /usr/local/bin/gnome-screensaver-lock

Dodać następujący tekst

user=`ps axo user:30,comm | grep -E "gdm-(wayland|x)" | awk '{print $1}'`

if [ -n $user ]; then
        su $user -c "DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus /usr/bin/dbus-send --type=method_call --dest=org.gnome.ScreenSaver /org/gnome/ScreenSaver org.gnome.ScreenSaver.Lock"
fi

W pierwszym kroku skrypt ten szuka nazwy użytkownika sesji gnome, tj. user.

Kiedy jest wywoływany podczas usuwania Nitrokey, skrypt zapyta user, przełączy się na swoją sesję i zablokuje ekran przez wywołanie ekranu wygaszacza.

Wykonaj skrypt

Po skonfigurowaniu wszystkiego, wykonaj skrypt raz, a zablokuje on ekran. Nie ma znaczenia, czy Nitrokey jest podłączony czy nie podczas pierwszego wykonania.

Zastosowanie

Teraz możesz zalogować się ponownie do swojej sesji poprzez podanie hasła i (ponownie) podłączyć Nitrokey, jeśli nie zrobiłeś tego wcześniej.

Następnym razem, gdy odłączysz Nitrokey od komputera, automatycznie zablokuje on ekran.