Getaggt mit iPhone-Linux-Sync

SpringBoard-Icons sortieren unter Linux mit sbmanager

Seit iTunes 9 existiert ja die Möglichkeit, die Icons des SpringBoards (das Hauptmenü von iPhone OS) per Drag&Drop direkt in iTunes zu ordnen. Mit der Maus geht die Neusortierung der Apps natürlich wesentlich schneller von der Hand als mit dem Finger auf dem kleinen iPhone-Bildschirm. Deswegen haben ein paar fleißige Jungs dieses Feature auch unter Linux verfügbar gemacht; das Programm sbmanger verwendet GTK+ und Clutter, unter der Haube werkelt imobiledevice – dieselbe Bibliothek, die auch schon das synchronisieren über GVFS ermöglichte. Unterstützt wird das iPhone und der iPod touch in allen Generationen, sogar das neue iPad ist dabei.

Um den sbmanager zu nutzen müssen erstmal – falls nicht schon geschehen – die grundlegenden Bibliotheken wie etwa libimobiledevice installiert werden. Dafür gibts ein PPA:

$ sudo add-apt-repository ppa:pmcenery/ppa
$ sudo apt-get update
$ sudo apt-get dist-upgrade
$ sudo apt-get install gvfs gvfs-backends gvfs-bin gvfs-fuse libgvfscommon0 libgvfscommon-dev ifuse libimobiledevice0 libimobiledevice-utils libimobiledevice-dev
$ sudo adduser $USER fuse

Jetzt noch in der Datei /etc/fuse.conf die Option user_allow_other auskommentieren und neustarten. Wenn ihr jetzt euer Gerät anschließt, müsste es zweimal auf dem Desktop erscheinen, einmal als Kamera und einmal als Musik-Player.

Es folgt die Installation von sbmanager. Hierfür benötigen wir ein zweites Mal das Terminal:

$ sudo apt-get install build-essential git-core checkinstall
$ git clone git://git.sukimashita.com/sbmanager.git
$ cd sbmanager
$ sh autogen.sh
$ make
$ sudo checkinstall

Checkinstall wirft hier noch eine Fehlermeldung raus, da die Versionsnummer nach den Richtlinien des Paketmanagers ungültig ist. Hier einfach die aktuelle 1.0.0 angeben. sbmanager ist jetzt als normales Ubuntu-Paket installiert, verfügt aber nicht über einen Eintrag im Anwendungsmenü. Deshalb muss es über die Konsole mit
$ sbmanager

gestartet werden. Und voilà:

Wenn man mit der Anordnung zufrieden ist, darf man nicht vergessen, mit dem grünen Haken die Änderungen zu speichern. Leider lassen sich nicht mehere Apps gleichzeitig markieren oder ganze Seiten verschieben. Modifikationen wie das Five Icon Dock machen keine Probleme.

Getaggt mit , , ,

iPhone OS 3.x unter Linux synchronisieren – diesmal über GVFS

Hinweis: Ab Ubuntu 10.04 läuft alles out-of-the box. Der folgende Artikel hat nur für ältere Ubuntu-Versionen Relevanz.

Die Situation “iPhone und Linux” scheint sich immer mehr zu besssern. Anfangs benötigte es noch ein in einer virtuellen Maschine laufendes iTunes, dann gab es mit iFuse die Möglichkeit des Filesystemaccess. Schließlich konnte man endlich mit gtkpod sogar die iTunesCDB beschreiben – und so die normale Musikplayer-Applikation nutzen.

Jetzt ist bereits das Einbinden des iPhones über GVFS möglich. GVFS – ehemals GnomeVFS – ist die Schnittstelle von GNOME, um virtuelle Dateisysteme einzuhängen. Als Quelle kann ein ISO-Image, eine Samba-Freigabe, ein SSH-Tunnel, eine Digitalkamera und jetzt eben auch ein iPhone/ein iPod touch verwendet werden.

Gut, was bringt uns das jetzt? Hauptvorteil ist, dass man jetzt kein extra Programm mehr braucht, um das Gerät mit Musik zu befüllen. Man kann also Rhythmbox, Banshee oder einen anderen Musik-Player verwenden, also das Programm, was man auch sonst zum Musikhören und dem Downloaden von Podcasts benutzt. Weiterhin ist die Einrichtung jetzt wesentlich einfacher – es muss nichts mehr kompiliert werden, auch ein manuelles Einhängen des Geräts ist überflüssig.

Wer bereits meine Anleitung vom November durchgearbeitet hat, der sollte sie vollständig rückgängig machen, also alle Pakete wieder deinstallieren, das PPA entfernen, nach Konfigurationsleichen in /etc und ~/.config Ausschau halten usw.

Lasst uns loslegen. Die Geschichte beginnt, wie so häufig, mit einem PPA:

$ sudo add-apt-repository ppa:pmcenery/ppa
$ sudo apt-get update
$ sudo apt-get dist-upgrade
$ sudo apt-get install gvfs gvfs-backends gvfs-bin gvfs-fuse libgvfscommon0 ifuse libgpod-dev libgpod-common libiphone-utils libiphone0 python-iphone libplist++1 libplist-utils python-plist libusb-1.0-0 libusb-1.0-0-dev libusbmuxd1 usbmuxd

Nun fügen wir uns selbst zur Gruppe fuse hinzu:
$ sudo adduser $USER fuse

Jetzt muss noch eine Konfigurationsdatei bearbeitet werden:
$ sudo nano /etc/fuse.conf

Dort dann die Option user_allow_other auskommentieren (# entfernen). Nach einem Reboot ist die Sache schon gegessen. Ja, wirklich! Ihr braucht nur noch euer Gerät in die Hand zu nehmen, das Kabel zu packen und in den Dock-Connector zu stecken. Dann läuft auch schon die Synchronisation z.B über Rhythmbox an. Genial, oder? Sogar die Datei SysInfoExtended, die ihr vorher manuell anlegen musstest, wurde – zumindest bei mir – automatisch erstellt (ich hatte den Device-Order vorher mittels iFile gelöscht).

Leider werden bei mir, wenn ich über Rhythmbox synchronisiere, die Albumcover nicht mitsynchronisiert. Bei gtkpod ging es damals. Banshee hab ich schon probiert, doch wird dort der iPod leider nicht erkannt. Mal sehen ob ich das noch hinbekomme, ansonsten läuft alles prima.

[via Ubuntu-Geek]

Getaggt mit , , ,

iPhone OS 3.x-Geräte unter Linux mit gtkpod synchronisieren

Hinweis: Mittlerweile existiert eine einfachere Möglichkeit der Synchronisation, nämlich über GVFS.

Endlich endlich endlich. Wie lang haben wir, die Linux-Nutzer und iPhone/iPod touch Besitzer zugleich sind, darauf gewartet, unser Gerät mit dem nun gar nicht mehr so neuen iPhone OS 3.0/3.1 zu synchronisieren. Bisher musste man sich mit Lösungen wie PwnPlayer oder VirtualBox behelfen, doch dies hat nun ein Ende, denn jetzt lässt sich Musik mithilfe von gtkpod direkt in die iTunesCDB synchronisieren, was heißt, dass die Dateien mit den nativen Programmen “Musik” und “Videos” (“iPod” beim iPhone) abgespielt werden können, inklusive CoverFlow, Schüttelfunktionen usw, so, als würde man ganz normal mit iTunes syncen.

Der Hacker Marcan beschreibt in einem Blogeintrag, wie man mit den aktuellen iPhone-Linux-Bibliotheken das iPhone/den iPod touch mounten und Zugriff auf die iTunesCDB erlangen kann. Das ganze ist noch etwas frickelig, man muss einiges selbst kompilieren, und da hier die allerneuesten Alphaversionen eingesetzt werden, sind sicher noch etliche Bugs vorhanden.

Ich hab das ganze unter Ubuntu 9.10 “Karmic Koala” und einem iPod touch der 1.Generation mit OS 3.1.2 getestet und es funktioniert soweit super. Allerdings sollte man den Kram nur ausprobieren, wenn man bereits ein wenig Erfahrung mit Linux hat, da man hier leicht etwas kaputt machen kann. Es ist nicht unwahrscheinlich, das die hier aufgeführten Tools in der nächsten Ubuntu-Version (also Lucid Lynx) als Paket zur Verfügung stehen oder die Synchronisation out-of-box in Banshee, AmaroK oder Rhythmbox funktionieren wird. Einige Anmerkungen:

  • Installiert man die iPhone-Pakete über die Paketverwaltung, so sollte man nicht vergessen, auch die Development-Headers fürs kompilieren mitzuinstallieren, also die Dinge, die auf -dev enden.
  • Man sollte sein iPhone bereits einmal mit iTunes synchronisiert haben, damit eine iTunesCDB vorhanden ist.

Legen wir los. Als erstes braucht man natürlich die Standard-Tools, wie make, gcc und git, die man sich via apt-get besorgt:

$ sudo apt-get install build-essential cmake git-core checkinstall

Dann benötigen wir spezielle iPhone-Pakete. Für Ubuntu existiert eine Paketquelle. Unter System->Systemverwaltung->Software-Paketquellen fügt man folgenden Eintrag hinzu:
ppa:jonabeck/ppa

Nach einem
$ sudo apt-get update

kann man die iPhone-Tools installieren:
$ sudo apt-get install ifuse libiphone0 libiphone-dev libplist0 libplist-dev libusb-1.0-0 libusb-1.0-0-dev libusbmux0 libusbmux-dev

Und sicherstellen, dass der aktuelle User der Gruppe fuse zugehörig ist:
$ sudo adduser $USER fuse

Nun benötigen wir eine weitere Komponente: Die Bibliothek libgpod. Diese ist zwar in den Ubuntu-Quellen enthalten, allerdings nur in der Version 0.7.2. Deshalb müssen wir die Version 0.7.3 ohne unsere Kuschel-Paketverwaltung selbst kompilieren. Nach Entferunung der alten libgpod-Version…
$ sudo apt-get remove --purge libgpod4 libgpod-common

…kann die neue Version installiert werden:
$ git clone git://gitorious.org/~teuf/libgpod/teuf-sandbox.git
$ cd teuf-sandbox
$ CFLAGS="-g -O0" sh autogen.sh --prefix=/usr
$ make
$ sudo checkinstall

Hier gilt es, die Bildschirmausgaben genau zu lesen und fehlende Pakete über die Paketverwaltung nachzuinstallieren (nicht die Development-Headers vergessen!). Beim checkinstall-Assistent muss als Name “libgpod4″ und als Version “0.7.3GIT” angegeben werden.

Hat alles geklappt, sollte man jetzt sein Gerät anschließen und es mounten:

$ sudo mkdir /media/iPod
$ sudo ifuse /media/iPod
$ sudo mkdir /media/iPod/iTunes_Control/Device

Damit das iPhone bzw. der iPod mit gtkpod verwendet werden kann, muss noch die UUID herausgefunden werden:
$ lsusb -v | grep -i iSerial

Im Konsolen-Output sollte jetzt eine 40-stellige Nummer zufinden sein. Diese brauchen wir für den nächsten Befehl:
$ tools/ipod-read-sysinfo-extended <UUID> <mountpoint>

Wenn im Verzeichnis /media/iPod/iTunes_Control/Device die XML-Datei SysInfoExtended auffindbar ist, kann man gtkpod öffnen. Ist gtkpod noch nicht installiert, reicht ein
$ sudo apt-get install gtkpod

um sich das Programm auf die Platte zu holen. Nach dem Start euer Modell auswählen, Songs hinzufügen und auf “Änderungen sichern” klicken. Auf dem Bildschirm des iPhones bzw. des iPods sollte jetzt eine “Synchronisieren” Meldung erscheinen, wie man sie von iTunes her kennt. Nach dem Start des Musik-Players ließt er die Datenbank neu ein, hier muss man ein wenig Geduld haben. Dies liegt daran, dass die iTunesCDB eigentlich nur von iTunes zur Synchronisation verwendet wird. Intern verwendet der iPod eine SQLite-Datenbank.

Und jetzt heißt es abtanzen!

Getaggt mit , , ,

iPod touch ohne iTunes unter Linux synchronisieren mit iFUSE und PwnPlayer

Deswegen müssen wir das Programm iFUSE benutzen, welches auf FUSE (Filesystem in Userspace) aufbaut. iFUSE erlaubt nämlich den Zugriff auf den iPod touch via USB. Selbstkompilieren müssen wir iFUSE nicht, da die Entwickler für einige Distributionen Paketquellen aufgesetzt haben. Für Ubuntu 9.04 “Jaunty Jackalope” wäre folgende Repo die richtige

deb http://ppa.launchpad.net/jonabeck/ppa/ubuntu jaunty main

Vor der Installation noch schnell den GnuPG-Schlüssel importieren und die Paketquellen neu einlesen:

$ sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com F0876AC9
$ sudo apt-get update

Dann kann es auch schon losgehen:

$ sudo apt-get install ifuse

Damit iFUSE und allgemein FUSE funktioniert, muss der aktuelle User Mitglied in der Gruppe fuse sein:

$ sudo adduser $USER fuse

Gegebenenfalls muss man jetzt noch einen Reboot durchführen. Nach einem Anschließen des iPods sollte er automatisch unter /media/iPod gemountet werden:

iPod_iFUSE

Im Ordner Music schmeißen wir jetzt unsere Musik rein, und in Playlists die Playlisten. Ich versuch grad Banshee zu verklickern, /media/iPod als MP3-Player zu erkennen, damit man nicht alles manuell machen muss. Wenn jemand weiß wie das geht, raus damit :)

Schließlich ist nur noch die Installation des Programms Pwn Player Lite (Achtung: der “normale” PwnPlayer funktioniert noch nicht unter OS 3.0) durchzuführen. Sollte der Pwn Player Lite nicht starten, so müssen die Konfigurationsdateien unter ~/Library/PwnPlayer gelöscht werden. Am Ende sollte es so aussehen:

iPod_PwnPlayer

Die Verbindung kann man dann wieder mit

$ sudo umount /media/iPod

trennen. Homescreen-Icons, wie Musik und Videos (iPod beim iPhone) könnt ihr entweder über BossPrefs/SBSettings verstecken oder einfach ganz hinten auf einem unbenutzten Homescreen schieben.

Getaggt mit , , ,

redSn0w für Linux

Und ein weiterer Schritt in Richtung Linux+iPhone. Ab Version 0.8 läuft das Jailbreak-Tool redSn0w nämlich auch unter Linux. Damit das ganze startet, müssen die Ausführrechte richtig gesetzt sowie die Bibliothek libwxgtk2.8-0 installiert sein:

$ sudo apt-get install libwxgtk2.8-0

Dann mit
$ ./redsn0w

im entpackten Verzeichnis den Jailbreak starten. Falls redSn0w noch weitere Bibliotheken anzeigt die benötigt werden, diese ebenfalls nachinstallieren.
redsn0w_linux1

Getaggt mit , , ,

iPhone/iPod touch unter Linux mithilfe von VirtualBox synchronisieren

So schick die portablen iProdukte aus dem Hause Apple auch sind, eine Macke bleibt: Die Zwangsehe mit iTunes. Jeden MP3-Player vom Aldi kann man als Dateisystem einhängen, nur mit dem iPod geht das nicht. iTunes ist für jegliche Sychronisierung Pflicht. Weil einige aber iTunes nicht benutzen möchten oder können (weil es z.B auf ihrem OS nicht läuft), wurden in der Vergangenheit zahlreiche Bibliotheken und Programme geschrieben, mit denen man den iPod auch ohne iTunes synchronisieren kann (gtkpod z.B). Mit ‘normalen’ iPods funktioniert das ganz gut, nur für’s iPhone und für den iPod touch existiert noch keine vernünftig funktionierende Lösung. Das liegt daran, das Apple bei den zuletztgenannten anscheinend eine anderes, proprietäres, zusätzlich verschlüsseltes Übertragungsprotokoll verwendet, was bis dato noch nicht vollständig entschlüsselt werden konnte. Zusätzlich hat Apple mit Firmware 3.0 sein Datenbankformat komplett verändert, wodurch alle Erfolge, die sich bisher abgezeichnet haben, zunichte gemacht wurden. Also führt an iTunes momentan kein Weg vorbei. (Update 18.12.2009: Der Weg über die VM ist jetzt unötig. Stattdessen kann der iPod über GVFS angesprochen werden.)
Leute wie ich, die Linux benutzen, möchten aber ihr Gerät trotzdem synchronisieren. Da iTunes weder nativ noch unter Wine läuft, gibt es nur noch eine Möglichkeit, eine virtuelle Maschine mit gemeinsamen Ordnern. Diese Lösung ist zwar unhandlig, funktioniert aber.
Vorraussetzungen

  • Ubuntu 9.04 (sollte auch mit anderen Distris funktionieren)
  • Windows-Installations-CD, XP (läuft eventuell auch mit Vista)
  • VirtualBox 3.0, Closed Source Version
  • VirtualBox 3.0 Gasterweiterungen
  • iTunes 8.2
  • und natürlich ein iPhone oder einen iPod touch :)

Installation von VirtualBox
Von VirtualBox existieren zwei Versionen: Eine Closed Source Variante, welche alle Features enthält, und eine Open Source Variante, welche um ein paar Features ärmer ist. Diese paar Features beinhalten leider den USB-Support, welchen wir benötigen, um das iPhone mit iTunes zu verbinden. Deswegen muss die Closed Source Verison eingesetzt werden, welche allerdings nicht in den Ubuntu-Quellen enthalten ist. Glücklicherweise bietet Sun eine eigene Paketquelle an (für andere Ubuntu-Versionen siehe hier):

deb http://download.virtualbox.org/virtualbox/debian jaunty non-free

Nun benötigen wir noch den GPG-Key:

$ wget -q http://download.virtualbox.org/virtualbox/debian/sun_vbox.asc -O- | sudo apt-key add -

Nun installieren wir das Paket virtualbox-3.0 und fügen uns selbst der Gruppe vboxusers hinzu:
$ sudo adduser $USER vboxusers

Nach einem Reboot lässt sich VirtualBox unter Systemwerkzeuge>Sun VirtualBox starten.
Windows und iTunes installieren
Ich werde an dieser Stelle nicht beschreiben, wie man Windows oder iTunes installiert. Letzeres sollte jeder selbst hinbekommen, falls jemand bei ersteren Hilfe benötigt, so kann er Google bemühen. Es gibt genügend tolle Anleitungen die das ausreichend beschreiben. Machen wir also beim Erstellen eines gemeinsamen Ordners weiter.
Gemeinsamen Ordner erstellen
Zuerst installieren wir die Gasterweiterungen mit Geräte>Gasterweiterungen installieren. Reboot tut gut. Dann rechtsklicken wir in der Statusleiste auf das Ordner-Symbol und hängen damit unser Homeverzeichnis unter Windows ein. Anschließend in der Windows-Konsole mit
net use x: \\vboxsvr\$Name

dem geteilten Verzeichnis einen Laufwerksbuchstaben zuweisen ($Name durch den Namen ersetzen, den ihr im vorhergehenden Dialog eingegeben habt). iTunes starten und unter Bearbeiten>Einstellungen>Erweitert den Pfad der iTunes Library auf unser neues Laufwerk lenken. Haken bei der Checkbox Beim Hinzufügen zur Mediathek Dateien in den iTunes-Musikordner kopieren raus, sonst kopiert er den Kram sonstwohin. Dann mit Datei>Ordner zur Mediathek hinzufügen die Daten einlesen.
Mounten des iPods
Jetzt das iPhone anschließen und über das USB-Symbol in der Statusleiste das iPhone mit der virtuellen Maschine verbinden. iTunes erkennt es und beginnt mit dem Sync.

itunes_vm

Getaggt mit , , , ,
Follow

Bekomme jeden neuen Artikel in deinen Posteingang.