Portál AbcLinuxu, 1. května 2025 08:45
Jelikož mi jaktěživ nefunguje kbluelock, napsal jsem si vlastní řešení, třeba se bude někomu hodit.
Funguje to tak, že dokud je dané bluetooth zařízení v dosahu notebooku, nic se neděje, (oba musí mít funkční BT a dané zařízení - mobil třeba - musí být viditelné) ale jakmile zmizí hlídané zařízení z dosahu, zamkne se obrazovka uživatele, který má skript spuštěný.
Varování: Není to žádná programátorská perla, ale funguje to
Nahraďte adresu svou vlastní, zjistíte ji pomocí "hcitool scan".
Doporučuji přidat do .xinitrc, spouštět s ampersandem (&) na pozadí.
#! /bin/bash adresa="00:14:9A:6A:0E:74" zarizeni="hci0" if [ "$device_exists" != "" ]; then while true; do device_exists=`hcitool dev | grep $zarizeni` scan_result=`hcitool scan | grep $adresa` if [ "$scan_result" = "" ]; then if [ ! -f /home/snajpa/.is-locked ]; then nohup xscreensaver -nosplash >/dev/null 2>/dev/null & xscreensaver-command -lock touch /home/snajpa/.is-locked fi else if [ -f /home/snajpa/.is-locked ]; then killall xscreensaver 2>/dev/null rm /home/snajpa/.is-locked fi fi done else xmessage -center "BlueLock: Device $zarizeni not found" fi
Tiskni
Sdílej:
Device is not available: No such device
echo "Zamykani obrazovky neni funkcni" | osd_cat
Neni me dost jasne, k cemu takovy skript muze pomoci. To jako nekdo odejde od konzole a doufa, ze mu ten skript konzoli zamkne a ani neprekontroluje, zda je zamknuta? Na to bych nervy nemel. A nebo to uzivatel kontroluje? Pak vzhledem k reakcni dobe skriptu (nekolik sekund ?) je vyrazne rychlejsi ve zlomku sekundy zamknout konzoli klavesovou zkratkou.
Jaký to má praktický smysl kromě cvičení programování v bashi? Jestliže okolí nedůvěřuju natolik, že si potřebuju zamykat session, tak přece nebudu spoléhat na bluetooth zařízení v dosahu. Skript navíc ověřuje pouze MAC adresu BT zařízení, jak těžké je změnit ji? Co když někdo odposlechne MAC adresu BT na tvém telefonu (například) a pak si u sebe nastaví stejnou a přijde k tvé zamčené session? Opravdu je MAC adresa BT modulu dostatečně věrohodný údaj na odemčení session?
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.