Schlagwort-Archive: ubuntu

Ubuntu als Bluetooth Speaker nutzen

Update 01/2018: Ich sehe gerade, dass dieser uralte Artikel immernoch häufiger aufgerufen wird. Mit einem aktuellen Ubuntu wird ein verbundener Rechner out-of-the-box zum Bluetooth-Speaker. Die unten stehende Anleitung ist bei Problemen natürlich weiterhin hilfreich.

Eine Menge Menschen betreiben ihren Medienkonsum ja mittlerweile über ihre Smartphones. Sei es nun ein Android oder ein iPhone. Ich verwalte bspw. alle meine Podcasts auf meinem iPhone im Podcatcher Downcast. Androidnutzer werden vermutlich auf Listen setzen. Ich höre Podcasts meist eh nur, wenn ich unterwegs bin, daher gibt es für mich keinen Grund mit dem Rechner zu synchronisieren.

Manchmal sitze ich aber vor dem Rechner und würde neben der Arbeit gern über die Boxen einen Podcast hören. Das ist heutzutage mit pulseaudio total einfach. Automatisch geht es leider noch nicht, aber das kriege ich auch noch hin (s. Update-Hinweis).

Zuerst muss man (mit Bordmitteln) das Telefon mit dem Computer koppeln. Das geht normalerweise out-of-the-box, weshalb ich das nicht weiter bespreche. Ist das Telefon gekoppelt, kann man es mit pulseaudio als Quelle suchen (im Terminal)):

pactl list short sources

In der Ausgabe werden dein alle Audioquellen gelistet. Eine davon sollte das Bluetooth-Gerät sein (bluez_source). Mit der Quellen-Nummer dieses Gerätes erstellen wir nun ein Loopback-Gerät, welches wir als Eingang verwenden können.

pactl load-module module-loopback source=NUMMER

Man kann das natürlich auch in einem Schritt machen

pactl load-module module-loopback source=$(pactl list short sources | grep bluez | awk '{print $1}')

bluetooth audio settings

Nun kann man in den Audioeinstellunges das Telefon (meines heisst MAZE ;-)) als Eingang wählen. Alles was abgespielt wird auf dem Telefon, läuft nun über die Lautsprecher des Rechners. Ist die Wiedergabe gestoppt, sollte man das Gerät wieder entfernen. Dazu listet man zunächst die genutzten Module auf.

pactl list short modules

Nun merkt man sich die Nummer des Loopback-Moduls und entfernt dieses.

pactl unload-module NUMMER

Auch dies geht natürlich in einem Schritt.

pactl unload-module $(pactl list short modules | grep loopback | awk '{print $1}')

Das ganze kann man selbstverständlich ganz einfach mit cuttlefish automatisieren (bei Bluetooth-Verbindung und -Trennung). Noch schöner wäre allerdings eine udev-Regel.

Spiele in seperatem X-Server spielen

Manchmal ist es für höhere Frameraten und bei diversen anderen Problemen sinnvoll ein Spiel in einem seperaten X-Server laufen zu lassen. Dies erlaubt es einem Mit STRG+ALT+F7 zum normalen Desktop zu wechseln und mit STRG+ALT+F8 wieder zurück zum Spiel zu gehen. Auch Sound-Probleme lassen sich so oft umgehen.

Zunächst muss man den eigenen Benutzer zur Gruppe audio hinzufügen und erlauben, dass aus einem X-Server heraus ein weiterer gestartet werden kann:

sudo adduser $USER audio
sudo sed -i 's/console/anybody/g' /etc/X11/Xwrapper.config

Diese Änderungen werden erst wirksam, wenn man sich aus- und wieder eingelogt hat. Ein Spiel kann man nun folgendermassen starten:

xinit /opt/Rochard/Rochard.app -- :1

Es muss unbedingt der volle Pfad zum Programm angegeben werden. Gibt man nichts an, wird auf dem blanken X-Server nur ein xterm gestartet und man kann von diesem aus starten, was man möchte. Dieser Weg empfiehlt sich bei Audio-Problemen (die oft mit pulseaudio zusammenhängen). LIMBO hat bei mir immer nur geknackst und dann den Sound ganz verloren. Er funktionierte allerdings gut, wenn ich im xterm (gestartet mit xinit — :1) folgendes eingegeben habe:

killall pulseaudio && pasuspender /opt/LIMBO/LIMBO.run

Die Spiele laufen durchweg schneller, als wenn man sie direkt über den Desktop startet.