Kategorie | GNOME, Linux, Mobilniak, Poradniki

  

Automatyczne blokowanie ekranu po odejściu od komputera [aktualizacja]

Opublikowano 04 sierpnia 2010 przez Franek

Wielu ludzi dba o bezpieczeństwo swoich danych, szyfrują dyski, używają wymyślnych haseł. Często zapominają jednak, że odchodząc od komputera chociażby na chwilę, należy wylogować się, lub zablokować ekran. Na nic zdają się wymyślne zabezpieczenia kiedy użytkownik zastawia uruchomioną sesję odchodząc od komputera. Najlepiej byłoby zautomatyzować proces blokowania ekranu, tak aby po odejściu od komputera system sam blokował ekran, a po powrocie sam go odblokowywał.

Aby to osiągnąć potrzebne jest dowolne urządzenie wyposażone w Bluetooth, na przykład telefon komórkowy, w moduł Bluetooth oczywiście powinien być wyposażony też komputer. Działa to w sposób następujący, odchodząc od komputera, zabieramy ze sobą telefon. W chwili kiedy telefon znajdzie się poza zasięgiem komputera, ekran zostanie automatycznie zablokowany. Kiedy bezprzewodowa łączność telefonu z komputerem zostanie odzyskana, ekran zostanie odblokowany. Użytkownicy KDE mają aplikację o nazwie KBlueLock która posiada takie właściwości, ja natomiast w odmętach Internetu wynalazłem taki skrypt:

#!/usr/bin/env bash
# Autor: Johnny Chadda

# Set your bluetooth address here. Get it with “hcitool scan”.
BT_ADDR=”TU WPISZ ADRES URZĄDZENIA”

# How often to check for the device? Note that scanning too often may have a
# negative impact on your battery life.
SLEEP_TIME=5

# Nothing more to configure

HCITOOL=”hcitool”
BT_CMD=”$HCITOOL name $BT_ADDR”

SCREEN_CMD=”gnome-screensaver-command ”
SCREEN_LOCK=”$SCREEN_CMD -l”
SCREEN_UNLOCK=”$SCREEN_CMD -d”
SCREEN_QUERY=”$SCREEN_CMD -q”

# Do we have hcitool?
which $HCITOOL > /dev/null
if [ $? -ne 0 ]
then
echo “$HCITOOL not found”
exit 1
fi

# Do we have gnome-screensaver-command?
which $SCREEN_CMD > /dev/null
if [ $? -ne 0 ]
then
echo “$SCREEN_CMD not found”
exit 1
fi

# Enter main loop
while true
do
RETVAL=`$BT_CMD`
if [ ${#RETVAL} -gt 0 ]
then
`$SCREEN_UNLOCK`
else
`$SCREEN_LOCK`
fi

# Sleep for the configured amount of time
sleep $SLEEP_TIME
done

Należy skopiować zawartość skryptu do pliku o nazwie bluelock.sh, zapisać i nadać uprawnienia do wykonywania:
chmod +x bluelock.sh
Skrypt ten do działania wykorzystuje bluez-utils, pakiet ten należy zainstalować:
sudo apt-get install bluez-utils
Za pomocą pomocą poniższego polecenia należy ustalić adres Bluetooth telefonu i wpisać go do skryptu:
hcitool scan
To wszystko, można już uruchomić skrypt i testować jego działanie, najlepiej zrobić to wpisując w terminal:
./bluelock.sh &
Być może rozwiązanie to nie jest idealne, w moim przypadku zasięg Bluetooth jest też dość duży, mogę iść na drugie piętro i dalej łączyć się z komputerem, przez co ekran nie zostaje zablokowany. Dlatego proszę o wszelkie sugestie i uwagi. :)

Aktualizacja:
Tak jak zasugerował Name Less, the Jedi [dzięki za cenną uwagę! :)] istnieje, aplikacja o nazwie BlueProximity, aplikacja ta jest lepsza ponieważ można kalibrować ustawienia, zmieniać czas po jakim ma być blokowany/odblokowywany ekran oraz ustawiać odległość. Program zwyczajnie jest wygodniejszy w obsłudze, można go
pobrać z repozytoriów Ubuntu, lub z sourceforge.net.
sudo apt-get install blueproximity

  

3 Comments For This Post

  1. Name Less, the Jedi Says:

    Erm… a może lepiej skorzystać z czegoś co się nazywa blueproximity? Robi dokładnie to samo, ma możliwość skalibrowania no i całkiem ładną ikonkę w tray-u

  2. Franek Says:

    Dzięki, musiałem słabo szukać, bo nie znalazłem tek appki. Bardzo fajna ta aplikacja :D

  3. brzys Says:

    Świetne. Nie raz odchodziłem od kompa a 'koledzy' rysowali mi fiu** i ustawiali na tapete ;D.

Leave a Reply

Polityka komentarzy

Wyszukiwane tagi: blokowanie ekranu, blokada ekranu komputera      
     
Green Dog Says

MiniBlog