[Gelöst mit Workaround] Pavucontrol + pipewire finden Bluetooth-Gerät nicht

Sound, Digitalkameras, TV+Video und Spiele.
Antworten
hugediggs
Beiträge: 174
Registriert: 26.07.2012 22:40:23

[Gelöst mit Workaround] Pavucontrol + pipewire finden Bluetooth-Gerät nicht

Beitrag von hugediggs » 27.01.2025 22:45:03

Ich habe mir ein Bluetooth-Headset gekauft und würde es gern für MS-Teams benutzen.
Auf meinem System gibt es zwei Nutzer. Der eine Nutzer wurde während der Installation angelegt, den zweiten habe ich per Hand angelegt. Im zweiten Nutzer läuft MS-Teams, weil ich zu paranoid bin und denke, dass MS auf meine Daten zugreift. :-) Zwar gibt es bessere Möglichkeiten wie SeLinux und Co., aber für meine Zwecke reicht es. Für den Start von MS-Teams wechsel ich in den anderen Nutzer und starte das Programm.

Code: Alles auswählen

$ xhost +
access control disabled, clients can connect from any host
$ sudo -i -u teams
[sudo] Passwort für ....
teams
Ich habe Bluetooth mit Pulseaudio nicht zum Laufen gebracht, deswegen sollte/wollte ich pipewire nehmen.

Code: Alles auswählen

dpkg --get-selections | grep -i wire
libpipewire-0.3-0:amd64                         install
libpipewire-0.3-modules:amd64                   install
libwireplumber-0.4-0:amd64                      install
pipewire:amd64                                  install
pipewire-alsa:amd64                             install
pipewire-bin                                    install
pipewire-pulse                                  install
wireguard                                       install
wireguard-tools                                 install
wireless-regdb                                  install
wireless-tools                                  install
wireplumber                                     install

Code: Alles auswählen

dpkg --get-selections | grep -i pulse
libpulse-mainloop-glib0:amd64                   install
libpulse0:amd64                                 install
libpulse0:i386                                  install
pipewire-pulse                                  install

Code: Alles auswählen

dpkg --get-selections | grep -i bluetooth
bluetooth                                       install
libbluetooth-dev:amd64                          install
libbluetooth3:amd64                             install
libspa-0.2-bluetooth:amd64                      install
Nach der Installation führte ich unter beiden Nutzern folgende Sachen aus:

Code: Alles auswählen

systemctl --user --now enable pipewire pipewire-pulse
In die Teams-bashrc fügte ich folgenden Abschnitt ein, weil er sonst keine Verbindung zu Dbus finden konnte

Code: Alles auswählen

[export XDG_RUNTIME_DIR=/run/user/$(id -u teams)
Führe ich pavucontrol unter dem ersten Hauptnutzer aus, sehe ich mein Bluetoothg-Gerät (bluetoothctl erst "scan on", dann "pair..", dann "connect..") und kann es auch nutzen. Beim zweiten (Teams) Nutzer hingegen sehe ich das Bluetooth-Gerät nicht.

Wieso nicht?
Ich bin Stable-Nutzer.
Zuletzt geändert von hugediggs am 28.01.2025 18:52:11, insgesamt 2-mal geändert.

Benutzeravatar
thunder11
Beiträge: 2502
Registriert: 19.04.2023 09:08:30

Re: Pavucontrol + pipewire finden Bluetooth-Gerät nicht

Beitrag von thunder11 » 28.01.2025 01:05:22

Pulseaudio / Pipewire laufen unter einem Benutzeraccount.
Gib mal als der teams - User folgendes im Terminal ein.

Code: Alles auswählen

fuser -v /dev/dsp* /dev/snd/*
Ich vermute mal, das dort der Name des Haupt-Users steht.
Dafür müsste man wahrscheinlich Pipewire als Systemdienst laufen lassen.
Damit bin ich überfragt. Andere wissen das sicherlich.

Andere Möglichkeit zum Testen: Debianfirejail hat ein Profil für teams.
Firejail schottet Anwendungen ziemlich effektiv ab.

Code: Alles auswählen

ls -al /etc/firejail/ |grep -i teams
-rw-r--r--   1 root root    949  8. Feb 2022  teams-for-linux.profile
-rw-r--r--   1 root root    808 17. Jan 2023  teamspeak3.profile
-rw-r--r--   1 root root    786  9. Jun 2022  teams.profile

hugediggs
Beiträge: 174
Registriert: 26.07.2012 22:40:23

Re: Pavucontrol + pipewire finden Bluetooth-Gerät nicht

Beitrag von hugediggs » 28.01.2025 08:15:31

thunder11 hat geschrieben: ↑ zum Beitrag ↑
28.01.2025 01:05:22
Pulseaudio / Pipewire laufen unter einem Benutzeraccount.
Gib mal als der teams - User folgendes im Terminal ein.

Code: Alles auswählen

fuser -v /dev/dsp* /dev/snd/*
Da steht bei mir Folgendes:

Code: Alles auswählen

teams@...:~$ fuser -v /dev/dsp* /dev/snd/*
Angegebener Dateiname /dev/dsp* existiert nicht.
                     BEN.        PID ZUGR.  BEFEHL
/dev/snd/controlC0:  teams      1247 F.... wireplumber
/dev/snd/controlC1:  teams      1247 F.... wireplumber
/dev/snd/controlC2:  teams      1246 F.... pipewire
                     teams      1247 F.... wireplumber
/dev/snd/pcmC0D0c:   teams      1246 F...m pipewire
/dev/snd/pcmC0D0p:   teams      1246 F...m pipewire
/dev/snd/pcmC1D0c:   teams      1246 F...m pipewire
/dev/snd/pcmC1D0p:   teams      1246 F...m pipewire
/dev/snd/pcmC2D0c:   teams      1246 F...m pipewire
/dev/snd/pcmC2D0p:   teams      1246 F...m pipewire
/dev/snd/seq:        teams      1246 F.... pipewire
Wenn ich das mit dem Hauptnutzer ausführe:

Code: Alles auswählen

 fuser -v /dev/dsp* /dev/snd/*
Angegebener Dateiname /dev/dsp* existiert nicht.
                     BEN.        PID ZUGR.  BEFEHL
/dev/snd/controlC0:  mainAccount      1807 F.... wireplumber
/dev/snd/controlC1:  mainAccount      1807 F.... wireplumber
/dev/snd/controlC2:  mainAccount      1807 F.... wireplumber
/dev/snd/seq:        mainAccount      1806 F.... pipewire


Benutzeravatar
thunder11
Beiträge: 2502
Registriert: 19.04.2023 09:08:30

Re: Pavucontrol + pipewire finden Bluetooth-Gerät nicht

Beitrag von thunder11 » 28.01.2025 08:28:53

Das wäre korrekt.
Demnach sollten die Sinks auch für den Nutzer teams zur Verfügung stehen.
Was mich etwas verwirrt, sind die diversen Ausgaben unter
/dev/snd/pcmCxxx was ist das ?
mal

Code: Alles auswählen

pactl list sinks short
Edit
Die zweite Ausgabe sieht schon "normaler" aus ---> Wahrscheinlich drei Sinks ?

hugediggs
Beiträge: 174
Registriert: 26.07.2012 22:40:23

Re: [Gelöst mit Workaround] Pavucontrol + pipewire finden Bluetooth-Gerät nicht

Beitrag von hugediggs » 28.01.2025 18:55:02

pactl ist bei mir nicht installiert, deswegen griff ich gleich zu Deiner Empfehlung von firejail und muss sagen, dass ich davon begeistert bin. Teams läuft jetzt mit dem BT-Gerät des Hauptnutzers. Deswegen würde ich da nicht mehr Zeit investieren, wieso es mit dem anderen Nutzer nicht läuft.

Ich danke Dir! :hail:

Benutzeravatar
thunder11
Beiträge: 2502
Registriert: 19.04.2023 09:08:30

Re: [Gelöst mit Workaround] Pavucontrol + pipewire finden Bluetooth-Gerät nicht

Beitrag von thunder11 » 28.01.2025 19:28:15

Freut mich.
firejail wird - finde ich - viel zu wenig propagiert.
Ich habe z,B. einen Firefox (direkt von Mozilla) richtig eingesperrt.
Da hat man nur noch Zugriff auf das Verzeichnis, wohin der dann von Firejail kopiert wird.
Starten tue ich den "gejailten" dann mit

Code: Alles auswählen

firejail  --private=~/.privat-browser/Firefox/ firefox --no-remote 
In dem Fall muss man das Verzeichnis ~/.privat-browser/Firefox/ vorher anlegen.
Firejail kopiert das ganze FF- Programmverzeichniss dann dort hin (bleibt auch immer aktuell)
Und schwupp ist FF richtig eingemauert mit eigenem Profile-Verzeichnis.
Ob das z.B, mit Teams geht, weiß ich nicht, da ich das nicht kenne.

Antworten