Das Multimedia Transfer Protocol im Praxiseinsatz

Aus LinuxUser 12/2017

Das Multimedia Transfer Protocol im Praxiseinsatz

© Zlatko Antic, 123RF

Flinker Tausch

Für den Dateitransfer zwischen Rechner und Smartphone via USB-Kabel erweist sich MTP als äußerst sinnvolle Erweiterung: Es überträgt Daten aller Art, erleichtert die Bedienung und vermeidet das Risiko eines Datenverlusts.

Ob Smartphone oder Smartwatch, Tablet, Digitalkamera, MP3-Player oder Laptop – überall horten wir alle unsere digitalen Schätze. Sie auf das gerade angesagte Endgerät zu übertragen oder auch von dort wieder in das (hoffentlich zentrale) Multimedia-Backup zu sichern, gerät aufgrund der Menge und Vielfalt der Daten immer aufwendiger und unübersichtlicher.

Die Synchronisation von Daten und der Austausch zwischen den verschiedenen mobilen Geräten und Datenträgern erweist sich seit jeher als ein Drama ohne wirklichen Schlussakt. Als Kernelement beim Sichern und Verteilen von Daten ist die Synchronisation insbesondere dann relevant, wenn Sie viel unterwegs sind und Ihren “Server” mit sich herumtragen [1]. Die meisten Probleme entstehen rund um das Smartphone, das sich zunehmend vom einfachen Telefon hin zum Gerät für alle Lebenslagen entwickelt.

Im Umfeld mobiler Geräte entstanden diverse Mechanismen und Protokolle, um die keineswegs triviale Aufgabe des Datenabgleichs einerseits überhaupt zu ermöglichen und andererseits den Aufwand dafür in überschaubarem Rahmen zu halten. Als Klassiker fungieren hier FTP und dessen verschlüsselte Variante FTPS (“FTP over SSL/TLS”), aber auch die Werkzeuge Secure Copy und Rsync.

Anwender greifen dabei gern zu Programmen wie BareFTP [2], Gftp [3], Grsync [4], Unison [5], Osync [6] und BackupPC [7]. Sie zielen darauf ab, über eine grafische Bedienoberfläche die kleinen Hindernisse beim Transfer und Abgleich von Daten aus dem Weg zu räumen. Dabei bauen sie entweder eine Netzwerkverbindung auf oder setzen voraus, dass das angegebene Dateisystem/Medium exklusiv im System eingebunden ist.

Ein gleichzeitiger, beidseitiger Zugriff gerät mitunter etwas holprig – etwa, wenn Sie mit dem Smartphone Videos aufnehmen und das Material gleichzeitig auf einen anderen Rechner überspielen möchten. Vergessen Sie das Aushängen von Dateisystemen und ziehen einfach das USB-Kabel von einem Gerät ab, sorgt das für Verdruss und inkonsistente Daten.

An dieser kitzligen Stelle kommt das Multimedia Transfer Protocol MTP als Vermittler ins Spiel: Es tritt an, um einerseits für den Benutzer die Situation zu entschärfen und andererseits den Datentransfer zwischen den Datenträgern zu vereinfachen.

Grundlagen

MTP fungiert als Nachfolger des Picture Transfer Protocol (PTP) und dessen Erweiterung Picture Transfer Protocol over Internet Protocol (PTP/IP) [8]. Das im Herbst 2004 von Microsoft und Canon vorgestellte Protokoll zählt zum Fundus des Windows Media Framework, das bis Windows Vista eigenständig gepflegt wurde und seitdem als Bestandteil der Microsoft Media Foundation weiterlebt [9].

Sowohl bei PTP als auch bei PTP/IP handelt es sich um Verbindungsprotokolle, die ausschließlich zum Übertragen von Fotos zwischen Digitalkameras und Rechnern entwickelt wurden. MTP erweitert deren Fähigkeiten um den Austausch von Audiodateien zwischen mobilen Geräten wie Smartphone oder MP3-Playern und dem Rechner – und zwar in beiden Richtungen, inklusive Abspiellisten. Das umfasst die drei Formate M3U [10], PLS [11] und XSPF [12].

Zur Datenübertragung benötigen Sie eine MTP-fähige Software. Rechner und mobiles Endgerät greifen dann über das Protokoll gleichzeitig auf das Verzeichnis zu und halten die Daten damit auf beiden Seiten synchron [13]. Der Kasten “Betriebssystem und Support” erklärt, wo Sie MTP überall benutzen können.

Betriebssystem und Support

Alle gängigen Betriebssysteme unterstützen mittlerweile MTP, neben Microsoft Windows also auch Linux, Android, MacOS, Symbian und die Xbox 360. Unter Linux fassen die Libmtp [18] sowie – ausschließlich für Fotos – die Libgphoto2 [19] die entsprechenden Funktionen zusammen. Programme zum Abspielen von Mediadaten wie Amarok, Clementine, Rhythmbox und MTPSync greifen damit direkt auf die Daten der eingebundenen Hardware zu; für Fotos kommen Sie mithilfe von Gphoto, F-Spot oder Shotwell in denselben Genuss. Die Distributionen verpacken die zugehörigen Werkzeuge in den beiden Paketen mtp-tools und gmtp.

Das Einbinden eines MTP-Geräts in das lokale Filesystem gelingt explizit über das MTP File System MTPFS [20]. Unter Debian und Ubuntu gibt es dafür die beiden Pakete go-mtpfs, das lediglich Android-Geräte als MTP-Geräte einbindet, und jmtpfs. Das (allerdings veraltete) Paket mtpfs stellt MTPFS als Dateisystem im Userspace bereit (FUSE). Es wurde speziell für den Datenaustausch zwischen Linux oder MacOS und Android via USB für genau die Endgeräte entwickelt, die zwar MTP unterstützen, aber dafür kein USB mehr. Das betrifft insbesondere alle Android-Versionen ab der Version 4 [21]. Der Umstieg zu MTP war erforderlich, damit das Betriebssystem jederzeit vollen Zugriff auf die externe Speicherkarte erhält, die auch den installierten Apps als Datenspeicher dient.

Vor der Einführung von MTP lief die Kommunikation zwischen zwei Geräten ausschließlich über den USB-Stack und ein USB-Kabel. Kommt es hier während des Transfers zu einer unabsichtlichen Trennung der Verbindung, gehen Daten verloren. Beim Einsatz von MTP steuert hingegen das jeweilige Gerät das Schreiben und Lesen, was Datenverluste verhindert. Sie können also die Geräte ohne vorheriges Aushängen einfach voneinander trennen.

MTP beseitigt auch das 4-GByte-Limit in Bezug auf die Dateigröße. Bei FullHD-Videos von Action-Cams sind diese Größen keineswegs mehr Zukunftsmusik. Zudem beschränkt die Kopplung zweier Geräte via MTP die Verbindung auf das Übertragen von Multimedia-Daten, auf den Rest der Inhalte kann dabei nicht zugegriffen werden. Würden Sie das Smartphone via USB-Kabel zum Rechner verbinden, wäre es einem Programm auf dem PC theoretisch möglich, auf sämtliche Daten zuzugreifen oder auch die Speicherkarte des Smartphones neu zu formatieren.

Auf Betriebssystemebene agiert MTP als eine Art Vermittler zwischen den unterschiedlichen Dateisystemen der verbundenen Geräte. Es spielt also keine Rolle, ob etwa das Betriebssystem des Rechners das Dateisystem auf dem MP3-Player interpretieren kann. Bei einer USB-Verbindung müssen hingegen beide Geräte die jeweiligen Dateisysteme unterstützen, sonst klappt der Austausch nicht. Während die Hersteller USB-Speicher immer noch mit FAT als kleinstem gemeinsamen Nenner ausliefern, nutzt Android Ext4 und MacOS HFS/HFS+ respektive APFS, während unter Linux neben Ext3/4 auch Btrfs und ZFS vertreten sind.

Im Alltag spielt insbesondere der parallele Zugriff auf die Daten eine große Rolle. Während einer Übertragung stehen auf den Geräten andere Funktionen weiter zur Verfügung – so können Sie beispielsweise mit dem Smartphone während eines Datentransfers weiter telefonieren. Bei einer Kommunikation via USB würde das nicht klappen.

Der Nachteil von MTP: Der Transfer dauert viel länger als über eine reine USB-Verbindung. Zudem können Sie die Daten erst einsehen oder ändern, nachdem Sie sie auf das Zielsystem transferiert haben. Dabei vermag MTP nur einen einzigen Vorgang auf einmal auszuführen, kann also entweder nur lesen, nur schreiben oder nur löschen. Ältere Betriebssystemversionen unterstützen das Format oft nicht nativ und implementieren nicht alle Funktionen und Formate eines Geräts. Das kann zu Fehlern bei der Umwandlung zwischen den Betriebssystemwelten führen.

Testumgebung

Alle Tests zu MTP erfolgten mit einem Rechner unter Debian 8.9 und einem Samsung Galaxy S4 mit Android 5, die wir über ein USB-Kabel miteinander verbanden. Abbildung 1 zeigt das von lsusb erkannte Gerät 6 an Bus 2. Die Wahl der Werkzeuge und Aktionen trafen wir im Hinblick auf den Alltagseinsatz. Neben Tools für die Kommandozeile untersuchten wir auch das grafische Werkzeug Gmtp.

Abbildung 1: Lsusb zeigt die am USB-Bus verbundenen Ger&auml;te an. Das zum Test verwendete Samsung Galaxy&nbsp;S4 taucht hier als <code>Bus 002 Device 006</code> auf.

Abbildung 1: Lsusb zeigt die am USB-Bus verbundenen Geräte an. Das zum Test verwendete Samsung Galaxy S4 taucht hier als Bus 002 Device 006 auf.

Warnung

Einige der vorgestellten Werkzeuge können nachhaltigen Schaden auf dem via MTP verbundenen Gerät anrichten. Wo sich uns nicht eindeutig erschloss, wozu ein Programm oder Feature dient, verzichteten wir auf Experimente, um das Testequipment nicht irreparabel zu beschädigen. Verfügen Sie über Erkenntnisse, die uns verborgen blieben, freuen wir uns über Ihre Tipps und Anmerkungen für einen Folgeartikel.

Werkzeuge

Das Paket mtp-tools enthält derzeit knapp zwei Dutzend Kommandozeilenwerkzeuge. Die Dokumentation dazu fällt allerdings äußerst knapp aus. Eine Manpage [14] existiert zwar, hilft aber nicht weiter. Auch eine intensive Internet-Recherche förderte nicht viel Substanzielles zutage. Als hilfreich erwiesen sich immerhin die entsprechenden Seiten in den Wikis von Debian [15], Ubuntu [16] und Arch Linux [17], die sich gegenseitig ergänzen. Bei vielen Programmen lässt sich deren Funktion wenigstens aus dem Namen herleiten (siehe Tabelle “Werkzeugliste”).

Funktionsbereich

Programme

Geräte finden

mtp-detect, mtp-hotplug

Ordner/Dateien auflisten

mtp-folders, mtp-emptyfolders, mtp-files, mtp-filetree

Abspiellisten erhalten

mtp-playlists, mtp-getplaylist

Verbindung herstellen

mtp-reset, mtp-connect

Alben und Cover finden

mtp-albums, mtp-albumart

Tracks eines Albums

mtp-tracks

Verzeichnis anlegen

mtp-newfolder

Prüfen, ob Track existiert

mtp-trexist

Datei übertragen

mtp-sendfile, mtp-getfile

Datei löschen

mtp-delfile

Vorschaubild erhalten

mtp-thumb

Track senden

mtp-sendtr

Abspielliste anlegen

mtp-newplaylist

Gerät formatieren

mtp-format

Verbindungsaufnahme

Zunächst einmal gilt es, angeschlossene Geräte zu finden, die MTP unterstützen. Dabei hilft das Kommando mtp-detect für die Geräte, die mittels USB-Kabel miteinander verbunden sind.

Die Ausgabe in Listing 1 führt das in Abbildung 1 schon gezeigte Smartphone auf, wobei es neben den USB-Informationen ausführliche Geräteinformationen liefert, wie etwa den Hersteller, das Modell, die Seriennummer und weitere Eigenschaften. Damit klären Sie vor der Datenübertragung eindeutig, mit welchem verbundenen Gerät eine Kommunikation stattfindet.

Listing 1

$ mtp-detect
...
Listing raw device(s)
  Found 1 device(s):
  Samsung: Galaxy models (MTP) (04e8:6860) @ bus 2, dev 6
...
$

Im Alltag ebenso relevant sind die unterstützten Operationen und Dateiformate für Video, Audio, Bild und Abspiellisten. Listing 2 zeigt die ermittelten Informationen.

Listing 2

...
libmtp supported (playable) filetypes:
  ISO MPEG-1 Audio Layer 3
  Microsoft Windows Media Audio
  Microsoft Windows Media Video
  JPEG file
  Folder
  Abstract Playlist file
  GIF bitmap file
  BMP bitmap file
  Portable Network Graphics
  Audio Video Interleave
  MPEG video stream
  Microsoft Advanced Systems Format
  MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
  Undefined video file
  Abstract Album file
  Ogg container format
  Free Lossless Audio Codec (FLAC)
...

In der Regel genügt es, das MTP-fähige Gerät via USB-Kabel an den Rechner anzustecken. Es wird zumeist automatisch erkannt und eingebunden. Sofern der verwendete Kernel keine automatische Erkennung unterstützt, nehmen Sie eine solche manuell vor, etwa mit dem Werkzeug mtp-connect.

Als verantwortungsbewusster Nutzer haben Sie auf dem Smartphone oder Tablet eine Zugangssperre eingerichtet. Erst nach einer expliziten Freigabe am Gerät darf der Rechner auf die nun via MTP bereitstehenden Verzeichnisinhalte zugreifen (Abbildung 2). Das Einbinden erfolgt dann über den Pfad mtp://USB-Device-ID. Abbildung 3 zeigt das für unser Smartphone im XFCE-Dateimanager Thunar. Einschränkungen zum Lesen bestimmter Verzeichnisse kennt zumindest Android 5 nicht.

Abbildung 2: Auf dem Smartphone geben Sie die MTP-Verbindung explizit frei.

Abbildung 2: Auf dem Smartphone geben Sie die MTP-Verbindung explizit frei.


Abbildung 3: Das via MTP eingebundene Mobiltelefon pr&auml;sentiert sich im Dateimanager Thunar.

Abbildung 3: Das via MTP eingebundene Mobiltelefon präsentiert sich im Dateimanager Thunar.

Ordner und Dateien

Jeder Eintrag in einem MTP-Dateisystem besitzt eine ID, die Sie benötigen, um später Aktionen im MTP-Dateisystem vorzunehmen. Als Werkzeuge zum Lesen der bestehenden Einträge stehen Ihnen mtp-folders, mtp-files und mtp-filetree zur Verfügung. Ersteres liefert die Namen der Verzeichnisse, das zweite die enthaltenen Dateien und das dritte den gesamten Verzeichnisbaum. Listing 3 zeigt einen Ausschnitt der gefundenen Verzeichnisse mit deren Namen und IDs. Unterverzeichnisse erscheinen dabei entsprechend mit Leerzeichen eingerückt.

Listing 3

$ mtp-folders
...
mtp-folders: Successfully connected
Storage: Phone
1    Music
2    Podcasts
3    Ringtones
4    Alarms
5    Notifications
6    Pictures
119      Screenshots
7    Movies
8    Download
95      MyScriptDownload
9    DCIM
85      Camera
...

Das Kommando mtp-files erzeugt eine Liste sämtlicher Dateien auf dem via MTP eingebundenen Speichermedium beziehungsweise Gerät. Jeder Eintrag hat dabei die in Listing 4 gezeigte Form. Die Metadaten umfassen den Dateinamen, die Dateigröße, die Parent ID, die Storage ID und den Dateityp. Bei der Parent ID handelt es sich um die ID des Verzeichnisses, in dem die Datei liegt – aus Listing 3 ersehen Sie, dass es sich hier um das Verzeichnis namens Screenshots handelt. Laut Android-Entwicklerreferenz bezeichnet die Storage ID den Speicherbereich, in dem die Datei abgelegt ist.

Listing 4

$ mtp-files
...
File ID: 384
   Filename: Screenshot_2017-10-14-22-24-55.png
   File size 126012 (0x000000000001EC3C) bytes
   Parent ID: 119
   Storage ID: 0x00010001
   Filetype: Portable Network Graphics
...
$

Der Befehl mtp-filetree erzeugt einen kompletten Dateibaum und sammelt die Namen der Verzeichnisse sowie der darin enthaltenen Dateien. Die Ausgabeform entspricht der von Mtp-folders. Listing 5 zeigt einen Ausschnitt der Ausgabe.

Listing 5

$ mtp-filetree
...
5 Notifications
6 Pictures
  119 Screenshots
        384 Screenshot_2017-10-14-22-24-55.png
7 Movies
...
$

Verzeichnis anlegen

Neue Ordner legen Sie mithilfe von mtp-newfolder an, das drei Parameter erwartet: den Namen des neuen Verzeichnisses, den Namen des Elternverzeichnisses (0 steht hier für das Root-Verzeichnis) sowie den Speicherbereich in Form einer Storage ID. Ein Wert von 0 benutzt den primären Speicher.

Listing 6 zeigt das Erzeugen eines neuen Verzeichnisses namens mtptest/ im Verzeichnis mit der Parent ID 22, was auf dem Gerät Eigene Dateien/Dokumente entspricht. Nach dem erfolgreichen Anlegen gibt Mtp-newfolder dessen neue ID aus, die im Listing 100288 lautet.

Listing 6

$ mtp-newfolder mtptest 22 0
Unable to open ~/.mtpz-data for reading, MTPZ disabled.
libmtp version: 1.1.8
Device 0 (VID=04e8 and PID=6860) is a Samsung Galaxy models (MTP).
ignoring libusb_claim_interface() = -6PTP_ERROR_IO: failed to open session, trying again after resetting USB interface
LIBMTP libusb: Attempt to reset device
New folder created with ID: 100288

Daten hin- und herschieben

Nun schieben wir Daten in das neue Verzeichnis. Dafür gibt es die Kommandos mtp-sendfile und mtp-getfile. Listing 7 zeigt den Aufruf, um die lokale Datei hackerfunk-037.mp3 ins zuvor erzeugte Verzeichnis mtptest/ mit der ID 100288 zu übertragen. Im Test dauerte der Transfer der rund 90 MByte großen Audiodatei rund 5 Sekunden.

Listing 7

$ mtp-sendfile hackerfunk-037.mp3 100288
Unable to open ~/.mtpz-data for reading, MTPZ disabled.
libmtp version: 1.1.8
Device 0 (VID=04e8 and PID=6860) is a Samsung Galaxy models (MTP).
Sending hackerfunk-037.mp3 to 100288
type: mp3, 2
Sending file...
Progress: 90752739 of 90752739 (100%)
New file ID: 100287
$

Um die Datei stattdessen im bereits existierenden Ordner Podcasts/ abzulegen, gilt es zunächst, dessen ID herauszufinden. Dazu kombinieren Sie das bereits oben erklärte Kommando mtp-folders mit dem Veteran Grep. Listing 8 zeigt, wie das aussieht. Das eigentliche Hochladen der Datei erfolgt dann analog zu Listing 7.

Listing 8

$ mtp-folders | grep Podcasts
Unable to open ~/.mtpz-data for reading, MTPZ disabled.
Device 0 (VID=04e8 and PID=6860) is a Samsung Galaxy models (MTP).
2        Podcasts
$

Um eine Datei vom Smartphone auf den Rechner zu ziehen, setzen Sie das Kommando mtp-getfile ein. Das hilft beispielsweise beim Backup von Fotos, Kontaktdaten, Chat-Protokollen oder GPX-Tracks, wenn Sie keine automatisierte Cloud-Spiegelung via Google Drive oder Dropbox aktiviert haben oder die Verbindung zu einem solchen Dienst gerade nicht zur Verfügung steht.

Mtp-getfile erwartet dabei zwei Parameter – zuerst die ID der Datei auf dem Smartphone, dann den Namen der Zieldatei. Die ID der Datei erhalten Sie über die Kombination von Mtp-filetree und Grep. Für den Screenshot aus Listing 5 lautet die ID 384; das Kommando aus Listing 9 kopiert ihn auf den Rechner.

Listing 9

$ mtp-getfile 384 Screenshot_2017-10-14-22-24-55.png
Unable to open ~/.mtpz-data for reading, MTPZ disabled.
libmtp version: 1.1.8
Device 0 (VID=04e8 and PID=6860) is a Samsung Galaxy models (MTP).
ignoring libusb_claim_interface() = -6PTP_ERROR_IO: failed to open session, trying again after resetting USB interface
LIBMTP libusb: Attempt to reset device
Getting file/track 384 to local file Screenshot_2017-10-14-22-24-55.png
Progress: 126028 of 126028 (100%)

Dateien löschen

Auch beim Löschen identifizieren Sie die fragliche Datei über deren ID. Im Beispiel aus Listing 10 muss dazu wieder der Screenshot mit der ID 384 herhalten. Als Kommando kommt mtp-delfile mit dem Schalter -n und der Datei-ID zum Einsatz. Es führt den Auftrag ohne weitere Rückfragen aus – gelöscht ist gelöscht.

Listing 10

$ mtp-delfile -n 384
Unable to open ~/.mtpz-data for reading, MTPZ disabled.
libmtp version: 1.1.8
Device 0 (VID=04e8 and PID=6860) is a Samsung Galaxy models (MTP).
Deleting 384
$

Musik, Playlists, Bilder

Speziell für Musikdaten gibt es die Kommandos mtp-albumart, mtp-albums, mtp-getplaylist, mtp-newplaylist, mtp-playlists, mtp-sendtr, mtp-tracks und mtp-trexists (siehe Tabelle “Werkzeugliste”). Vorschaubilder aus digitalen Inhalten erhalten Sie über mtp-thumb.

Gmtp

Recht handlich zeigt sich das Programm Gmtp, das alle gängigen Distributionen in ihren Repositories führen. Es setzt auf dem GTK-Framework auf und unterstützt nicht nur das Transferieren, Löschen, Umbenennen und Verschieben von Dateien, sondern auch den Umgang mit Verzeichnissen. Abbildung 4 zeigt die Bedienoberfläche von Gmtp mit diversen Podcasts-Audios.

Abbildung 4: Das GTK-basierte Gmtp stellt eine &uuml;bersichtliche Bedienoberfl&auml;che f&uuml;r MTP-Aktionen bereit.

Abbildung 4: Das GTK-basierte Gmtp stellt eine übersichtliche Bedienoberfläche für MTP-Aktionen bereit.

Für Audioformate wie MP3, WMA, OGG und FLAC erzeugt Gmtp nicht nur Abspiellisten im M3U-Format, sondern stellt zudem sicher, dass alle Metadaten korrekt eingetragen sind. Abbildung 5 zeigt das Dialogfenster beim Erstellen einer Abspielliste.

Abbildung 5: Mithilfe von Gmtp erstellen Sie komfortabel eine Abspielliste f&uuml;r Ihre Audiodateien.

Abbildung 5: Mithilfe von Gmtp erstellen Sie komfortabel eine Abspielliste für Ihre Audiodateien.

Fazit

Für den Datentransfer zwischen Rechner und Smartphone via USB-Kabel erweist sich MTP als äußerst sinnvolle Erweiterung. Es erleichtert die Bedienung, umgeht die Risiken einer reinen USB-Übertragung und funktioniert anstandslos mit akzeptabler Datenrate. Grafische Werkzeuge wie Gmtp machen den Einsatz von MTP vollends breitenfähig.

Kommunizieren die verbundenen Geräte über andere Schnittstellen, wie etwa (W)LAN, Bluetooth oder IR, dann kann es von Vorteil sein, diese direkt mit den entsprechenden Kommandos zu nutzen. Behalten Sie dabei jedoch die Sicherheit im Hinterkopf: Insbesondere bei der drahtlosen Kommunikation können Dritte das Gesendete aufzeichnen und auswerten. Dagegen lässt sich die Kommunikation über ein USB-Kabel nicht so leicht abhören und macht den Transfer vom Netzwerk/Internet unabhängig. 

Danksagung

Die Autoren bedanken sich bei Gerold Rupprecht und Werner Heuser für deren Anregungen und Kritik im Vorfeld dieses Beitrags.

Die Autoren

Frank Hofmann arbeitet von unterwegs, bevorzugt in Berlin, Genf und Kapstadt, als Entwickler, Trainer und Autor. Er ist Koautor des Debian-Paketmanagement-Buchs (http://www.dpmb.org/). Mandy Neumeyer arbeitet im Tourismus, lebt seit neun Jahren in Südafrika, und baut zurzeit ein zusätzliches Einkommen als digitaler Nomade auf.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDF
LinuxUser 12/2017 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben