bluetooth
Bluetooth on the two workstations (novox/hq research 027/02, to-be 42 phase 2 step 9).
Owns
| what | where |
|---|---|
| the Bluetooth stack and its daemon | package bluez |
bluetoothctl, which the tools speak through |
package bluez-utils |
| the daemon, running and enabled | bluetooth.service |
All official. /etc/bluetooth/main.conf is the package's file, unchanged on both workstations
(every setting commented out). The module states nothing in it, so it declares nothing there.
Improves
- The stack is declared, not a dependency of something else. On both workstations
bluezis installed only as a dependency. Removing the applet that pulled it in would have left it an orphan for the next clean-up to take, and Bluetooth with it. - An owner for the daemon, running and enabled on both today with nothing recording why.
- Headphones from the mesh.
bluetooth_connectandbluetooth_devices(with battery) answer from any machine, without the applet.
Tools
All answer JSON; (r) reads, (a) acts. They run as the operator account. bluez's bus policy lets
the account act; if it ever refuses (AccessDenied), the act is repeated through sudo -n. An act
whose output says it failed (Failed to …, org.bluez.Error…, not available) is an error, whatever
bluetoothctl's exit status.
| tool | what |
|---|---|
bluetooth_controller (r) |
address, name, powered, discoverable, pairable, discovering |
bluetooth_power (r/a) |
read, or switch the controller on or off |
bluetooth_devices (r) |
all, paired, connected or trusted devices: kind, paired, bonded, trusted, blocked, connected, battery where reported |
bluetooth_scan (r) |
discover for 1 to 15 s (default 8); the unpaired devices found, strongest signal first |
bluetooth_connect / bluetooth_disconnect (a) |
one device; connect waits up to 15 s |
bluetooth_trust (a) |
trust, or untrust |
bluetooth_pair (a) |
pair with an agent that confirms nothing (headphones, speakers), then trust. A device that shows a code is paired from the desktop |
bluetooth_remove (a) |
forget a device |
What changes when it is assigned
Nothing on disk on either workstation: both packages are installed, and the service is enabled and
running. bluez becomes explicitly the mesh's.
Leaves as found
- The paired devices and their keys under
/var/lib/bluetooth(bluez's state). bluemanand its applet: thebluemanmodule's, which relies on this one for the stack and declares none of its packages. The applet starts from the package's XDG autostart entry.bluez-obexand the AUR terminal clientbluetuith-bin(with its-debug) on the laptop.