[[Vorlage(archiviert)]] {{{#!vorlage Wissen [:Pakete_installieren: Installation von Programmen] [:Paketquellen_freischalten: Bearbeiten von Paketquellen] [:Terminal: Ein Terminal öffnen] [:Packprogramme: Archive entpacken] [:Programme_kompilieren: Pakete aus dem Quellcode erstellen] [:Paketinstallation_DEB: Ein einzelnes Paket installieren] [:Editor: Einen Editor öffnen] [:Programme_starten: Ein Programm starten] }}} [[Inhaltsverzeichnis(2)]] Anwendungen mit denen sich der iPod unter Ubuntu synchronisieren lässt, wie z.B. [:Amarok:], [:AudioPlayer:Banshee], [:Archiv/iPod/gtkpod: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:]. [[Anker(Installation)]] = Installation = Hier werden zwei Methoden beschrieben die aktuelle '''libgpod''' zu installieren. Mit der [#Quelltext ersten Methode] wird der Quelltext in ein simples DEB-Paket verwandelt und so die neue '''libgpod''' in das System integriert. Mit der einfachen [#PPA zweiten Methode] werden '''libgpod3''' und davon abhängige Anwendungen mit Hilfe der [:Paketverwaltung:] aus einem "Personal Package Archive" (PPA) installiert. {{{#!vorlage Hinweis Die zweite Methode ist der einzige Weg, um [:Archiv/Listen_Audioplayer:], [:Podcast: gpodder], [:Exaile:] und [:Archiv/Elisa_Media_Center: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. }}} [[Anker(Quelltext)]] == 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''' [[Vorlage(Pakete, build-essential, libglib2.0-dev, libgtk2.0-dev, libsgutils1-dev, checkinstall, gettext)]] {{{#!vorlage Experten 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 [http://sourceforge.net/project/showfiles.php?group_id=67873 Projektseite] {en} 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 [[Vorlage(Tasten, Enter)]] 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. {{{#!vorlage Befehl 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. {{{#!vorlage Befehl sudo ln -s /usr/local/lib/libgpod.so.3 /usr/lib/libgpod.so.3 }}} [[Anker(Links-check)]] === Links überprüfen === 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: {{{#!vorlage Befehl 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! }}} {{{#!vorlage Befehl 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 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 {{{#!vorlage Befehl make clean }}} aufzuräumen. Nun kann die Installation wie beschrieben wiederholt werden. [[Anker(PPA)]] == Installation aus einem Personal Package Archive == [[Vorlage(PPA, ipod-touch, key A4AC0DBF, gutsy)]] {{{#!vorlage Experten Dieses Archiv ist eigentlich für den iPod Touch eingerichtet worden. Weitere Information zu diesem Archiv gibt es [https://launchpad.net/~ipod-touch/+archive hier] {en} . }}} 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. ## Weiter geht es mit der [Vorbereitung Vorbereitung des iPods]. ## ## [[Anchor(DEB_Paket)]] ## == Installation des DEB-Pakets == ## {{{!Hinweis ## Dieser Abschnitt wurde noch nicht erfolgreich getestet. Weitere Rückmeldung bitte ins [Diskussion Forum] {de} . ## }}} ## ## [[Vorlage(Fremd, Quelle)]] ## ## Für Ubuntu Gutsy Gibbon 7.10 vorkompilierte DEB-Pakete können [ftp://64.22.103.45/packages/ubuntu/gutsy/libgpod hier] {dl} heruntergeladen werden. Falls der Link nicht funktioniert, findet sich vielleicht ein aktueller Verweis im [http://thefunkcorner.blogspot.com/2007/10/ubuntu-ipod-nano.html Blog] {en} des Betreuers. ## ## Folgende Pakete müssen installiert [6] werden: ## * '''libgpod2''' ## * '''libgpod-common''' ## * '''python-gpod''' (nur für [:Archiv/Listen_Audioplayer:], [:Podcast: gpodder], [:Exaile:] und [:Archiv/Elisa Media Center: Elisa]) ## ## Weiter geht es mit der [Vorbereitung Vorbereitung des iPods]. ## ## === Problembehebung === ## Wenn die Installation von '''libgpod2''' mit folgender Fehlermeldung abbricht: ## {{{!Text ## Versuche >>/usr/share/hal/fdi/policy/20thirdparty/20-libgpod-sysinfo-extended.fdi<< zu überschreiben, welches auch in Paket libgpod-common ist. ## }}} ## reicht es möglicherweise aus, zuerst das neue libgpod-common-Paket zu installieren und erst anschließend die neue libgpod. ## Wenn das nicht geht, müssen die vorhandenen Pakete libgpod2 und libgpod-common zuerst deinstalliert werden, was allerdings dazu führt das Programme, die von libgpod abhängig sind auch deinstalliert werden. Normalerweise ist es aber kein Problem diese Programme anschließend wieder neuzuinstallieren, da veränderte Konfigurationsdateien im Allgemeinen nicht gelöscht werden. ## [[Anker(Vorbereitung)]] = 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). [[Anker(Pfade)]] == 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 {{{#!vorlage Befehl blkid .. /dev/sdb1: LABEL="MEIN IPOD" UUID="C002-A00B" TYPE="vfat" }}} Hier also '''/dev/sdb''' {{{#!vorlage 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 [#Pfade ermittelten Pfad] anpassen!) hingegen verrät den Einhängepunkt: {{{#!vorlage Befehl 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'''. {{{#!vorlage 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. }}} {{{#!vorlage Warnung 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 [#Pfade 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 [#Skript Skripts] '''ipod-read-sysinfo-extended''' oder [#manuell von Hand]. [[Anker(Skript)]] == 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 [#Pfade ermittelten Pfad] anpassen!): {{{#!vorlage Befehl ipod-read-sysinfo-extended /dev/sdb /media/MEIN\ IPOD }}} {{{#!vorlage 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 [#manuell von Hand] vorzubereiten. }}} [[Anker(SysInfoCheck)]] === 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 [#Pfade ermittelten Pfad] anpassen!) {{{#!vorlage Befehl 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 [#manuell von Hand] gemacht werden. Ansonsten ist der iPod nun [#Fertig bereit] zum Befüllen. [[Anker(manuell)]] == 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: {{{#!vorlage Befehl sudo lsusb -v | grep -i Serial }}} {{{#!vorlage 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 [#Pfade 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. [[Anker(Fertig)]] = Fertig! Und jetzt? = Wenn bis hierher alles ohne Fehler funktioniert hat, sollte es nun möglich sein den iPod zu synchronisieren. Auf der [http://www.gtkpod.org/libgpod.html Projektseite] {en} 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 [:Archiv/iPod:Einführung] mit weiteren Links. In den weiteren Kapiteln werden beobachtete [#Problembehebung Probleme] beschrieben und Tipps gegeben, diese zu vermeiden. Zum Schluss wird noch erklärt, was bei [#Deinstallation Upgrades, Updates und Deinstallation] zu beachten ist. [[Anker(Problembehebung)]] = Bekannte Fehler, Problembehebung und Tipps = {{{#!vorlage Warnung Viele Probleme lassen sich dadurch vermeiden, dass der iPod vor dem Abziehen des Steckers richtig [:Archiv/iPod: 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 [#SysInfoCheck 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 [http://forum.ubuntuusers.de/topic/158450/ 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 [http://www.kde-apps.org/content/show.php/CopyCover+%28amaroK+Script%29?content=22517&PHPSESSID=ea4d2149577bde799bdf060ee2f79839 CopyCover] {en} 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 [http://thinliquidfilm.org Thin Liquid Film] {en} 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 [https://bugs.launchpad.net/ubuntu/+source/gtkpod-aac/+bug/163283 Bug] {en} in '''gtkpod-aac''' bereitet Probleme mit mp4-Podcasts. Amarok-Nutzer, die die Hörbuch-Funktion nutzen möchten, können sich das Script [http://www.kde-apps.org/content/show.php/transKode?content=27512&PHPSESSID=ea4d2149577bde799bdf060ee2f79839 transKode] {en} 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. [[Anker(Deinstallation)]] = 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:Hardy Heron] umsteigt, geschieht dies ganz normal über die Paketverwaltung [1]. Außerdem müssen die [#Links-check Links] entfernt werden, wenn diese auf eine nicht mehr vorhandene Datei verweisen: {{{#!vorlage Befehl sudo rm /usr/lib/libgpod.so.2 }}} bzw. {{{#!vorlage Befehl sudo rm /usr/lib/libgpod.so.3 }}} Anschließend muss man ggf. das Paket aus den Ubuntu-Quellen erneut installieren [1]. = Links = * [http://www.gtkpod.org/libgpod.html Projektseite der Bibliothek] {en} * [http://www.golem.de/0709/54812.html Nachricht auf Golem.de] {de} * [http://arstechnica.com/news.ars/post/20070916-gtkpod-coders-crack-apples-new-ipod-checksum.html Hintergrundartikel auf arstechnica.com] {en} * [http://thefunkcorner.blogspot.com/2007/10/ubuntu-ipod-nano.html Pauls Blog mit Kurzbeschreibung und Link zu seinen .deb Paketen] {en} * [https://bugs.launchpad.net/gutsy-backports/+bug/174222 Bitte um Backports für Gutsy Gibbon] {en} * [https://launchpad.net/~ipod-touch/+archive PPA für iPod Touch] {en} * [http://thinliquidfilm.org Thin Liquid Film] {en} * [http://www.kde-apps.org/?xcontentmode=56&PHPSESSID=ea4d2149577bde799bdf060ee2f79839 Skripte für Amarok] {en} ---- ## vim:filetype=moin # tag: Hardware, Multimedia