censo: la fila de bluetooth estaba mal en LAS DOS direcciones
Iba a construir `bluetuith` para cerrar «falta con qué emparejar un auricular» y al medir el terreno resultó que no hacía falta — y que el hueco real era otro, un piso más abajo. Lo que la fila decía mal por exceso: EMPAREJAR SÍ SE PUEDE. `bluez` trae `bluetoothctl` 5.87 (probado: corre, rc=0, estático, sin NEEDED colgantes), su daemon está en /usr/lib/bluetooth/bluetoothd, la receta declara su `[[service]]` y —esto es lo que faltaba comprobar— los CUATRO escritorios que instalan bluez también lo HABILITAN en su lista `servicios`. O sea camino completo: daemon arrancado + CLI oficial de emparejado. `blueman` y `bluetuith` son frontends: comodidad, no capacidad. Contar frontends ausentes y concluir que no se puede emparejar es el error. Lo que la fila no veía, y es REAL: **el audio por bluetooth es imposible**. `pipewire` se construye con `-Dbluez5=disabled`, deliberadamente y con su razón escrita en la receta («cadena de códecs aptx/ldac/aac/opus enorme»). Sin el plugin SPA bluez5, PipeWire no ve el auricular como salida: se empareja bien y no suena. Medido: /usr/lib/spa-0.2/ trae alsa, audioconvert, aec… y CERO bluez. Y el precio de encenderlo, medido, porque es una decisión y no un olvido: el A2DP obligatorio sólo necesita SBC (aptX/LDAC/AAC son de lujo) pero NO hay receta de `sbc` ni de ningún códec, y 19 recetas dependen de pipewire —entre ellas las TRES de Gecko (firefox 339M, firefox-instrumentado 585M, waterfox 377M)— así que rearma la cadena PGO entera. Horas de cómputo en el LXC. ⇒ Receta no escrita a propósito. Lo que queda es la decisión, con su precio.
Delta semántico
Ninguna definición cambió: el cambio es de texto, documentación o datos.
1 archivos · +16 −1
- scripts/censo-distro.py +16 −1
diff --git a/scripts/censo-distro.py b/scripts/censo-distro.py
index b0a2f08a..1aec6fe9 100755
--- a/scripts/censo-distro.py
+++ b/scripts/censo-distro.py
@@ -178,7 +178,22 @@ CHECKLIST = {
# ── RED, SEGURIDAD, DATOS ───────────────────────────────────────────────────────────────────
'vpn y red gestionada': ('networkmanager, wireguard-tools y wpa_supplicant están',
['openvpn', 'iwd', 'nmtui', 'impala', 'mosh', 'sshfs']),
- 'bluetooth usable': ('`bluez` viaja; falta con qué emparejar un auricular',
+ 'bluetooth usable': ('⚠ ESTA FILA ESTABA MAL EN LAS DOS DIRECCIONES (medido 2026-10-21). '
+ 'Decía «falta con qué emparejar un auricular» y EMPAREJAR SÍ SE PUEDE: `bluez` trae '
+ '`bluetoothctl` 5.87 —la herramienta oficial de Linux, probada, corre y es estática— y '
+ 'los cuatro escritorios que lo instalan TAMBIÉN habilitan su servicio `bluetoothd`, '
+ 'así que el camino está completo: daemon arrancado + CLI de emparejado. Lo que falta '
+ 'son los FRONTENDS (`blueman` gráfico, `bluetuith` de terminal), que es comodidad, no '
+ 'capacidad. ⇒ contar frontends ausentes y concluir «no se puede emparejar» es el error '
+ 'de esta fila. PERO hay un hueco REAL un piso más abajo que la fila no veía: '
+ '**el AUDIO por bluetooth es imposible**. `pipewire` se construye con '
+ '`-Dbluez5=disabled` a propósito (su receta: «cadena de códecs aptx/ldac/aac/opus '
+ 'enorme»), y sin el plugin SPA bluez5 PipeWire no ve el auricular como salida: se '
+ 'empareja y no suena. El A2DP obligatorio sólo necesita SBC —aptX/LDAC/AAC son de '
+ 'lujo— pero NO existe receta de `sbc` ni de ningún códec. Y encenderlo no es gratis: '
+ '19 recetas dependen de pipewire, incluidas las TRES de Gecko (firefox 339M, '
+ 'firefox-instrumentado 585M, waterfox 377M) ⇒ rearma la cadena PGO entera. Es una '
+ 'decisión de horas de cómputo, no un olvido',
['blueman', 'bluetuith']),
'contraseñas': ('✅ CUBIERTO el 2026-10-21: `pass` entró en `perfil.cli`, que por herencia lo pone en '
'CINCO imágenes (cli, kde, gnome, cosmic, sway) más servidor. Guarda y devuelve '