Wren Linux

wren-linux / docs / extras / bluetooth.md (as plain text)

Bluetooth (extras/bluetooth.sh)

SYNOPSIS

wrenctl install bluetooth                     install it (the adapter is off at every boot)
wrenctl remove bluetooth                      remove it
wrenctl manual bluetooth                      print the manual steps below

wrenctl --bluetooth on|off     switch the adapter (or the Wren menu > Bluetooth)
bluetoothctl                   pair a device: type
  scan on                      (wait until the device shows up)
  pair AA:BB:...   trust AA:BB:...   connect AA:BB:...

Bluetooth for headphones, keyboards, mice and a phone's connection: bluez from Debian (its bluetoothctl pairs devices in a terminal), rfkill to switch the radio, and, if sound is set up (extras/pipewire-audio.sh), the part of PipeWire that plays sound over Bluetooth. The adapter starts switched off at every boot (AutoEnable=false in /etc/bluetooth/main.conf), so no radio listens while you aren't using it; switch it on from the Wren menu, and off again when you are done. Without this extra the menu has no Bluetooth switch, and removing it leaves the radio blocked.

LIMITS

MANUAL INSTALL

# bluez, and rfkill to switch the radio
sudo apt install --no-install-recommends bluez rfkill
# Only with sound set up: PipeWire's Bluetooth sound
sudo apt install --no-install-recommends libspa-0.2-bluetooth
# The switch the Wren menu uses (wrenctl --bluetooth calls it)
install -D -m 0755 @WREN_DIR@/bin/radios ~/.local/bin/radios

# Off at every boot: set AutoEnable=false (add a [Policy] section with it if
# the file has no AutoEnable line), then check it shows "AutoEnable=false"
sudo sed -i -E 's/^[#[:space:]]*AutoEnable=.*/AutoEnable=false/' /etc/bluetooth/main.conf
grep -q '^AutoEnable=' /etc/bluetooth/main.conf || printf '\n[Policy]\nAutoEnable=false\n' | sudo tee -a /etc/bluetooth/main.conf
grep -n '^AutoEnable' /etc/bluetooth/main.conf

# The service, and the radio off now too
sudo systemctl enable --now bluetooth.service
~/.local/bin/radios bluetooth off

To undo:

# The radio blocked, as nothing will switch it once bluez is gone
rfkill block bluetooth
# Back to Debian's default (the adapter on at boot)
sudo sed -i 's/^AutoEnable=false$/#AutoEnable=true/' /etc/bluetooth/main.conf
# bluez and PipeWire's Bluetooth part (marked "automatic" instead of purged:
# autoremove takes it out only if nothing needs it)
sudo apt purge bluez
sudo apt-mark auto libspa-0.2-bluetooth
sudo apt autoremove --purge