in reply to Re^3: Blueproximity in Perl?
in thread Blueproximity in Perl?

My aim is to not need root to check phone proximity, and as bluetoothctl is not setuid, I am convinced it should be possible.

I've been fiddling with Net::DBus, but the docs are not conclusive and missing methods like list_services and list_objects.

I've been playing a bit with d-feet, but that didn't bring me any further (yet) with the correct arguments to Net::DBus. (and time lacks to keep trying).

What I had:

use 5.16.2; use warnings; use Net::DBus; use Data::Peek; my $bus = Net::DBus->find or die "Cannot connect to DBus\n"; my $hal = $bus->get_service ("org.bluez") or die "Cannot get Handle\n" +;

Giving no die message, but a disappointing

org.freedesktop.DBus.Error.ServiceUnknown: The name org.bluez was not +provided by any .service files

That plus

$ cat /etc/systemd/system/dbus-org.bluez.service [Unit] Description=Bluetooth service Documentation=man:bluetoothd(8) ConditionPathIsDirectory=/sys/class/bluetooth [Service] Type=dbus BusName=org.bluez ExecStart=/usr/lib/bluetooth/bluetoothd NotifyAccess=main #WatchdogSec=10 #Restart=on-failure CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE LimitNPROC=1 ProtectHome=true ProtectSystem=full [Install] WantedBy=bluetooth.target Alias=dbus-org.bluez.service

Made me skip digging into DBus for now


Enjoy, Have FUN! H.Merijn

Replies are listed 'Best First'.
Re^5: Blueproximity in Perl?
by bliako (Abbot) on May 24, 2018 at 23:19 UTC
    org.freedesktop.DBus.Error.ServiceUnknown: The name org.bluez was not 
    +provided by any .service files

    I am curious why. maybe your bluetooth usb was not plugged in or turned on and the service did not auto-start. I have linux but it is without bluetooth and in my osx, well, i guess they have their own drivers.

    Here are some other DIY ideas for unlocking your computer: face recognition, fingerprint recognition, voice recognition, whistle recognition, toe recognition (requires sandals but no socks). Of course security is big concern because someone with your phone or a picture of your iris or your finger can unlock. For this reason I propose to have a 2-level security. Unlock the screen with the proximity test only to reveal the usual login-box. This system is secure and also techie beyond cool. bw

      I want to use it for locking only, not for unlocking.


      Enjoy, Have FUN! H.Merijn