Archiv der Kategorie: Linux

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.

Warum Macs nicht auf Linux drucken können

Gibt man in Ubuntu einen Drucker frei, taucht er auf Macs im gleichen Netz leider nicht auf. Das verwundert, weil Protokolle und Drucksystem identisch sind. Auf beiden Systemen wird als Drucksystem auf CUPS gesetzt. Ausserdem wird auf beiden Systemen die zeroconf-Netzwerklösung mDNS/DNS-SD genutzt (auf dem Mac bekannt als Bonjour, unter Linux Avahi).

Die Schuld liegt hier ausnahmsweise mal nicht bei Linux, sondern in der CUPS-Konfiguration von OSX, die sich irgendwann in einer der letzten Versionen vom default entfernt hat. Macs sind nun so konfiguriert, dass ausschliesslich andere Mac-Drucker angezeigt werden. Soweit ich das sehe liegt das daran, dass nur über AFP freigegebene und Bonjour propagierte Drucker angezeigt werden. Man könnte nun natürlich AFP (netatalk) unter Ubuntu konfigurieren. Oder man stellt einfach auf den Macs den default wieder her, dass auch per CUPS freigegebene Drucker angezeigt werden.

Dazu öffnet man im Browser die Adresse http://localhost:631, um an die grafische CUPS-Konfiguration zu kommen. Dort wählt man im Menu Administration und in der rechten Spalte (Server) Erweitert. Dort setzt man dann die Option, dass auch CUPS-Drucker angezeigt werden (s. Screenshot).

Mac CUPS

Wenn man die Einstellungen nun übernimmt, muss man Benutzername und Passwort eines Admin-Benutzers auf dem Mac angeben. Falls man den „echten“ username nicht weiss, hilft ein kurzer Blick in ein offenes Terminal.