Aus dem Google Summer of Code stammt ein Projekt, das über D-Bus und MPRIS KDE-Desktops mit Androiden vernetzt und so das Handy zur Universalfernsteuerung macht. Gleichzeitig versorgt es den Benutzer am Rechner mit Informationen über SMS und pausiert bei einem Anruf automatisch Musik oder Film.
Mehr und mehr halten Multimedia-PCs, Smartphones und Tablets Einzug ins Wohnzimmer. Wo vor wenigen Jahren noch mehrere, meist üppig mit Tasten versehene Fernbedienungen auf dem Couchtisch herumlagen, türmen sich heute die Remote-Control-Apps auf dem Androiden oder iPhone.
Mit KDE Connect tritt jetzt ein Softwareprojekt an, den Wildwuchs zumindest für Multimedia-PCs mit KDE-Desktop zu vereinheitlichen. Neben der Fernbedienung zeigt es die Statusmeldungen vom Smartphone an, pausiert Musik, wenn ein Anruf erfolgt, und synchronisiert die Zwischenablage und Dateien per Mausklick zwischen den Geräten.
D-Bus und MPRIS
Ob Videos mit VLC oder Musik mit MPD oder dem Musikplayer Amarok – für die meisten Tools und auch für den Mediaserver gibt es bereits eigene Fernsteuerungs-APIs und -Apps. Dabei sorgt ein eigener D-Bus-Standard (MPRIS, [1]) dafür, dass sich einerseits Desktop-Anwendungen, andererseits Clients auf über TCP verbundenen Rechnern miteinander über den nächsten Titel oder die Lautstärke verständigen. Linuxer greifen zu Tools wie SSH Mote [2] und nutzen Software-Universalfernsteuerungen aller halbwegs aktuellen Smartphones oder Tablets, um Linux-PCs übers lokale WLAN zu steuern – alles, was sich mit einem (SSH-)Befehl umsetzen lässt, ist möglich.
KDE per WLAN steuern und informieren
Wäre es da nicht auch eine gute Idee, die Vernetzung des Smartphones mit dem Multimedia-Desktop weiter voranzutreiben, dachten sich Anfang vorigen Jahres ein Android- und ein KDE-Entwickler. Anfänglich ärgerten sich beide darüber, wie schwierig es war, die Informationen aus dem Androiden auf den Linux-Rechner zu bekommen. Doch dann machte sich einer von ihnen, Alberto Vaca, an die Arbeit. “Fast alle Ideen, die wir später umgesetzt haben, stammen von diesem Abend in einer Bar in Barcelona, bei einer KDE-Release-Party”, berichtet Vaca (siehe Kasten “Interview”).
Interview mit dem KDE-Connect-Entwickler Alberto Vaca
Der Spanier Alberto Vaca schaffte es mit KDE Connect zu Googles Summer of Code 2013.
Linux-Magazin: Alberto, wie kamt ihr darauf, KDE Connect zu entwickeln?
Albert Vaca: Anfang 2013 hatte ich einen Job als Android-Entwickler, aber keine Ahnung von KDE. Auf einer KDE-Release-Party traf ich Alex Fiestas, einen erfahrenen KDE-Developer und meinen späteren Mentor im Google Summer of Code (GSOC, http://6). Der half mir und riet mir, mich bei GSOC zu bewerben. Einige Wochen später war das Projekt akzeptiert – und los ging’s!
Linux-Magazin: Wie schafft man es denn, ein GSOC-Projekt zu werden?
Albert Vaca: Am besten, indem man direkt mit den Leuten redet, die die Idee auch betrifft, beispielsweise KDE. Vielleicht geht ja deine Idee nicht ganz in die Richtung, in die das Projekt zielt, zu dem du was beisteuern möchtest.
Ideal ist auch, das so früh wie möglich auf Mailinglisten zu verteilen und bekannt zu machen – das Feedback, das von dort kommt, ist sehr wertvoll. Dann kannst du deine Idee verfeinern und anpassen, bevor du sie einreichst. Und dann ist sicher auch ein wenig Glück im Spiel, ausgewählt zu werden.
Linux-Magazin: Welche Features fehlen deiner Meinung nach am meisten in KDE Connect?
Albert Vaca: Auf jeden Fall die Ports für andere Plattformen, etwa I-OS und KDE für Windows. Das würde auch die Userbase signifikant verbreitern. Aber das ist sehr viel Arbeit, also ist das nicht in naher Zukunft wahrscheinlich.
Linux-Magazin: Was liegt denn näher?
Albert Vaca: Zum Beispiel das Filesharing von KDE zu KDE oder auch von KDE zu Android, das wird bald kommen. Heute können User zwar auch schon Desktops pairen, aber nur das Clipboard Sharing funktioniert bisher. Wie immer bei OSS-Projekten gibt es viel mehr Ideen als Zeit, aber ich versuche die alle in meinem Blog zu sammeln, da können sich dann alle Interessenten bedienen, die beitragen wollen. Die Kommentare sind voller guter Ideen.
KDE Connect [3] war geboren und schnell wuchsen die Features: Wer einerseits die KDE-Applikation installiert hat – bei fast allen Distributionen heißt das Paket einfach »kde-connect« oder »kdeconnect-kde« –, braucht noch die entsprechende Android-App [4]. Die installiert sich aus dem Play Store, verlangt eigentlich mindestens Android 4.1, läuft aber auch mit älteren Versionen. Nur einzelne Funktionen verweigern dann den Dienst, bei einem Sony Experia mit Android 2.3 funktionierte weder das allgemeine Benachrichtungs-Sharing noch der Filetransfer.
Nach der Installation startet der Anwender das Konfigurationsmodul mit dem schlichten Namen »Geräte« , das sich ins KDE-Kontrollzentrum einklinkt, unter diesem Namen aber auch direkt über das Eingabefeld »Ausführen« ([Alt]+[F2]) erreichbar ist (Abbildung 1). Die Liste der Geräte bleibt leer, bis der Anwender auf den Mobiltelefonen oder Tablets die entsprechende App installiert und außerdem ein Bluetooth-ähnliches Pairing durchgeführt hat.
Oft verhindern dies Firewalls auf dem PC, für die Kommunikation sollten daher die Ports 1714 bis 1764 (sowohl TCP als auch UDP) geöffnet sein. KDE Connect überträgt seine Daten zwar verschlüsselt, ist aber eher für das heimische oder abgesicherte Firmen-WLAN entwickelt. In fremden Netzen ist Vorsicht angesagt.
KDE Connect nutzt UDP, um per Broadcast andere Geräte zu finden. Ist das erfolgreich, läuft die weitere Kommunikation über TCP. Avahi [5] habe man dafür auch ausprobiert, aber verworfen, weil es in einigen Routern bereits blockiert wird, die Android-Implementierung richtig missraten sei und bereits andere Tools wie Spotify darauf zurückgreifen – was laut Vaca einiges kompliziere.
War das Pairing erfolgreich, zeigt das KDE-Kontrollmodul aus Abbildung 1 die dort gelisteten Funktionen an. Weil die automatisch aktiviert sind, kann der Besitzer bereits jetzt die Akkuladung der verbundenen Geräte auf seinem Desktop überwachen und wird mit KDE-Plasma-Popups und Systemtray-Nachrichten über eingehende Anrufe und SMS informiert (Abbildung 2). Für den Akku-Überblick braucht er das Plasma-Widget »KDEconnect« auf dem Desktop oder in der Kontrollleiste.
Wenig aufregend zeigt sich das Clipboard Sharing, es funktioniert einfach ohne viel Konfiguration. Was auf dem Rechner in der Zwischenablage ist, landet automatisch auch auf dem Smartphone im Clipboard. Hier ist in unsicheren Netzen aber ein wenig Vorsicht angebracht, vielleicht sollte dieses Modul standardmäßig besser deaktiviert werden.
Konfigurieren im Geräte-Modul der Systemsteuerung lassen sich ohnehin nur die Funktionen »Share and recieve« und »Medium bei Anrufen anhalten« . Für die erste kann der Anwender ein Zielverzeichnis eingeben, Standard dafür ist die Arbeitsfläche. Für die zweite Funktion kann er wählen, ob die Musik schon beim ersten Klingeln verstummen soll oder nur während des Gesprächs selbst.
Klare App
Auch auf Android-Seite zeigt sich KDE Connect erstaunlich simpel. Nach dem erfolgreichen Pairing erhält der Anwender eine Liste mit paarungsbereiten und gepaarten Geräten, für die er nach dem Antippen entweder besagtes Ping zum Verbindungscheck ausführen oder den Fernsteuerungsmodus aktivieren kann (Abbildung 3). In der rechten Abbildung findet sich übrigens der Hinweis, dass das erweiterte Benachrichtungs-Sharing nicht mit der alten Android-Version funktionieren wird.
Wer auf seinem Desktop KDEs MP3-Standard Amarok oder den Videoplayer VLC laufen hat, kann seine Musik- oder Videowiedergabe mit KDE Connect steuern. Viel mehr als die Titelanzeige, eine Vor- und eine Zurück-Taste und die Lautstärkeregelung bietet die App allerdings noch nicht (Abbildung 4). Dennoch konsolidiert das kleine Tool mehrere Apps wie Amarok2remote und eine der vielen VLC-Remote-Anwendungen aus dem Play Store innerhalb einer App.
Besonders schön: Bei den anderen Apps muss der Anwender über die Einstellungsmodule der Desktop-Software die Remote-Control-Fähigkeiten für jedes Produkt erst aktivieren – nicht immer ist das einfach zu finden. Anders mit KDE Connect: Dank MPRIS und dem D-Bus-Standard ist das nicht mehr nötig, die Fernsteuerung funktioniert out of the Box. Laut Vaca erscheinen alle Anwendungen, die sich an den MPRIS-Standard halten und sich in D-Bus registrieren automatisch im Dropdown-Menü.
Die Roadmap von KDE Connect besteht derzeit überwiegend aus einer Wunschliste. In seinem Blog [3], das zugleich die Webseite von KDE Connect ist, nennt Vaca acht Punkte, bei denen er sich wünscht, dass sich potenzielle Contributors daran austoben mögen:
- Input-Emulation: Das Telefon als Maus und Tastatur benutzen
- Möglichkeit, SMS vom Desktop aus beantworten
- Dateien vom Desktop aus verteilen
- Reverse Media Control: Das Plasmoid soll die Wiedergabefunktionen der Androiden steuern können
- Synchronisation von Daten (Groupware, Wifi-Passworte, etc.)
- Anrufe vom PC aus führen (falls das mit Android überhaupt möglich ist)
- Apps für andere Plattformen und KDE für Windows
Fazit
Seit KDE Connect im Herbst 2013 als stabile Version verfügbar wurde, fand es bei immer mehr Benutzern den Weg auf den Desktop. Kurz vor Weihnachten kam – wohl als eine der letzten Distributionen – auch ein Paket für Fedora 19 und 20 in die Repositories.
Neuere KDE- und Android-Versionen bringen alles mit, um das potenzielle Universaltool ohne jede Konfigurationsarbeit voll funktionsfähig zu installieren. Wenn die Entwickler jetzt noch ein paar grundlegende Funktionen implementieren, hat KDE Connect eine große Zukunft als Standardfernbedienung. Irgendwann sollen auch Bluetooth, GSM oder andere Kanäle funktionieren, doch das ist Zukunftsmusik, meint Vaca.
Ehe das so weit ist, müssen die Entwickler mindestens noch das Versenden von SMS vom Desktop (integrierbar über die SMS-Funktion des Kontact-Adressbuchs, Abbildung 5) sowie einen Dienst zur Datei-Übertragung an das Smartphone oder Tablet einbauen. Die beiden beschriebenen Funktionen existieren bereits, auch in Open-Source-Software, zum Beispiel im Airdroid-Projekt [7]. Wahrscheinlich müssten sich nur einige KDE-Entwickler der Sache annehmen, dann könnte auch Vacas Plan, KDE-Rechner über KDE Connect zu vernetzen, schneller umgesetzt werden, als er zu träumen wagt.
Infos
- MPRIS: http://specifications.freedesktop.org/mpris-spec/latest/
- SSH Mote: https://play.google.com/store/apps/details?id=com.zokama.sshmote&hl=de
- KDE Connect: http://albertvaka.wordpress.com
- KDE Connect, Android-App: https://play.google.com/store/apps/details?id=org.kde.kdeconnect_tp
- Avahi: http://avahi.org
- Google Summer of Code: https://developers.google.com/open-source/soc/?hl=de-DE
- Airdroid: http://www.airdroid.com











