Automatyczne usuwanie blokady ekranu

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

  • Ubuntu 20.04 lub Debian 10 (Buster), oba z zainstalowanym Gnome Display Manager.

  • Nitrokey Pro 2, Nitrokey Storage 2 lub Nitrokey HSM 2.

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+="/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 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 | egrep "gdm-(wayland|x)" | awk '{print $1}'`

if [ -n $user ]; then
        su $user -c "/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.