ubuntuusers.de

Classic und Nano Video

Archivierte Anleitung

Dieser Artikel wurde archiviert. Das bedeutet, dass er nicht mehr auf Richtigkeit überprüft oder anderweitig gepflegt wird. Der Inhalt wurde für keine aktuell unterstützte Ubuntu-Version getestet. Wenn du Gründe für eine Wiederherstellung siehst, melde dich bitte in der Diskussion zum Artikel. Bis dahin bleibt die Seite für weitere Änderungen gesperrt.

Anwendungen mit denen sich der iPod unter Ubuntu synchronisieren lässt, wie z.B. Amarok, Banshee, gtkpod oder Archiv/Songbird nutzen hierfür der Bibliothek libgpod.

Mit den neuen iPods Classic (6. Generation) und Nano Video (3. Generation) hat Apple jedoch die iTunes Datenbank mit einer Prüfsumme gesichert. Wenn ein anderes Programm als Apples iTunes die iTunesDB verändert, stimmt diese Prüfsumme nicht mehr und der iPod zeigt keine der übertragenen Musik-Titel, Videos oder Fotos an.

Inzwischen liegt aber mit der aktuellen libgpod eine Version der Bibliothek vor, die die iPods der neuesten Generation mit Prüfsummenschutz unterstützt. Allerdings ist diese Version (0.6.0 oder höher) erst mit Hardy Heron in den offiziellen Ubuntu-Quellen enthalten und muss bis Gutsy Gibbon von Hand installiert werden. Wie dies funktioniert soll hier beschrieben werden.

Voraussetzung

Damit der Schreibzugriff auf den iPod problemlos funktioniert, wird in dieser Anleitung davon ausgegangen, dass dieser für Windows konfiguriert ist. D.h. sein Dateisystem ist mit Fat32 konvertiert, welches unter Linux problemlos beschrieben werden kann. Ist der iPod für Mac konfiguriert, liegt ihm das Dateisystem HFS+ zugrunde, welches u.U. nicht beschreibbar ist. Probleme, die mit dem Schreibzugriff auf das Dateisystem zusammenhängen, werden in diesem Artikel nicht behandelt. Weiteres hierzu im Artikel Archiv/iPod.

⚓︎

Installation

Hier werden zwei Methoden beschrieben die aktuelle libgpod zu installieren. Mit der ersten Methode wird der Quelltext in ein simples DEB-Paket verwandelt und so die neue libgpod in das System integriert. Mit der einfachen zweiten Methode werden libgpod3 und davon abhängige Anwendungen mit Hilfe der Paketverwaltung aus einem "Personal Package Archive" (PPA) installiert.

Hinweis:

Die zweite Methode ist der einzige Weg, um Archiv/Listen Audioplayer, gpodder, Exaile und Elisa zu installieren, da nur hier passende Python Bindings angeboten werden, von welchen die genannten Anwendungen abhängen.

Während bei der Installation aus dem PPA mit der libgpod alle von ihr abhängigen Anwendungen aktualisiert werden, geht es bei der ersten Methode darum libgpod so zu aktualisieren, dass die Abhängigkeiten der Anwendungen aus den offiziellen Paketquellen erfüllt bleiben.

⚓︎

Installation mittels Quelltext

Diese Pakete müssen installiert [1] werden:

  • build-essential

  • libglib2.0-dev

  • libgtk2.0-dev

  • libsgutils1-dev (universe, [2])

  • checkinstall (universe)

  • gettext

Paketliste zum Kopieren:

sudo apt-get install build-essential libglib2.0-dev libgtk2.0-dev libsgutils1-dev checkinstall gettext 

Experten-Info:

Ohne die Installation von libsgutils1-dev wird libgpod ohne das Skript ipod-read-sysinfo-extended erstellt. Dieses Skript erleichtert das Auslesen der Firewire-ID, welche zur Generierung der korrekten Prüfsumme benötigt wird.

Zunächst muss man die aktuelle Version der Bibliothek als tar.gz-Archiv von der Projektseite 🇬🇧 herunterladen. Anschließend muss das Archiv entpackt [4] werden.

Nun muss der Quellcode nur noch auf gewohntem Wege kompiliert [5] werden. Dabei muss allerdings im Dialog der Paketname von libgpod zu libgpod2 umbenannt werden, damit das manuell erstellte Paket das Ubuntu-Paket ersetzt:

Das Paket wird entsprechend dieser Vorgaben erstellt:



0 -  Maintainer: [ root@computer ]
1 -  Summary: [ libgpod is a shared library to access the contents of an iPod. ]
2 -  Name:    [ libgpod ]
3 -  Version: [ 0.6.0 ]
4 -  Release: [ 1 ]
5 -  License: [ GPL ]
6 -  Group:   [ checkinstall ]
7 -  Architecture: [ i386 ]
8 -  Source location: [ libgpod-0.6.0 ]
9 -  Alternate source location: [  ]
10 - Requires: [  ]

Geben Sie die betreffende Nummer ein, um die Vorgaben zu ändern:

Hier muss man die Ziffer für das Ändern des Namen eingeben und anschließend den gewünschten Paketnamen:

2: libgpod2

Anschließend die Installation mit Eingabe fortsetzen.

Nach erfolgreicher Installation muss die neue Bibliothek noch so verlinkt werden, dass die Anwendungen, welche die alte Version von libgpod erwarten, die eben installierte neue Version benutzen.

sudo ln -fs /usr/local/lib/libgpod.so.3 /usr/lib/libgpod.so.2 

Ein zweiter Link ist für das Ausführen des Skripts ipod-read-sysinfo-extended erforderlich.

sudo ln -s /usr/local/lib/libgpod.so.3 /usr/lib/libgpod.so.3 

⚓︎

Sollten Fehler auftreten, kann man mit folgenden Befehlen sehen, ob die Links richtig sitzen, dazu muss man überprüfen, ob die Befehle die richtige Ausgabe erzeugen:

ls -l /usr/local/lib/ | grep libgpod 

  • zu erwartende Ausgabe:

    -rw-r--r-- 1 user user  803770 2007-11-23 19:30 libgpod.a
    -rwxr-xr-x 1 user user     932 2007-11-23 19:30 libgpod.la
    lrwxrwxrwx 1 user user      16 2007-11-23 19:30 libgpod.so -> libgpod.so.3.0.0
    lrwxrwxrwx 1 user user      16 2007-11-23 19:30 libgpod.so.3 -> libgpod.so.3.0.0`               # Wichtig!
    -rwxr-xr-x 1 user user  311708 2007-11-23 19:30 libgpod.so.3.0.0                                # Wichtig!

ls -l /usr/lib/ | grep libgpod 

  • zu erwartende Ausgabe:

    lrwxrwxrwx  1 user user       16 2007-10-26 21:05 libgpod.so.2 -> /usr/local/lib/libgpod.so.3   # Wichtig!
    -rw-r--r--  1 user user   295932 2007-07-16 10:04 libgpod.so.2.0.0
    lrwxrwxrwx  1 user user       27 2007-11-23 19:32 libgpod.so.3 -> /usr/local/lib/libgpod.so.3

Weiter geht es mit der Vorbereitung des iPods.

Problembehebung

Auf manchen Systemen verabschiedet sich checkinstall mit:

ranlib: could not create temporary file whilst writing archive: No more archived files
make[5]: *** [install-gpodLTLIBRARIES] Fehler 1
...
**** Installation fehlgeschlagen. Breche Paket-Erzeugung ab.
Räume auf...OK
Auf Wiedersehen!

Hier hilft es das Verzeichnis mit dem Befehl

make clean 

aufzuräumen. Nun kann die Installation wie beschrieben wiederholt werden.

⚓︎

Installation aus einem Personal Package Archive

Adresszeile zum Hinzufügen des PPAs:

  • ppa:ipod-touch/ppa

Hinweis!

Zusätzliche Fremdquellen können das System gefährden.


Ein PPA unterstützt nicht zwangsläufig alle Ubuntu-Versionen. Weitere Informationen sind der Wiki/Vorlagen/PPA/ppa.png PPA-Beschreibung des Eigentümers/Teams ipod-touch zu entnehmen.

Experten-Info:

Dieses Archiv ist eigentlich für den iPod Touch eingerichtet worden. Weitere Information zu diesem Archiv gibt es hier 🇬🇧 .

Anschließend stehen diese Pakete in aktueller Version zur Verfügung:

  • amarok

  • amarok-engines

  • amarok-xine

  • banshee

  • exaile

  • gtkpod

  • gtkpod-aac

  • ical2sqlite

  • ipod-convenience

  • libgpod-common

  • libgpod-dev

  • libgpod-nogtk-dev

  • libgpod3

  • libgpod3-nogtk

  • libical-dev

  • libical

  • nuvexport

  • python-gpod

  • rhythmbox

Die genutzten Anwendungen können nun mit Hilfe der Paketverwaltung aktualisiert werden. Die libgpod3 wird als notwendige Abhängigkeit mit installiert.

⚓︎

Vorbereitung des iPods

Die Prüfsumme, mit der die iTunesDB gesichert ist, wird anhand der sogenannten Firewire-ID berechnet. Daher muss diese erst für libgpod zugänglich gemacht werden, bevor der iPod synchronisiert werden kann. Dies muss für jeden iPod genau einmal gemacht und nur dann wiederholt werden, wenn der iPod neu formatiert wird (z.B. über "Wiederherstellen" in iTunes).

⚓︎

Ermitteln des Gerätepfades und des Einhängepunktes

Zunächst müssen der Pfad der Gerätedatei und der Einhängepunkt des iPod ermittelt werden. Dazu wird der iPod nun angeschlossen und eingehängt. Die Pfade können nun im Dateibrowser abgelesen werden.

Im Terminal

Alternativ können die Pfade auch im Terminal ermittelt werden. Mit dem Befehl blkid [3] bekommt man den Pfad der Gerätedatei heraus

blkid
..
/dev/sdb1: LABEL="MEIN IPOD" UUID="C002-A00B" TYPE="vfat" 

Hier also /dev/sdb

Hinweis:

Die "1" bezeichnet die erste Partition auf dem Gerät, das Gerät selbst ist also nur sdb.

Dieser Befehl (Pfad an den eigenen tatsächlich ermittelten Pfad anpassen!) hingegen verrät den Einhängepunkt:

mount | grep /dev/sdb1
/dev/sdb1 on /media/MEIN IPOD type vfat (rw,nosuid,nodev,noatime,flush,uid=1000,utf8,shortname=lower) 

Hier also /media/MEIN\ IPOD.

Hinweis:

Der "\" vor dem Leerzeichen markiert dieses als Teil des Pfades. Ansonsten würde das Skript das Leerzeichen als Ende des Dateipfades interpretieren und nur /media/MEIN als Einhängepunkt betrachten.

Achtung!

Die ermittelten Pfade können bei jedem iPod und PC anders sein! Sie hängen ab von der Anzahl der angeschlossenen Geräte am PC und vom "Namen" (Label) des iPods. Dass heißt, die Pfade in den nun folgenden Befehlen müssen an die eigenen tatsächlich ermittelten Pfade angepasst werden!

Die Firewire-ID befindet sich in einer XML-Datei auf dem iPod. Sie muss ausgelesen und in die für libgpod zugängliche Datei /media/MEIN\ IPOD/iPod_Control/Device/SysInfoExtended geschrieben werden. Es gibt zwei Methoden dies zu tun. Einmal automatisiert mit Hilfe des zusammen mit libgpod installierten Skripts ipod-read-sysinfo-extended oder von Hand.

⚓︎

Vorbereitung mittels Skript

Auslesen und schreiben der Firewire-ID

Folgender Befehl [8] bereitet den iPod schließlich für den Schreibzugriff durch libgpod vor (Pfad an den eigenen tatsächlich ermittelten Pfad anpassen!):

ipod-read-sysinfo-extended /dev/sdb /media/MEIN\ IPOD 

Hinweis:

Ist ipod-read-sysinfo-extended nicht vorhanden, wurde vielleicht vergessen vor dem Kompilieren libsgutils-dev zu installieren [1]. In diesem Fall ist die Installation zu wiederholen oder der iPod von Hand vorzubereiten.

⚓︎

Kontrolle

Es empfiehlt sich die Arbeit des Skripts zu kontrollieren, da es diese oft nicht korrekt verrichtet ohne dabei eine Fehlermeldung auszugeben. Mit cat kann der Inhalt der Datei SysInfo betrachtet werden. Dazu wird dem Programm der Pfad zur Datei SysInfo übergeben [3]. (Pfad an den eigenen tatsächlich ermittelten Pfad anpassen!)

cat /media/MEIN\ IPOD/iPod_Control/Device/SysInfo 

Die Datei sollte folgenden Inhalt haben, wobei "ffffffffffffffff" hier für die Firewire ID, also eine 16stellige Zeichenfolge steht, die für jeden iPod individuell ist.

FirewireGuid: 0xffffffffffffffff

Wenn stattdessen eine leere Ausgabe oder

cat: /media/MEIN IPOD/iPod_Control/Device/SysInfo: No such file or directory

folgt, dann ist irgend etwas schiefgelaufen und das Ganze muss wie im nächsten Kapitel beschrieben von Hand gemacht werden. Ansonsten ist der iPod nun bereit zum Befüllen.

⚓︎

Vorbereitung von Hand

Bei der zweiten Methode bedarf es etwas an Handarbeit. Wenn der iPod angeschlossen ist kann die Firewire ID, eine 16-stellige Zeichenfolge (z.B. 00A1234567891231), mit folgendem Befehl ausgegeben werden:

sudo lsusb -v | grep -i Serial 

Hinweis:

Bei einem iPod-Touch ist diese Nummer viel länger, die Firewire-ID umfasst hier nur die ersten 16 Zeichen.

Nun wird die Datei /media/MEIN\ IPOD/iPod_Control/Device/SysInfo (Pfad an den eigenen tatsächlich ermittelten Pfad anpassen!) falls nicht vorhanden erstellt und in einem Editor geöffnet [7] und folgende Zeile hinzugefügt:

FirewireGuid: 0xffffffffffffffff

Wobei ffffffffffffffff durch die eben ermittelte Firewire ID zu ersetzen ist. (Nicht das anführende 0x vergessen!) Nun wird die Datei gespeichert.

⚓︎

Fertig! Und jetzt?

Wenn bis hierher alles ohne Fehler funktioniert hat, sollte es nun möglich sein den iPod zu synchronisieren. Auf der Projektseite 🇬🇧 gibt es eine Liste aller Anwendungen, die mittels libgpod auf den iPod zugreifen. Diese können nun genutzt werden, ohne dass weitere Anpassungen vonnöten wären. Außerdem gibt es im Wiki eine Einführung mit weiteren Links. In den weiteren Kapiteln werden beobachtete Probleme beschrieben und Tipps gegeben, diese zu vermeiden. Zum Schluss wird noch erklärt, was bei Upgrades, Updates und Deinstallation zu beachten ist.

⚓︎

Bekannte Fehler, Problembehebung und Tipps

Achtung!

Viele Probleme lassen sich dadurch vermeiden, dass der iPod vor dem Abziehen des Steckers richtig ausgehängt wird.

Anwendungen, die es erlauben das iPod-Modell von Hand auszuwählen, könnten die auf dem iPod angelegte Datei SysInfo überschreiben. Wenn dies geschieht, schreibt libgpod weiterhin ungültige Daten auf den iPod. Deshalb ist es bei Fehlern wichtig den Inhalt der Datei SysInfo wie oben beschrieben zu überprüfen.

Nach einer kurzen Zeit werden Dateien ungültig

Wenn nach einiger Zeit wieder nur ungültige Dateien auf den IPod geschrieben werden, kann das an dem Programm liegen. Laut einem Forenbericht funktionierten weder Amarok, exaile, Banshee noch gtkpod, sondern nur Rhythmbox.

Albumcover

Albumcover aus Tags werden nicht auf den iPod übertragen. Hingegen werden Albumcover aus dem Amarok Verzeichnis (~/.kde/share/apps/amarok/albumcovers) und solche, die sich im selben Ordner wie die mp3-Dateien befinden, bei einigen übertragen. Amarok-Nutzer, die Probleme mit den Albumcover haben, können mit dem Amarok-Skript CopyCover 🇬🇧 die (von Amazon) heruntergeladenen Cover in die entspechenden Ordner speichern.

Einige Nutzer berichten davon, dass Cover nicht den richtigen Alben zugeordnet wurden.

Mit Gtkpod oder Amarok können Albencover übertragen werden. Gtkpod fragt automatisch die iPod-Version ab, in Amarok geht man in die Mediaplayer-Kategorie und klickt bei verbundenem iPod auf das kleine iPod-Icon oben neben "Verbinden", "Trennen", "Übertragen" sowie dem Einstellungsicon. Man kann im aufklappendem Menu die iPod-Version einstellen. Mit dem silbernen iPod classic 120GB wurde einfach der silberne 160GB classic gewählt.

Videos

Videos kann man sehr gut mit Thin Liquid Film 🇬🇧 konvertieren, allerdings sollte man damit die Videos nicht direkt auf den iPod laden, weil diese dann als Musik-Dateien abgelegt werden. Videos, die mit dem Amarok übertragen werden, erscheinen auch auf dem iPod als Video.

Podcasts

Ein Bug 🇬🇧 in gtkpod-aac bereitet Probleme mit mp4-Podcasts.

Amarok-Nutzer, die die Hörbuch-Funktion nutzen möchten, können sich das Script transKode 🇬🇧 und das Paket faac (multiverse [2]) installieren, um dann direkt in Amarok mp3-Dateien in das aac-Format zu konvertieren. Mit der Erweiterung ".m4b" landet die Datei dann als Hörbuch auf dem iPod.

Bilder

Bilder können mit TriPod übertragen werden. Thumbnails werden dann angezeigt, leider aber keine vergrößerten Bilder in der Diaschau.

⚓︎

Deinstallation

Möchte man das Paket deinstallieren, z.B. weil man zur Version aus den Ubuntu-Quellen zurückkehren möchte oder das System auf Hardy Heron umsteigt, geschieht dies ganz normal über die Paketverwaltung [1].

Außerdem müssen die Links entfernt werden, wenn diese auf eine nicht mehr vorhandene Datei verweisen:

sudo rm /usr/lib/libgpod.so.2 

bzw.

sudo rm /usr/lib/libgpod.so.3 

Anschließend muss man ggf. das Paket aus den Ubuntu-Quellen erneut installieren [1].


Diese Revision wurde am 1. Dezember 2021 10:35 von Heinrich_Schwietering erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Multimedia, Hardware