<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>virtualpixel.de &#187; iPhone</title>
	<atom:link href="http://www.virtualpixel.de/category/iphone/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.virtualpixel.de</link>
	<description>Ein Blog über Linux, OpenSource, iPhone und alles andere.</description>
	<lastBuildDate>Mon, 12 Jul 2010 21:04:18 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>gpodder &#8211; freier Speicherplatz auf dem iPhone und Playcounts</title>
		<link>http://www.virtualpixel.de/2010/06/30/gpodder-freier-speicherplatz-auf-dem-iphone-und-playcounts/</link>
		<comments>http://www.virtualpixel.de/2010/06/30/gpodder-freier-speicherplatz-auf-dem-iphone-und-playcounts/#comments</comments>
		<pubDate>Wed, 30 Jun 2010 10:28:31 +0000</pubDate>
		<dc:creator>Jan</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Planet]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Gnome]]></category>
		<category><![CDATA[gpodder]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[podcasts]]></category>
		<category><![CDATA[synchronisation]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.virtualpixel.de/?p=1715</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><a href="http://www.virtualpixel.de/wp-content/uploads/2010/06/392417_R_K_by_Christian-Seidel_pixelio.de_.jpg"><img class="alignnone size-full wp-image-1730" title="392417_R_K_by_Christian-Seidel_pixelio.de" src="http://www.virtualpixel.de/wp-content/uploads/2010/06/392417_R_K_by_Christian-Seidel_pixelio.de_.jpg" alt="" width="550" height="254" /></a></p>
<p style="text-align: right;"><span style="color: #c0c0c0;"><em>Christian Seidel / pixelio.de</em></span></p>
<p style="text-align: justify;"><a href="http://gpodder.org">gpodder</a> ist eine hervorragende Anwendung wenn es um den Download und die Verwaltung von Podcasts geht, erstmal so generell. Leider gibt es zwei kleine Bugs, die den Betrieb mit einem iOS Ger&#228;t ziemlich erschweren: Playcounts werden nicht synchronisiert und der freie Platz auf dem Ger&#228;t wird nicht erkannt. Soweit so schlecht, ein Betrieb ist erstmal unm&#246;glich.</p>
<p style="text-align: justify;">Doch es gibt f&#252;r beide Problemchen (mehr oder weniger praktikable) L&#246;sungen:</p>
<p style="text-align: justify;"><span id="more-1715"></span></p>
<h3><strong>1. &#8220;Nicht gen&#252;gend freier Speicherplatz auf dem Ger&#228;t verf&#252;gbar&#8221;</strong></h3>
<p style="text-align: justify;">Erst einmal muss man unter Ubuntu &#252;berhaupt raus finden, wie man gpodder mit dem iPhone beispielsweise bekanntmacht. gpodder erwartet einen Dateipfad zum Ger&#228;t, der ist aber unter Lucid Lynx nicht mehr so ganz eindeutig durch das neue GVFS. Man muss wissen, dass die Ger&#228;te, die Gnome einbindet unter <strong>~/.gvfs/</strong> liegen. In meinem Falle w&#228;re der Pfad also <strong>/home/elu/.gvfs/Jans iPhone/. </strong></p>
<p style="text-align: justify;">Das Problem dabei ist nun, dass man von diesem Mountpunkt keine vern&#252;nfitigen Werte bekommt, was den benutzten und freien Speicherplatz angeht, er ist in beiden F&#228;llen &#8220;0&#8243;. Da aber das Python-Script von gpodder nur genau das abfragt, ist nat&#252;rlich auf dem iPhone kein Platz mehr verf&#252;gbar. (Sondern &#8220;0&#8243; Byte).</p>
<p style="text-align: justify;">Um das zu umgehen ist ein kleiner Eingriff in das Sync-Script von gpodder notwendig, in dem man einfach vorgaukelt, dass gen&#252;gend freier Speicherplatz auf dem Ger&#228;t vorhanden ist. Nachteil ist ganz klar, dass man sich nun selbst k&#252;mmern muss, dass noch gen&#252;gend Platz vorhanden ist.</p>
<p style="text-align: justify;">Man nahme also die Datei: ﻿﻿﻿<strong>/usr/lib/pymodules/python2.6/gpodder/sync.py</strong> und such nach folgender Funktion:</p>
<p style="text-align: justify;">

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">def get_free_space<span style="color: #7a0874; font-weight: bold;">&#40;</span>self<span style="color: #7a0874; font-weight: bold;">&#41;</span>:
    <span style="color: #666666; font-style: italic;"># Reserve 10 MiB for iTunesDB writing (to be on the safe side)</span>
    RESERVED_FOR_ITDB = <span style="color: #000000;">1024</span><span style="color: #000000; font-weight: bold;">*</span><span style="color: #000000;">1024</span><span style="color: #000000; font-weight: bold;">*</span><span style="color: #000000;">10</span>
    <span style="color: #7a0874; font-weight: bold;">return</span> util.get_free_disk_space<span style="color: #7a0874; font-weight: bold;">&#40;</span>self.mountpoint<span style="color: #7a0874; font-weight: bold;">&#41;</span> - RESERVED_FOR_ITDB</pre></div></div>

<div style="text-align: justify;">und ersetze sie durch beispielsweise:</div>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">def get_free_space<span style="color: #7a0874; font-weight: bold;">&#40;</span>self<span style="color: #7a0874; font-weight: bold;">&#41;</span>:
    <span style="color: #666666; font-style: italic;"># Reserve 10 MiB for iTunesDB writing (to be on the safe side)</span>
    RESERVED_FOR_ITDB = <span style="color: #000000;">1024</span><span style="color: #000000; font-weight: bold;">*</span><span style="color: #000000;">1024</span><span style="color: #000000; font-weight: bold;">*</span><span style="color: #000000;">10</span>
    <span style="color: #7a0874; font-weight: bold;">return</span> <span style="color: #000000;">1024</span> <span style="color: #000000; font-weight: bold;">*</span> <span style="color: #000000;">1024</span> <span style="color: #000000; font-weight: bold;">*</span> <span style="color: #000000;">1024</span> <span style="color: #000000; font-weight: bold;">*</span> <span style="color: #000000;">1024</span> - RESERVED_FOR_ITDB</pre></div></div>

<p style="text-align: justify;">Nun ist erstmal genug Platz auf dem iPhone &#8220;vorhanden&#8221;. (Man beachte, das ein Update von gpodder diese Datei wieder &#252;berschreiben wird!) Kommen wir zum zweiten Problem:</p>
<h3 style="text-align: justify;">2. Playcounts werden wieder auf &#8220;ungespielt&#8221; gesetzt</h3>
<p style="text-align: justify;">Nun ist man also in der Lage, sein iPhone oder sonstiges iOS Ger&#228;t mit Podcasts zu bespielen. Leider gibt es nun noch einen Fehler in der Bibliothek libgpod, welche bei jedem Synchronisationsvorgang alle Podcasts auf den Status ungespielt zur&#252;cksetzt und man sich die Stelle an der man aufgeh&#246;rt hat wieder m&#252;hsam suchen muss.</p>
<p style="text-align: justify;">Ich habe vor einiger Zeit diesbez&#252;glich mal an die Mailingliste geschrieben und auch Prompt Antwort erhalten:</p>
<p style="text-align: justify;"><a href="http://sourceforge.net/mailarchive/forum.php?thread_name=4BF05795.2030805%40virtualpixel.de&amp;forum_name=gtkpod-devel">http://sourceforge.net/mailarchive/forum.php?thread_name=4BF05795.2030805%40virtualpixel.de&amp;forum_name=gtkpod-devel</a></p>
<p style="text-align: justify;">Kurzfassung: Es gibt bereits zwei Patches gegen das Problem, sie werden auch demn&#228;chst in den offiziellen libgpod-Zweig einflie&#223;en. (Dies ist bislang, so weit ich das &#252;berblicken kann, noch nicht geschehen)</p>
<p style="text-align: justify;">Man nimmt sich also die beiden Patches aus obigem Link und korrigiert damit den Quelltext von gpodder. Et volia, nun funktioniert auch der Sync von Podcasts OHNE dass sich bereits angespielte Episoden wieder zur&#252;cksetzten. Allerdings kommt es, zumindest bei mir, &#246;fters vor, dass bei einem zweiten Sync ein Podcasts doppelt auf dem iPhone vorhanden ist, oder das ein zweiter Sync ben&#246;tigt wird, damit die Playcounts wieder stimmen. Aber das wird sicher auch noch gefixt&#8230;</p>
<p style="text-align: justify;">Nun w&#252;nsche ich euch fr&#246;hliches Synchronisieren eurer Podcasts!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.virtualpixel.de/2010/06/30/gpodder-freier-speicherplatz-auf-dem-iphone-und-playcounts/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Manchmal h&#228;tt&#8217; ich gerne iTunes</title>
		<link>http://www.virtualpixel.de/2010/05/15/manchmal-haett-ich-gerne-itunes/</link>
		<comments>http://www.virtualpixel.de/2010/05/15/manchmal-haett-ich-gerne-itunes/#comments</comments>
		<pubDate>Sat, 15 May 2010 20:15:00 +0000</pubDate>
		<dc:creator>Jan</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Planet]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[gpodder]]></category>
		<category><![CDATA[Musik]]></category>
		<category><![CDATA[podcasts]]></category>
		<category><![CDATA[synchronisation]]></category>
		<category><![CDATA[Videos]]></category>

		<guid isPermaLink="false">http://www.virtualpixel.de/?p=1679</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Ja, wirklich, und zwar dann, wenn es um die automatische Synchronisation von Podcasts, Videos und Musik geht und ich gerade schlechte Laune habe, weil ich mir den Nachmittag mit Suchen und Probieren um die Ohren gehauen habe. Werfen wir also mal kurz einen Blick in das iTunes Lager:</p>
<p style="text-align: justify;">Sobald ich mein iPhone an iTunes anstecke, werden neue Podcasts auf das Ger&#228;t kopiert, auf dem Ger&#228;t oder auf dem Laptop geh&#246;rte Podcasts werden vom Ger&#228;t gel&#246;scht, auf dem Laptop oder iPhone zum Teil geh&#246;rte Podcasts werden mit ihrer Abspielposition synchronisiert, auf dem Ger&#228;t geh&#246;rte Podcasts werden im iTunes als geh&#246;rt markiert und so weiter und so fort. Au&#223;erdem wird die gesamte Musik- und Videosammlung gesynct, oder halt nur Teile davon, je nachdem wie man es vorher im iTunes eingestellt hat. Total komfortabel also: einstecken, warten, abziehen und auf dem neusten Stand sein &#8211; ohne Interaktion.</p>
<p style="text-align: justify;">Unter Linux ist mir bis dato kein Weg bekannt, mein iPhone oder meinen iPod (oder irgendeinen anderen Mp3 Player, wobei das nur geraten ist) genauso bequem zu verwalten. Klar kann ich Musik, Videos und Podcasts auf das Ger&#228;t spielen, aber halt alles per Hand und manuell. Einzig gpodder hat einen Sync-Modus, welcher allerdings durch einen <a href="http://sourceforge.net/tracker/?func=detail&amp;aid=2940596&amp;group_id=67873&amp;atid=519273">Bug in libgpod</a> momentan f&#252;r iPhone Benutzer unbrauchbar ist, und auch nicht automatisch synct.</p>
<p style="text-align: justify;">Sicherlich ist iTunes nicht das Ma&#223; aller Dinge, aber leider noch sehr vieler&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.virtualpixel.de/2010/05/15/manchmal-haett-ich-gerne-itunes/feed/</wfw:commentRss>
		<slash:comments>24</slash:comments>
		</item>
		<item>
		<title>Das iPhone OS und Linux &#8211; ein aktueller &#220;berblick</title>
		<link>http://www.virtualpixel.de/2010/05/06/das-iphone-os-und-linux-ein-aktueller-ueberblick/</link>
		<comments>http://www.virtualpixel.de/2010/05/06/das-iphone-os-und-linux-ein-aktueller-ueberblick/#comments</comments>
		<pubDate>Thu, 06 May 2010 20:54:26 +0000</pubDate>
		<dc:creator>Jan</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Planet]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Gnome]]></category>
		<category><![CDATA[idevice]]></category>
		<category><![CDATA[ifuse]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPod]]></category>
		<category><![CDATA[JailBreak]]></category>
		<category><![CDATA[KDE]]></category>
		<category><![CDATA[libimobiledevice]]></category>
		<category><![CDATA[Musik]]></category>
		<category><![CDATA[podcasts]]></category>
		<category><![CDATA[Thunderbird]]></category>
		<category><![CDATA[Touch]]></category>

		<guid isPermaLink="false">http://www.virtualpixel.de/?p=1655</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><a href="http://www.virtualpixel.de/wp-content/uploads/2010/05/Bildschirmfoto.png"><img class="alignnone size-full wp-image-1666" title="Bildschirmfoto" src="http://www.virtualpixel.de/wp-content/uploads/2010/05/Bildschirmfoto.png" alt="" width="550" height="157" /></a></p>
<p style="text-align: justify;">Seit nunmehr fast drei Jahren ist das Apple iPhone auf dem Markt, seit ungef&#228;hr zwei Jahren der iPod  Touch und seit ungef&#228;hr einem Monat das iPad. So unterschiedlich diese Ger&#228;te auch alle sind, haben sie eines gemeinsam: Das Betriebssystem ist bei allen dreien das iPhone OS.Grunds&#228;tzlich sind diese Ger&#228;te kompatibel zu Mac OSX und mit Einschr&#228;nkungen auch zu Microsoft Windows. Grund sind die <a href="http://de.wikipedia.org/wiki/Apple_Filing_Protocol">geschlossenen Protokolle</a> von Apple, die einen Zugriff auf das System erm&#246;glichen.</p>
<p style="text-align: justify;">Nun sind diese Ger&#228;te allerdings sehr popul&#228;r, nicht nur unter OSX und Windows Benutzern, sondern auch unter Linuxbenutzern. Ich selber bin nun seit 2 Jahren meist gl&#252;cklicher Besitzer eines iPhones. Es war also nur eine Frage der Zeit, bis sich die ersten Personen der Problematik annehmen und versuchen diese Ger&#228;te linuxkompatibel zu machen, so dass man beides unter einen Hut bringen kann.</p>
<p style="text-align: justify;">Das war, gerade zu Anfangszeiten, nicht immer einfach und ich habe ein Menge geflucht und <a href="http://www.virtualpixel.de/2008/12/07/iphone-linux-evolution-google-und-nuevasync-oder-hurra-svn-evolution-mag-google-und-mein-iphone-ist-mit-linux-synchron/">noch mehr probiert</a>. (Man <a href="http://www.virtualpixel.de/category/iphone/">suche</a> einfach in meinem Blog nach iPhone) Doch mittlerweile hat sich das Bild extrem zum positiven gewendet.</p>
<p style="text-align: justify;">Anfangs brauchte man zwingend einen <a href="http://blog.iphone-dev.org/">Jailbreak</a>, um &#252;berhaupt irgendwas mit dem iPhone unter Linux anzustellen, ein SSH-Zugang zum Ger&#228;t war essentiell. Eigentlich nichts schlimmes, aber nicht jeder m&#246;chte, bzw. ist in der Lage dazu, sein iPhone zu jailbreaken. Auf Dauer konnte dies also keine akzeptable L&#246;sung sein.</p>
<p style="text-align: justify;">Wie sieht es den heute also aus? Sehr, sehr, und ich glaube man kann mit gutem Gewissen noch ein weiteres &#8220;sehr&#8221; hinzuf&#252;gen, gut! Fangen wir mal an uns die Einzelheiten anzuschauen.</p>
<p style="text-align: justify;"><span id="more-1655"></span></p>
<h2 style="text-align: justify;">Die Software</h2>
<p style="text-align: justify;">Fangen wir mit der ben&#246;tigten Software an: An erster Stelle w&#228;re da die Bibliothek <a href="http://libimobiledevice.org/">libimobiledevice</a>, ehemals libiphone, zu nennen. Sie ist eines der wichtigsten Teile, damit die iPhone OS Ger&#228;te &#252;berhaupt unter Linux angesprochen werden k&#246;nnen. Der zweite wichtige Teil ist die Bibliothek <a href="http://www.gtkpod.org/libgpod/">libgpod</a>, welche sich um die Musik- und Podcastverwaltung k&#252;mmert. Selbstverst&#228;ndlich gibt es noch eine Reihe anderer Software, ohne die der Zugriff auf das iPhone OS nicht m&#246;glich w&#228;re, wie zum Beispiel ifuse (um das Dateisystem &#252;ber fuse einzubinden), usbmuxd (um &#252;ber USB mehrere parallele Verbindungen zum Ger&#228;t aufzubauen) und libplist (um die plist Dateien von Apple zu lesen und zu schreiben). Diese sind aber sehr technisch und auf unterster Eben angesiedelt, so dass ich darauf an dieser Stelle nicht weiter eingehen werden. Man findet sie ebenfalls alle auf <a href="http://www.libimobiledevice.org">libimobiledevice.org</a>, allerdings sollten sie automatisch per Paketmanagement installiert werden bei den meisten Distributionen.</p>
<p style="text-align: justify;">Wichtig an dieser Stelle: libimobiledevice braucht keinen (!) Jailbreak des Ger&#228;tes!</p>
<h2 style="text-align: justify;">Grundlagen</h2>
<p style="text-align: justify;">Das Grundlegende ist der Dateisystemzugriff und das Handling der Apple eigenen Protokolle auf das Ger&#228;t, ohne dem geht nichts. Diese Funktionalit&#228;t wird von der Bibliothek libimobiledevice gehandelt, besser gesagt bietet sie die M&#246;glichkeit daf&#252;r. F&#252;r die praktische Umsetzung ben&#246;tigt es noch weiterer Programme. Unter Gnome gibt es in der aktuellen Version des GVFS (&gt;= 1.5.1)﻿﻿﻿ schon Unterst&#252;tzung f&#252;r das iPhone OS, vorausgesetzt, dass libimobiledevice installiert ist.</p>
<p style="text-align: justify;">Unter KDE gibt es seit kurzem einen <a href="http://github.com/JonathanBeck/kio_afc">KIO-Slave</a> f&#252;r den Zugriff, dieser ist allerdings noch Mitten in der Entwicklung. Ansonsten gibt es noch eine desktopunabh&#228;ngige M&#246;glichkeit &#252;ber ifuse das Ger&#228;t manuell an einen Pfad zu mounten. Der zugriff auf das Dateisystem ist schon mal viel Wert, doch damit alleine l&#228;sst sich erst mal nichts anfangen.</p>
<h2 style="text-align: justify;">Musik, Podcasts und Videos</h2>
<p style="text-align: justify;">Hat man ein iPhone OS Ger&#228;t m&#246;chte man darauf fr&#252;her oder sp&#228;ter Musik, Podcasts und Filme h&#246;ren/schauen. Daf&#252;r zust&#228;ndig ist unter Linux die Bibliothek <a href="http://www.gtkpod.org/libgpod/">libgpod</a>. Warum braucht es dazu extra ein Tool? Bei allen Apple iPods (und auch das iPhone ist in der Hinsicht ein iPod) wird die Musik nicht einfach nur auf das Ger&#228;t gespielt, sondern es wird eine interne Datenbank gepflegt, damit zus&#228;tzliche Metadaten wie Playcount, Rating etc. gespeichert werden k&#246;nnen. Dummerweise ist diese Datenbank (im aktuellen OS &#252;brigens eine einfache SQLite DB) mit einem Hash versehen, die sie vor Manipulation sch&#252;tzen soll. Es gilt also zwei Probleme zu meistern: DB Verwaltung und Hash-Handling. Beides ist mittlerweile kein Problem mehr, wenn man sich der Bibliothek libgpod bedient. Sie kann die Datenbank aller aktuellen iPod und iPhone OS Modelle lesen und mit dem richtigen Hashwerten schreiben. Technisch gesehen also kein Problem. Fehlt nur noch das Programm, welches die Bibliothek benutzt.</p>
<p style="text-align: justify;">Unter Ubuntu Lucid Lynx werden die iPhone OS Ger&#228;te beim einbinden in das System als Musikplayer erkannt. <a href="http://projects.gnome.org/rhythmbox/">Rhythmbox</a> bindet das Ger&#228;t problemlos ein, Podcasts und Musik k&#246;nnen einfach per Drag and Drop auf das Ger&#228;t &#252;bertragen werden. Am Ende des Kopiervorgangs erscheint kurz der &#8220;Synchronisiere&#8230;&#8221; Bildschirm, die Datenbank wird geupdatet.</p>
<p style="text-align: justify;"><a href="http://banshee-project.org/">Banshee</a> ist ein weiterer popul&#228;rer Mediaplayer unter der Gnome-Desktopumgebung. Leider bauen die Entwickler nicht auf die libgpod Bibliothek auf, sondern haben vor einiger Zeit begonnen eine eigene zu entwickeln, namentlich &#8220;<a href="http://abock.org/2007/10/20/introducing-podsleuth">podsleuth</a>&#8220;, welche aber bis heute vom Funktionsumfang weit hinter libgpod zur&#252;ckf&#228;llt. Lediglich einige der ersten iPods werden unterst&#252;tzt. Das umschwenken auf libgpod wird immer wieder von Benutzern <a href="http://old.nabble.com/Proposal-to-move-Banshee-to-libgpod-td27712382.html">gefordert</a> (nicht zuletzt von mir auch schon) aber bislang leider nicht in die Tat umgesetzt. Unter anderem wird es wohl dadurch erschwert, da Banshee in C# bzw. Mono geschrieben wurde und daf&#252;r keine libgpod-Bindings vorhanden sind. Meiner Meinung nach sehr schade, da ich pers&#246;nlich Banshee einen Ticken besser finde&#8230;</p>
<p style="text-align: justify;">Eine Anwendung extra f&#252;r Podcasts ist <a href="http://gpodder.org/">gpodder</a>, welche selbstverst&#228;ndlich, da ebenfalls auf libgpod aufbaut, auch mit den iPhone OS Ger&#228;ten zusammenarbeitet und einen komfortablen Sync der Podcasts erm&#246;glicht. Meine Favorisierte Anwendung f&#252;r Podcasts.</p>
<p style="text-align: justify;">Leider gibt es bei den Podcasts aktuell einen <a href="https://bugs.gpodder.org/show_bug.cgi?id=812">extrem nervigen Bug</a>: Die Ger&#228;te merken sich, an welcher Stelle im Podcasts man aufgeh&#246;rt hat zu h&#246;ren. <a href="https://bugs.gpodder.org/show_bug.cgi?id=812">(When Syncing New Podcasts &#8211; played and partially played episodes are reset</a>) Man muss also einen Podcasts nicht an einem St&#252;ck h&#246;ren oder sich merken wo man aufgeh&#246;rt hat. Dummerweise wird dieser Wert bei jedem Schreiben der DB zur&#252;ckgesetzt, so dass alle Podcasts wieder als &#8220;ungespielt&#8221; markiert sind.</p>
<p style="text-align: justify;">Als GTK-Anwendung w&#228;re dann noch <a href="http://www.gtkpod.org/about.html">gtkpod</a> zu nennen, welche von den Entwicklern der libgpod Bibliothek selbst entwickelt wird. Als Notl&#246;sung mal ganz nett, aber ansonsten sind Rhythmbox und Konsorten die bessere Wahl.</p>
<p style="text-align: justify;"><strong>Update:</strong> Wie ich in den Kommentaren drauf hingewiesen wurde, kann gtkpod Videos auf das iPhone transferieren. Gerade kurz getestet und es hat funktioniert. <strong>Updateende</strong></p>
<p style="text-align: justify;">Unter KDE gibt es als Nennenswerten Mediaplayer nur <a href="http://amarok.kde.org">Amarok</a>. In der aktuellen Version ist das managen der iPhone OS Ger&#228;te rudiment&#228;r m&#246;glich. Sie tauchen selbstst&#228;ndig beim einstecken in Amarok auf und Musik l&#228;sst sich &#252;bertragen und l&#246;schen. Podcast-Sync ist noch in Arbeit. (Dies ist aber ein generelles Problem in Amarok, welches alle portable Mediaplayer betrifft.) Sollte das Ger&#228;t in Amarok nicht automatisch auftauchen, so kann es daran liegen, dass eine HAL-Regeldatei fehlt, die das Ger&#228;t als Mediaplayer ausweist. Hier ist meine zum <a href="http://www.virtualpixel.de/wp-content/uploads/2010/05/31-apple-mobile-device.fdi_.tar.gz">Download</a>. Einfach nach <strong>/etc/hal/fdi/policy/</strong> kopieren und HAL, bzw. das System neustarten.</p>
<h2 style="text-align: justify;">Kontakte, Kalender, etc.</h2>
<p style="text-align: justify;">Wie schon <a href="http://www.virtualpixel.de/das-iphone-und-linux-aktueller-stand/">hier</a> beschrieben, halte ich den besten Weg immer noch &#252;ber einen Dienst in der Wolke, zum Beispiel <a href="http://www.google.com/mobile/sync/">Google</a> oder <a href="https://www.nuevasync.com/">Nuevasync</a>, welche auf iPhone OS Seite einen Exchange ActiveSync bereitstellen. Dazu entweder Evolution, welches von Haus aus mit Google syncen kann, Thunderbird und <a href="https://addons.mozilla.org/de/thunderbird/addon/2313">Lightning</a> mit enstprechenden Plugins (<a href="https://addons.mozilla.org/en-US/thunderbird/addon/7307">Google Contacts</a> und <a href="https://addons.mozilla.org/en-US/sunbird/addon/4631">Provider for Google Calender</a>, bzw. direkt &#252;ber CalDAV, welches das iPhone auch nativ beherrscht &#252;brigens) oder unter KDE unter Zuhilfenahme des <a href="http://www.virtualpixel.de/2009/07/15/akonadi-mit-google-calender-und-google-contacts-synchronisieren/">Akonadiplugins</a>.</p>
<p style="text-align: justify;">M&#246;chte man nicht &#252;ber das Internet syncen, sondern lediglich lokal, so geht dies mittlerweile, wenn auch nur sehr eingeschr&#228;nkt: F&#252;r den Kalender, die Kontakte, sowie Notizen und Lesezeichen gibt es Conduit-Module, welche allerdings bislang nur einen lesenden Zugriff gestatten, als experimental eingestuft und nicht von mir getestet sind (siehe <a href="http://www.libimobiledevice.org">libimobiledevice.org</a>).</p>
<h2 style="text-align: justify;">Tethering</h2>
<p style="text-align: justify;">Eine n&#252;tzliche Funktion des iPhone OS von der ich recht h&#228;ufig Gebrauch mache ist das Tethering, also das Bereitstellen der Internetverbindung f&#252;r den Laptop beispielsweise. Zu Anfangszeiten musste man sich hierf&#252;r noch mit einem gejailbreakten iPhone, SSH-Zugang und einem SOCKS-Proxy herumschlagen, etwas sp&#228;ter dann die <a href="http://www.virtualpixel.de/2009/07/18/das-iphone-als-modem-unter-linux-ohne-proxy-per-usb-kabel-und-auch-das-2g/">PPP-Verbindung</a>. Zwar sehr geekig wenn man auf seinem Laptop rumhackt und nach zwei Minuten ein Grinsen im Gesicht hat, weil man so was extrem geekiges gerade macht, aber komfortabel sieht irgendwie anders aus.</p>
<p style="text-align: justify;">Diese Zeiten sind zum Gl&#252;ck vorbei und es ist genauso komfortabel eine Internetverbindung f&#252;r den Comupter &#252;ber das iPhone aufzubauen wie unter OSX oder Windows. Man hat die Wahl zwischen Bluetooth oder dem USB-Kabel. Beides habe ich in <a href="http://www.virtualpixel.de/2010/01/08/natives-iphone-tethering-unter-linux/">diesem Artikel</a> ausf&#252;hrlich behandelt. Anzumerken sei lediglich, dass die aktuelle Version des NetworkManagers in Ubuntu Lucid Lynx eigenst&#228;ndig das PAN aufbauen kann, Blueman also nicht mehr n&#246;tig ist.</p>
<h2 style="text-align: justify;">Springboardappiconsortierung</h2>
<p style="text-align: justify;">Mit iTunes 9punktIrgendwas kam die M&#246;glichkeit sein Springboard, also die Applications Icons, am Desktop zu ordnen, extrem komfortabel mit der Maus. Diese Funktionalit&#228;t gibt es &#252;ber ein Python Programm namens <a href="http://cgit.sukimashita.com/sbmanager.git/">sbmanager</a> nun auch unter Linux. Detailliertere Infos gibt es in <a href="http://fernmannblog.wordpress.com/2010/04/09/springboard-icons-sortieren-unter-linux-mit-sbmanager/">FERNmanns Blog</a>.</p>
<h2 style="text-align: justify;">Fotos</h2>
<p style="text-align: justify;">Fotos lie&#223;en sich von Anfang an vom Ger&#228;t runterladen, da es sich standardm&#228;&#223;ig als Kamera am System anmeldet. Der vollst&#228;ndige Sync, also das hochladen von Fotos, sowie das Managen der einzelnen &#8220;Filme&#8221; auf dem Ger&#228;t funktionieren noch nicht.</p>
<h2>Backup, Restore, Appinstall und weiterer Entwicklerkram</h2>
<p style="text-align: justify;">Abseits der Mainstreambed&#252;rfnisse eines Linux-iPhone OS Users gibt es aber noch weitere Anstrengungen um das Ger&#228;t besser mit Linux zu nutzen. Das gr&#246;&#223;te Problem stellt weiterhin das Backup und der Restore da: Einer der einzigen Gr&#252;nde, warum ich mein iPhone w&#246;chentlich ans iTunes h&#228;nge ist, damit ich ein Backup von Ger&#228;t habe. &#220;ber das Programm <strong>idevicebackup</strong>, welches Teil von libimobiledevice ist, soll es in Zukunft m&#246;glich sein, native iPhone OS Backups (full und incremental) zu erstellen, sowie diese auch wieder auf das Ger&#228;t zur&#252;ck zu spielen. Restore funktioniert bislang noch gar nicht, Backup nur so halb&#8230;</p>
<p style="text-align: justify;">Alle m&#246;glichen Infos zum Ger&#228;t bekommt man mit dem Programm <strong>ideviceinfo</strong>.</p>
<p style="text-align: justify;">Ist man selber Entwickler so kann man mithilfe des Programms <strong>ideviceinstaller</strong> eigene Apps auf das Ger&#228;t installieren, bzw. auch wieder l&#246;schen. Auch eventuell f&#252;r Entwickler interessant sein k&#246;nnte das Programm <strong>idevicesyslog</strong>, welches, passenden Daemon auf dem iPhone vorausgesetzt, das Syslog des iPhone streamen kann.</p>
<h2 style="text-align: justify;">iPad und iPhone OS 4.0</h2>
<p style="text-align: justify;">Das iPad ist seit kurzem auf dem Markt und verkauft sich wie geschnitten Brot (<a href="http://www.iphoneblog.de/2010/05/03/apple-verkauft-1-millionen-ipads-im-ersten-monat/">1. Millionen Ger&#228;te in den ersten 28 Tagen</a>) und auch das n&#228;chste iPhone inklusive iPhone OS 4.0 steht in den Startl&#246;chern. Wie schaut es also in Zukunft aus? Gut, das iPad wird heute schon von libimobiledevice unterst&#252;tzt und iPhone OS 4.0 laut ersten <a href="http://blog.sukimashita.com/2010/04/09/linux-the-ipad-iphone-os-4-0-and-libimobiledevice-support/">Erfahrungsberichten im Netz</a> ebenfalls, mit Ausnahme des Musiksyncs, da aufgrund des neuen Bookshops mal wieder ein neuer DB-Hash Einzug erhalten hat. Die Entwickler stellen aber in Aussicht, ihn bis zum finalen Release geknackt zu haben, so das auch die 4.0 unterst&#252;tzt wird.</p>
<h2 style="text-align: justify;">Fazit</h2>
<p style="text-align: justify;">Schaut man sich die Entwicklung der letzten drei Jahre an, kann man eigentlich nur staunen und bewundernd den Hut vor den Leuten ziehen, die das alles m&#246;glich gemacht haben. Die iPhone OS Ger&#228;te lassen sich mittlerweile sehr komfortabel unter Linux managen und mit den diversen Medien betanken. Sicherlich, es gibt noch eine Menge Baustellen, allen voran die oben angesprochene Backup- und Restoreproblematik. Auch Softwareupdates erfordern noch ein iTunes, vom erstmaligen Aktivierungsvorganges eines jeden neuen Ger&#228;tes ganz zu schweigen. Auch der Podcastbug ist mehr als nur nervig, aber so schnell wie die Entwicklung voran geht, bin ich mehr als gespannt, was uns die n&#228;chste Zeit noch so bringen wird.</p>
<p style="text-align: justify;">Ich hoffe ich konnte mit diesem Beitrag einen guten &#220;berblick &#252;ber den aktuellen Stand liefern und ein paar Fragen kl&#228;ren.</p>
<p style="text-align: justify;">Ich f&#252;r meinen Teil habe im Zuge der Artikelerstellung den Donate-Button auf der Entwicklerseite bet&#228;tigt und den Leuten 20€ zukommen lassen und kann an dieser Stelle nur dazu aufrufen ebenfalls ein wenig zu spenden, damit uns diese Leute weiterhin &#252;berraschen, zum staunen bringen, uns gl&#252;cklich machen und weiterhin spitzen Software schreiben.</p>
<p style="text-align: justify;">In diesem Sinne, ich lade dann mal die neuen Podcastfolgen auf mein iPhone, damit ich morgen auf dem Weg zur Berufsschule was zu h&#246;ren habe&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.virtualpixel.de/2010/05/06/das-iphone-os-und-linux-ein-aktueller-ueberblick/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>Mit dem Handy ins Ausland &#8211; ohne b&#246;se &#220;berraschungen!</title>
		<link>http://www.virtualpixel.de/2010/03/15/mit-dem-handy-ins-ausland-ohne-boese-ueberraschungen/</link>
		<comments>http://www.virtualpixel.de/2010/03/15/mit-dem-handy-ins-ausland-ohne-boese-ueberraschungen/#comments</comments>
		<pubDate>Mon, 15 Mar 2010 18:29:27 +0000</pubDate>
		<dc:creator>Jan</dc:creator>
				<category><![CDATA[Sonstiges]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[communityplanet]]></category>
		<category><![CDATA[Gebühren]]></category>
		<category><![CDATA[Roaming]]></category>
		<category><![CDATA[T-Mobile]]></category>

		<guid isPermaLink="false">http://www.virtualpixel.de/?p=1610</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><img src="http://www.virtualpixel.de/wp-content/uploads/2010/03/karte.jpg" alt="" /></p>
<p style="text-align: justify;">Ich muss n&#228;chste Woche beruflich f&#252;r zwei Tage ins Europ&#228;ische Ausland, genauer gesagt nach &#214;sterreich. Nat&#252;rlich werde ich mein iPhone mitnehmen, w&#252;rde aber ungern mit einer horrenden Rechnung nach Hause kommen. Ich h&#246;rte vor einiger Zeit, dass man bei T-Mobile die M&#246;glichkeit hat, seine Inklusivminuten auch im Ausland zu benutzen. Die Option hei&#223;t<a href="http://www.t-mobile.de/roaming/0,16674,20711-_,00.html"> Smart Traveller</a> und kann ohne weitere Kosten aktiviert werden, bei neueren Tarifen ist sie bereits aktiviert. Ein kurzer Anruf bei der kostenlosen Hotline 2202 (vorausgesetzt, man ruft vom Handy aus an und ist Kunde von T-Mobile) wurde die Option bei mir aktiviert und ich kann nun meine Inklusivminuten auch im Ausland verbrauchen. Zus&#228;tzlich muss man f&#252;r die ersten 60 Minuten die man angerufen wird ebenfalls nichts bezahlen. Sehr sch&#246;n, macht der rosa Riese auch mal was Positives&#8230;</p>
<p style="text-align: justify;"><span id="more-1610"></span></p>
<p style="text-align: justify;">Nun bleib aber das Problem trotzdem in die Kostenfalle zu laufen, zum Beispiel durch Datenroaming. Ab Juni diesen Jahres m&#252;ssen die Telkos eine Obergrenze f&#252;r entstandene Kosten im Ausland einf&#252;hren, welche beim Erreichen alle weiteren Anrufe und Datenverbindungen blockt und das Informieren per SMS ausl&#246;st. Der EU und dem neuen <a href="http://www.heise.de/mobil/meldung/Handy-Telefonate-und-SMS-im-EU-Ausland-werden-billiger-Update-188089.html">Roaminggesetz</a> sei dank! Daraufhin entstehen keine weiteren Kosten, es sei denn, man deaktiviert die Grenze wieder. Damit es nicht zu pl&#246;tzlich kommt, wird man beim erreichen von 80% der Grenze schon einmal per SMS informiert. Die Grenze wird im Juni bei jedem automatisch aktiviert und auf 60€ gestellt. Dabei gilt: Es gibt eine Grenze f&#252;r Datenroaming und ein Grenze f&#252;r Telefonieroaming. Dementsprechend liegt das gesetzliche Maximum dann bei 120€!</p>
<p style="text-align: justify;">Da mir diese Grenzen zu hoch sind, und au&#223;erdem noch nicht Juni ist und diese Option daher bei mir noch nicht aktiviert, habe ich es per Hotline veranlasst und jeweils auf 10€ setzen lassen. So kann ich das Roaming auf dem iPhone auch mal anschalten wenn es notwendig ist, werde daf&#252;r aber maximal 10€ bezahlen. Dasselbe gilt f&#252;r Gespr&#228;che, aber da habe ich ja mein Inklusivvolumen. Der Teil der Reisevorbereitungen ist damit abgeschlossen, &#214;sterreich ich komme!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.virtualpixel.de/2010/03/15/mit-dem-handy-ins-ausland-ohne-boese-ueberraschungen/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Aufgabenverwaltung mit &#8220;Remember The Milk&#8221; &#8211; zu Hause und Unterwegs</title>
		<link>http://www.virtualpixel.de/2010/01/17/aufgabenverwaltung-mit-remember-the-milk-zu-hause-und-unterwegs/</link>
		<comments>http://www.virtualpixel.de/2010/01/17/aufgabenverwaltung-mit-remember-the-milk-zu-hause-und-unterwegs/#comments</comments>
		<pubDate>Sun, 17 Jan 2010 21:12:21 +0000</pubDate>
		<dc:creator>Jan</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Planet]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Aufgabenverwaltung]]></category>
		<category><![CDATA[PIM]]></category>
		<category><![CDATA[RTM]]></category>
		<category><![CDATA[ToDo]]></category>

		<guid isPermaLink="false">http://www.virtualpixel.de/?p=1208</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><a href="http://www.virtualpixel.de/wp-content/uploads/2010/01/P1010439.jpg"><img class="size-full wp-image-1219" title="P1010439" src="http://www.virtualpixel.de/wp-content/uploads/2010/01/P1010439.jpg" alt="" width="550" height="181" /></a></p>
<p style="text-align: justify;">Ich bin zu meinem Leidwesen oft recht vergesslich, deswegen sind ein Kalender und eine Todoliste Pflicht f&#252;r mich. Gro&#223;e Anforderungen habe ich (eigentlich) nicht: Ich m&#246;chte eine &#220;bersicht haben, was heute zu erledigen ist, was die n&#228;chsten Tage anf&#228;llt und ich m&#246;chte es in der Cloud speichern, damit ich vom Laptop ebenso drauf zugreifen kann, wie vom iPhone. Und da beginnt das Problem. Eine Todoliste macht f&#252;r mich halt nur Sinn, wenn ich sie, in diesem Falle in Form des iPhones, immer bei mir habe bzw. von &#252;berall aus benutzen kann.</p>
<p style="text-align: justify;">Auf iPhoneseite gibt es unz&#228;hlige Aufgabenverwaltungen, von komplexen Getting-Things-Done (GTD) Anwendungen wie Things oder OmniFocus hin zu ganz einfachen Checklisten. Schaut man sich nun an, welche Programme davon in die Cloud syncen, lichtet sich der Wald schon ein wenig. Sucht man nun noch ein Programm unter Linux, welches sich mit einem Cloudservice synchronisieren kann und betrachtet die Schnittmenge, bleibt genau ein Anbieter &#252;ber: <a href="http://www.rememberthemilk.com">Remember The Milk</a> (RTM).</p>
<p style="text-align: justify;"><span id="more-1208"></span></p>
<h3 style="text-align: justify;">Remember The Milk</h3>
<p style="text-align: justify;"><a href="http://www.virtualpixel.de/wp-content/uploads/2010/01/logo2.png"><img class="size-full wp-image-1240" style="margin-left: 30px; margin-bottom: 30px; float: right;" title="logo2" src="http://www.virtualpixel.de/wp-content/uploads/2010/01/logo2.png" alt="" width="188" height="83" /></a>RTM ist kein Getting-Things-Done-Tool, sondern eher eine erweiterte Aufgabenverwaltung. Prinzipiell ist es erstmal ein Webservice. Es werden Tags und Listen unterst&#252;tzt, man kann F&#228;lligkeitstermine, auch sich wiederholende, festlegen und sich &#252;ber diverse Wege daran erinnern lassen, Zeitsch&#228;tzungen zur Dauer der Aufgabenerledigung angeben. und Notizen zu den Aufgaben hinterlegen. Die Standardansicht im Webfrontend zeigt einem an, was man heute zu tun hat, bzw. welche Aufgaben bereits &#252;berf&#228;llig sind. So stelle ich mir das vor: Eine Aufgabe eintragen, den Kopf frei machen f&#252;r was anderes und im richtigen Moment daran erinnert werden. Ausserdem gibt es eine API, so dass man auch mit Clientprogrammen seine Aufgaben verwalten kann, was uns zum n&#228;chsten Punkt bringt.</p>
<h3 style="text-align: justify;">Tasque</h3>
<p style="text-align: justify;"><a href="http://www.virtualpixel.de/wp-content/uploads/2010/01/tasque-0.1.8.png"><img class="size-medium wp-image-1222" style="margin-left: 30px; margin-bottom: 30px; float:right;" title="tasque-0.1.8" src="http://www.virtualpixel.de/wp-content/uploads/2010/01/tasque-0.1.8-255x300.png" alt="http://live.gnome.org/Tasque" width="204" height="240" /></a>Auf Linuxseite benutze ich das Programm <a href="http://live.gnome.org/Tasque">Tasque</a>. Super einfache Bedienung und es synchronisiert sich sehr gut mit RTM. Listen werden unterst&#252;tzt, Tags allerdings nicht. (F&#252;r mich irrelevant).<br />
Tasque besticht durch seine Schlicht- und Einfachheit. Es ist in einer aktuellen Version in den Paketquellen von Ubuntu enthalten und kann dementsprechend einfach installiert werden.<br />
Seit Version 0.2 unterst&#252;tzt nun auch <a href="http://gtg.fritalk.com/post/2009/12/10/The-new-Getting-Things-GNOME!-0.2-Gorignak-has-landed!">Getting Things Gnome </a>(GTG) den Sync mit RTM &#252;ber ein Plugin des neuen Pluginsystems. GTG ist allerdings irgendwie nicht mein Fall, aber das ist wohl Geschmackssache. Ausserdem kann es sein vollen Funktionsumfang in Verbindung mit RTM leider auch nicht ausspielen. Projekte und Unterprojekte als Beispiel sind nicht m&#246;glich, da dies seitens RTM nicht unterst&#252;tzt wird.</p>
<h3 style="text-align: justify;">Unterwegs</h3>
<p style="text-align: justify;"><a href="http://www.virtualpixel.de/wp-content/uploads/2010/01/1072-200811070500135.jpg"><img class="size-medium wp-image-1228" style="margin-left: 30px; margin-bottom: 30px; float: right;" title="1072-200811070500135" src="http://www.virtualpixel.de/wp-content/uploads/2010/01/1072-200811070500135-200x300.jpg" alt="" width="200" height="300" /></a>RTM versteht sich auf der mobilen Seite <a href="http://www.rememberthemilk.com/services/">mit allen gro&#223;en System</a>, vom iPhone, &#252;ber Android und Symbian bis hin zu Windows Mobile, f&#252;r die es jeweils eine native App direkt von RTM gibt. Allerdings w&#228;ren wir damit auch schon beim Knackpunkt der Geschichte. Der Mobilesync erfordert eine <a href="http://www.rememberthemilk.com/upgrade/">RTM Pro-Mitgliedschaft</a>, welche 25$ pro Jahr kostet. Ich habe einen guten Wechselkurs erwischt und habe umgerechnet 16€ bezahlt. Die Pro-Mitgliedschaft kann, inklusive der Anwendung auf dem mobilen Ger&#228;t f&#252;r 14 Tage lang kostenlos getestet werden.</p>
<p style="text-align: justify;">Die Anwendung auf dem iPhone ist allererste Sahne, wenn ich das mal so salopp ausdr&#252;cken darf. Da sie direkt von RTM ist, werden selbstverst&#228;ndlich alle Funktionen hervorragend unterst&#252;tzt. Die RTM-App ist also  ein Pflichtdownload f&#252;r das mobile Ger&#228;t, um einiges voraus vor allen anderen Apps, die unterwegs ebenfalls RTM-Sync versprechen.</p>
<p style="text-align: justify;">Die iPhone App bedient sich des Apple Push-Notification-Dienstes, um die Anzahl der heute zu erledigenden Aufgaben in einer kleinen Badge auf dem Icon anzuzeigen und um einen zur selbst festgelegten Zeit an die Aufgaben per PopUp und Kuhglockensound zu erinnern.</p>
<h3 style="text-align: justify;">Fazit</h3>
<p style="text-align: justify;">Ich bin hoch zufrieden und bereue keinen Tag die Pro-Mitgliedschaft erworben zu haben. RTM nimmt mir einiges an Arbeit ab und ich kann mich auf die wichtigen Sachen konzentrieren ohne irgendwas zu vergessen &#8211; man l&#228;uft nicht mehr so vergesslich und verplant durchs Leben. Die Synchronisation von Linux, &#252;ber den Webservice bis zum iPhone klappt ohne Probleme. Und die kleine Badge auf dem iPhone, immer sichtbar im Dock, erzeugt ein so ungeheuer schlechtes Gewissen, wen man mal etwas aufgeschoben hat&#8230;.</p>
<p style="text-align: justify;">
]]></content:encoded>
			<wfw:commentRss>http://www.virtualpixel.de/2010/01/17/aufgabenverwaltung-mit-remember-the-milk-zu-hause-und-unterwegs/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Natives iPhone Tethering unter Linux</title>
		<link>http://www.virtualpixel.de/2010/01/08/natives-iphone-tethering-unter-linux/</link>
		<comments>http://www.virtualpixel.de/2010/01/08/natives-iphone-tethering-unter-linux/#comments</comments>
		<pubDate>Fri, 08 Jan 2010 12:44:22 +0000</pubDate>
		<dc:creator>Jan</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Planet]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[tethering]]></category>

		<guid isPermaLink="false">http://www.virtualpixel.de/?p=1176</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><a href="http://www.virtualpixel.de/wp-content/uploads/2010/01/P1010419.jpg"><img class="size-full wp-image-1193" title="P1010419" src="http://www.virtualpixel.de/wp-content/uploads/2010/01/P1010419.jpg" alt="" width="550" height="229" /></a></p>
<p style="text-align: justify;">Nachdem die native Tetheringfunktion auf meinem iPhone Classic nun <a href="http://www.virtualpixel.de/iphone/tethering-aktivieren-auf-dem-iphone-2g">endlich aktiviert ist</a>, will sie nat&#252;rlich auch genutzt werden. Doch wie schaut es aus unter Linux, bzw. Ubuntu mit Gnome im Speziellen? Ich nehme das Ergebnis mal vorweg: perfekt!</p>
<p style="text-align: justify;">Vorweg sei gesagt: F&#252;r das nachfolgende braucht man KEINEN Jailbreak! Bei mir war er nur n&#246;tig um die Tetheringoption freizuschalten. F&#252;r iPhone 3G und 3GS die Tethering aktiviert haben, geht es ohne!</p>
<p style="text-align: justify;">Das iPhone kennt zwei M&#246;glichkeiten des Tetherings: &#252;ber das USB-Kabel und &#252;ber Bluetooth. USB w&#228;re die bessere M&#246;glichkeit, da es definitiv akkuschonender ist, also dort mal zuerst geschaut. <span style="text-decoration: line-through;">Ziemlich schnell war klar, das es relativ aussichtslos  sein w&#252;rde, da unter Windows und OSX ein neuer, propriet&#228;rer Netzwerkadapter angelegt wird und es daf&#252;r bislang keine Treiber gibt um ihn auch unter Linux zu benutzen. Bleibt also noch Bluetooth.</span></p>
<p style="text-align: justify;"><span style="text-decoration: line-through;"><br />
</span></p>
<p><span id="more-1176"></span></p>
<p style="text-align: justify;"><strong><span style="color: #ff0000;">Update 1 (ungetestet):</span></strong></p>
<p style="text-align: justify;"><strong><span style="color: #ff0000;"> </span></strong><em> Ich bekam gerade folgenden link zugeschickt: </em><a href="http://giagio.com/wiki/moin.cgi/iPhoneEthernetDriver"><em>iPhoneEthernetDriver</em></a><em> Damit soll auch das USB-Tethering m&#246;glich sein, durch ein neues Kernel Modul.</em></p>
<p style="text-align: justify;"><span style="color: #339966;"><strong>Update 2 (getestet):</strong></span></p>
<p style="text-align: justify;"><em>Der obige Link funktioniert! Damit hat man dann auch USB-Tethering <img src='http://www.virtualpixel.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Dennoch finde ich Bluetooth (vorausgesetzt, es geht nicht um jede Minute Akkuleistung) irgenwie charmanter, so ganz ohne Kabel&#8230; (Danke Michi!)</em></p>
<p style="text-align: justify;">&#220;ber Bluetooth wird ein <a href="http://de.wikipedia.org/wiki/Personal_Area_Network">Personal Area Network</a> aufgebaut (PAN). Dies ist ein standardisiertes Verfahren und sollte daher ohne Probleme funktionieren.</p>
<p style="text-align: justify;">Es gibt zwei Wege, die Bluetooth-PAN Verbindung zu nutzen: mit dem NetworkManager oder ohne NetworkManager. Bei beiden Methoden muss das iPhone mit dem PC gepaired sein, wovon ich im Folgenden einfach ausgehe (Bei Problemen: <a href="http://wiki.ubuntuusers.de/Bluetooth">Bluetooth im ubuntuusers.de Wiki</a>). Wer den NetworkManager nutzt, kann gleich zu Methode 2 gehen.</p>
<h3 style="text-align: justify;">Methode 1: Ohne NetworkManager</h3>
<p style="text-align: justify;">Daf&#252;r muss die Bluetoothverbindung und das PAN manuell erstellt werden. Zuerst muss die Hardwareadresse des iPhone rausgefunden werden:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">hcitool scan</pre></div></div>

<p style="text-align: justify;">Oder man schaut unter﻿ Einstellungen -&gt; Allgemein -&gt; Info am iPhone.</p>
<p style="text-align: justify;">Nun baut man zuerst das PAN auf (statt 00:00&#8230; seine eigene Adresse einsetzen):</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">pand <span style="color: #660033;">-c</span> 00:00:00:00:00:00 <span style="color: #660033;">-n</span></pre></div></div>

<p style="text-align: justify;">Danach das neue erstellte Interface hochfahren:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">ifconfig</span> bnep0 up</pre></div></div>

<p style="text-align: justify;">Und sich per DHCP eine IP-Adresse vom iPhone holen:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">dhclient bnep0</pre></div></div>

<p style="text-align: justify;">Dies kann man sich auch zuk&#252;nftig ersparen, in dem man folgende Zeile in die <strong>/etc/network/interfaces</strong> eintr&#228;gt:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">iface bnep0 inet dhcp</pre></div></div>

<p style="text-align: justify;">Nun sollte man &#252;ber das iPhone online sein! Um die Verbindung wieder abzubauen, einfach folgendes eingeben:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">ifconfig</span> bnep0 down
pand <span style="color: #660033;">-K</span></pre></div></div>

<p style="text-align: justify;">Das ganze geht auch etwas komfortabler mit einem Script (bei mir unter /usr/local/bin/tether):</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/sh</span>
&nbsp;
<span style="color: #007800;">pand</span>=<span style="color: #ff0000;">'/usr/bin/pand'</span>
<span style="color: #007800;">ifup</span>=<span style="color: #ff0000;">'/sbin/ifup'</span>
<span style="color: #007800;">ifdown</span>=<span style="color: #ff0000;">'/sbin/ifdown'</span>
<span style="color: #007800;">phone_address</span>=<span style="color: #ff0000;">'00:1C:B3:56:34:C6'</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">case</span> <span style="color: #ff0000;">&quot;$1&quot;</span> <span style="color: #000000; font-weight: bold;">in</span>
&nbsp;
  start<span style="color: #7a0874; font-weight: bold;">&#41;</span>
&nbsp;
        <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Connecting to iPhone : &quot;</span>
        <span style="color: #007800;">$pand</span> <span style="color: #660033;">--connect</span> <span style="color: #007800;">$phone_address</span> <span style="color: #660033;">-n</span>
        <span style="color: #c20cb9; font-weight: bold;">sleep</span> <span style="color: #000000;">2</span>
        <span style="color: #007800;">$ifup</span> bnep0
        <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;done.&quot;</span>
   <span style="color: #000000; font-weight: bold;">;;</span>
&nbsp;
  stop<span style="color: #7a0874; font-weight: bold;">&#41;</span>
&nbsp;
        <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Disconnecting from iPhone : &quot;</span>
        <span style="color: #007800;">$ifdown</span> bnep0
        <span style="color: #c20cb9; font-weight: bold;">sleep</span> <span style="color: #000000;">2</span>
        <span style="color: #007800;">$pand</span> <span style="color: #660033;">-K</span>
        <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;done.&quot;</span>
   <span style="color: #000000; font-weight: bold;">;;</span>
&nbsp;
  <span style="color: #000000; font-weight: bold;">*</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
&nbsp;
        <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Usage: tether { start | stop  }&quot;</span>
&nbsp;
        <span style="color: #7a0874; font-weight: bold;">exit</span> <span style="color: #000000;">1</span>
&nbsp;
   <span style="color: #000000; font-weight: bold;">;;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">esac</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">exit</span> <span style="color: #000000;">0</span></pre></div></div>

<h3 style="text-align: justify;">Methode 2: Mit NetworkManager</h3>
<p style="text-align: justify;">Wenn man den NetworkManager benutzt, was man per default macht wenn man ein aktuelles Ubuntu einsetzt, dann kommt man mit der obigen Methode nicht weit, da viele Programme, darunter auch der Firefox, darauf warten, dass der NetworkManager das &#8220;online&#8221; Signal gibt. Da er allerdings vom Konsolengetippe nichts mitbekommt, ist man noch &#8220;offline&#8221;.</p>
<p style="text-align: justify;">Leider klappt es nicht von Haus aus mit dem Gnome Bluetooth Manager. Es gibt allerdings einen, in meinen Augen wesentlich besseren Ersatz f&#252;r diesen: <a href="http://blueman-project.org/">Blueman</a></p>
<p style="text-align: justify;">In Karmic ist er erfreulicherweise in den offiziellen Paketquellen enthalten, leider aber sehr veraltet. Um das Tethering benutzen zu k&#246;nnen ben&#246;tigt man eine aktuelle Version aus <strong>ppa:blueman/ppa</strong></p>
<p style="text-align: justify;">Nach einem beherzten <strong>apt-get update</strong> und <strong>apt-get install blueman</strong> wird der alte Gnome Bluetoothmanager gel&#246;scht und durch Blueman ersetzt.</p>
<p><a href="http://www.virtualpixel.de/wp-content/uploads/2010/01/screenshot_004.png"><img class="size-full wp-image-1184" title="screenshot_004" src="http://www.virtualpixel.de/wp-content/uploads/2010/01/screenshot_004.png" alt="" width="550" height="214" /></a></p>
<p style="text-align: justify;">Nun kann man das iPhone als neues Ger&#228;t einrichten. Nachdem man dies getan und dem iPhone in Blueman vertraut hat, kann man mittels Rechtsklick auf das Ger&#228;t in der Ger&#228;teliste das Tethering mit Aktivierung des Network Acces Points starten. Der Rest sollte automatisch geschen: Es wird eine neue Verbindung im NetworkManager angelegt und aktiviert, es wird sich per DHCP eine Adresse geholt und die Routen werden gesetzt; man ist online, technisch und, was viel wichtiger ist, auch aus Sicht des networkManagers.</p>
<p style="text-align: justify;">Das einzige was nun zuk&#252;nftig getan werden muss, um eine Verbindung aufzubauen ist in meinem Falle ein Rechtsklick auf das Blueman Trayicon -&gt; Letzte Verbindungen -&gt; Netzwerkzugriff auf Jan&#8217;s iPhone</p>
<p style="text-align: justify;">Nat&#252;rlich sind nicht alle Sachen von mir herausgefunden worden. Leider ist mir der Firefox abgest&#252;rzt und die Tabs sind weg. Daher kann ich keine Quellenangaben der (meist englischen) Seiten geben. Daher geht mein Dank an das gro&#223;e, weite, allwissende Internet im Allgemeinen! Ich hoffe auf euer Verst&#228;ndniss.</p>
<p><strong><br />
</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.virtualpixel.de/2010/01/08/natives-iphone-tethering-unter-linux/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Tethering aktivieren auf dem iPhone 2G</title>
		<link>http://www.virtualpixel.de/2010/01/08/tethering-aktivieren-auf-dem-iphone-2g/</link>
		<comments>http://www.virtualpixel.de/2010/01/08/tethering-aktivieren-auf-dem-iphone-2g/#comments</comments>
		<pubDate>Fri, 08 Jan 2010 10:09:02 +0000</pubDate>
		<dc:creator>Jan</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[2G]]></category>
		<category><![CDATA[Classic]]></category>
		<category><![CDATA[communityplanet]]></category>
		<category><![CDATA[tethering]]></category>

		<guid isPermaLink="false">http://www.virtualpixel.de/?p=1158</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.virtualpixel.de/wp-content/uploads/2010/01/P1010416.JPG"><img class="size-full wp-image-1159" title="P1010416" src="http://www.virtualpixel.de/wp-content/uploads/2010/01/P1010416.JPG" alt="P1010416" width="550" height="188" /></a></p>
<p style="text-align: justify;"><a href="http://www.virtualpixel.de/wp-content/uploads/2010/01/P1010416.JPG"></a>Mit der Firmwareversion 3.0 des iPhone OS bekam es die M&#246;glichkeit des &#8220;Tetherns&#8221; spendiert. (Welche wohl &#252;brigens schon, versteckt,  seit 1.0 implementiert gewesen sein soll&#8230;) Tethering bedeutet, dass das iPhone als Modem f&#252;r einen Computer fungieren kann, also seine Internetverbindung mit ihm teilt. Als die Ank&#252;ndigung letztes Jahr gemacht wurde, freute ich mich tierisch, musste ich doch bislang immer mein altes Nokia noch mitnehmen um unterwegs online zu sein. Doch zu fr&#252;h gefreut; Tethering sollte nur f&#252;r die 3G Modelle verf&#252;gbar sein. Fadenscheinige Begr&#252;ndung f&#252;r diese Entscheidung war, dass EDGE zu langsam ist. Mal davon abgesehen, dass zwei Jahre zuvor EDGE besser war als geschnitten Brot und man auch davor schon Jahre lang &#8220;getethered&#8221; hatte, verstehe ich solche Marketingentscheidungen einfach nicht.</p>
<p style="text-align: justify;">Es hatte allerdings auch was gutes, dass es lediglich eine Marketingentscheidung war. Man konnte damit davon ausgehen, dass es keine technische Beschr&#228;nkung gibt, sondern nur eine Softwareseitige. Und das sollte sich umgehen lassen! Ich machte mich also auf die Suche im World Wide Web und traf auf viele Leute und Threads die eben dieses Ziel vor Augen hatten. Leider ohne Gl&#252;ck bis dato. Es schien doch nicht so einfach zu sein wie gedacht und ich verlor es mit der Zeit aus den Augen. (Nichts desto trotz<a href="http://www.virtualpixel.de/allgemeines/das-iphone-als-modem-unter-linux-ohne-proxy-per-usb-kabel-und-auch-das-2g"> fand ich eine L&#246;sung</a> das iPhone zu tethern, wenn auch etwas umst&#228;ndlich, aber zumindest recht geekig)</p>
<p style="text-align: justify;"><span id="more-1158"></span></p>
<p style="text-align: justify;">Vor zwei Tagen, las ich folgendes von <a href="https://twitter.com/Schimmelkolonie">@schimmelkolonie</a>:</p>
<blockquote style="text-align: justify;"><p>Woot! iPhone tethering auf dem Classic 2G, schreibe damit gerade diesen Tweet!</p></blockquote>
<p style="text-align: justify;">Meine Neugier war geweckt und ich bat ihn um n&#228;here Infos. Wir tauschten uns kurz aus und er versprach einen Blogartikel dr&#252;ben bei <a href="http://www.schimmelkolonie.de">schimmelkolonie.de</a> zu verfassen. Es dauert genau einen Tag und <a href="http://www.schimmelkolonie.de/?p=1121">Tethering mit dem iPhone 2g / Classic</a> war online. Michi beschreibt dort sehr sch&#246;n die Hintergr&#252;nde und die Infos, welche man braucht um tethering auf einem 2G zu aktivieren. Inklusive s&#228;mtlicher Threads in den diversen Foren. Dazu m&#246;chte ich noch zwei Dinge anmerken:</p>
<ol style="text-align: justify;">
<li>Es gibt keine 100%ige Schritt-f&#252;r-Schritt-Anleitung des Ganzen. Ich hatte &#252;berlegt eine solche zu verfassen, den Gedanken dann aber wieder verworfen. Grund: Wer es mit den gegebenen Informationen nicht alleine schafft, der sollte lieber die Finger davon lassen bevor er sein iPhone funktionsunf&#228;hig macht.</li>
<li>Am Ende beschreibt Michi &#196;nderungen an seiner carrier.plist. Ich brauchte diese &#196;nderungen nicht vorzunehmen. Ein Grund k&#246;nnte sein, dass ich ein original T-Mobile iPhone inklusive Vertrag besitze und er eines mit O2 Vertrag. Also erst schauen ob es auch ohne funktioniert!</li>
</ol>
<p style="text-align: justify;">Zum Schluss m&#246;chte ich mich noch einmal ganz ganz ganz dolle bei Michi bedanken, endlich kann das Nokia in der Schublade bleiben!</p>
<p style="text-align: justify;"><strong>Und wie schaut es aus mit Linux?</strong></p>
<p style="text-align: justify;">Nat&#252;rlich ist diese Frage f&#252;r mich fast noch wichtiger, aber ich kann sagen: es funktioniert &#252;ber Bluetooth komplett transparent mit dem NetworkManager in Ubuntu! Aber dazu heute im Laufe des Tages ein gesonderter Artikel.</p>
<p style="text-align: justify;">
]]></content:encoded>
			<wfw:commentRss>http://www.virtualpixel.de/2010/01/08/tethering-aktivieren-auf-dem-iphone-2g/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Das iPhone als Modem &#8211; unter Linux, ohne Proxy, per USB-Kabel und auch das 2G</title>
		<link>http://www.virtualpixel.de/2009/07/18/das-iphone-als-modem-unter-linux-ohne-proxy-per-usb-kabel-und-auch-das-2g/</link>
		<comments>http://www.virtualpixel.de/2009/07/18/das-iphone-als-modem-unter-linux-ohne-proxy-per-usb-kabel-und-auch-das-2g/#comments</comments>
		<pubDate>Fri, 17 Jul 2009 22:35:45 +0000</pubDate>
		<dc:creator>Jan</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Planet]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[PPP]]></category>
		<category><![CDATA[tethering]]></category>
		<category><![CDATA[USB]]></category>

		<guid isPermaLink="false">http://www.virtualpixel.de/?p=924</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<div id="iphonestatus">
<h3>ACHTUNG:</h3>
<p>bitte vorher auf die <a href="http://www.virtualpixel.de/das-iphone-und-linux-aktueller-stand">&#220;bersichtsseite zum Thema iPhone &amp; Linux</a> schauen. Es gibt mittlerweile die M&#246;glichkeit das native iPhone OS 3 Tethering auf einem 2G zu aktivieren und es unter Linux zu nutzen, per Bluetooth und per USB!</p>
</div>
<p style="text-align: justify;">Seit iPhone OS 3.0 gibt es die M&#246;glichkeit des &#8220;Tetherings&#8221;, auf gut deutsch: die Nutzung des iPhones als UMTS-Modem. Wie das nun genau funktioniert, und ob es &#252;berhaupt mit Linux funktioniert kann ich leider nicht testen, da ich noch das iPhone Classic besitze, welches aus <span style="text-decoration: line-through;">marketing</span> &#8220;technischen&#8221; Gr&#252;nden diese Funktion nicht besitzt.</p>
<p style="text-align: justify;">Wie dem auch sei, es muss eine L&#246;sung her! Bislang bin ich &#252;ber ein altes Nokia 6300 unterwegs ins Internet gegangen, MultiSim sei dank. Aber richtig prickelnd ist das nicht. Besser w&#228;re es, das iPhone daf&#252;r zu benutzen. Ausserdem sollte es nicht WLAN-basierend sein, sondern &#252;ber das USB-Kabel funktionieren, damit sich das iPhone vom Laptop mit Strom versorgen kann und nicht in 2 Stunden leer gesaugt ist.</p>
<p style="text-align: justify;">Zum Gl&#252;ck ist das Internet gro&#223; und voller Informationen, so dass man das Rad nicht neu erfinden muss. Daher geht der ganze Dank f&#252;r diesen Artikel auch an snap_b, der <a href="http://forums.whirlpool.net.au/forum-replies-archive.cfm/1140635.html">hier</a> den Gro&#223;teil der Anleitung auf English ver&#246;ffentlicht hat.</p>
<p style="text-align: justify;">Ziel ist es, eine PPP-Verbindung &#252;ber SSH aufzubauen.</p>
<p style="text-align: justify;">Ich werde nun im Folgenden den Artikel &#252;bersetzen und mit einem kleinem Script am Ende versehen, damit das Ganze etwas komfortabler wird.</p>
<p><span id="more-924"></span></p>
<p><span style="color: #ff0000;"><strong>Alle Befehle m&#252;ssen als Root ausgef&#252;hrt werden!</strong></span></p>
<h2>Schritt 1: iTunnel</h2>
<p style="text-align: justify;">iTunnel erm&#246;glicht es, eine SSH-Verbindung aufs iPhone &#252;ber das USB-Kabel herzustellen. Man l&#228;d es <a href="http://www.cs.toronto.edu/~jingsu/itunnel/">hier</a> runter und entpackt es nach <strong>/opt/itunnel</strong></p>
<p>Eine Installation ist nicht notwendig.</p>
<p>Nun wird iTunnel kurz getestet (als Root!):</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">/</span>opt<span style="color: #000000; font-weight: bold;">/</span>itunnel<span style="color: #000000; font-weight: bold;">/</span>itunnel</pre></div></div>

<p>Es sollte folgendes zu sehen sein:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">get_iPhone<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> success
- successfully got device
server waiting <span style="color: #000000; font-weight: bold;">for</span> <span style="color: #c20cb9; font-weight: bold;">ssh</span> connection</pre></div></div>

<p>Auf einer zweiten Konsole stellt man nun eine SSH-Verbindung her:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">ssh</span> <span style="color: #660033;">-p</span> <span style="color: #000000;">3023</span> localhost</pre></div></div>

<p>Wie man sieht, stellt iTunnel eine SSH-Verbindung auf localhost mit Port 3023 bereit. Nun sollte man in der Konsole des iPhones sein.</p>
<h2>Schritt 2: Passwortloser Zugriff</h2>
<p style="text-align: justify;">Damit man nicht jedesmal sein Passwort eingeben muss, werden nun SSH-Keys ausgetauscht. Dazu wird zuerst ein Key auf dem Host erstellt:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">ssh-keygen</span></pre></div></div>

<p>dabei k&#246;nnen alle Abfragen einfach mit Enter best&#228;tigt werden!</p>
<p>als n&#228;chstes muss auf dem iPhone etwas getan werden:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">ssh</span> <span style="color: #660033;">-p</span> <span style="color: #000000;">3023</span> localhost
<span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>root<span style="color: #000000; font-weight: bold;">/</span>.ssh</pre></div></div>

<p style="text-align: justify;">normalerweise w&#252;rde jetzt einfach der SSH-Key mit scp kopiert werden, da es leider mit der Firmware 3.0 des iPhones und der aktuellen iTunnel Version ein Problem gibt, ist es nicht M&#246;glich etwas vom Host auf das iPhone per scp zu kopieren. Deswegen habe ich den &#8220;Umweg&#8221; &#252;ber iFuse genommen. Wie das geht steht <a href="http://www.virtualpixel.de/linux/iphone-und-linux-fast-ohne-jailbreak">hier</a>.</p>
<p style="text-align: justify;">Hat man das iPhone &#252;ber iFuse eingebunden, zum Beispiel unter <strong>/media/iPhone</strong> dann kann man nun die Keys kopieren.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">cp</span> <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>root<span style="color: #000000; font-weight: bold;">/</span>.ssh<span style="color: #000000; font-weight: bold;">/</span>id_rsa.pub <span style="color: #000000; font-weight: bold;">/</span>media<span style="color: #000000; font-weight: bold;">/</span>iPhone<span style="color: #000000; font-weight: bold;">/</span>private<span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>root<span style="color: #000000; font-weight: bold;">/</span>.ssh<span style="color: #000000; font-weight: bold;">/</span></pre></div></div>

<p>Nun wieder zur&#252;ck zum iTunnel und ab aufs iPhone. Dort dann folgendes Copy&amp;Pasten:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">mv</span> <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>root<span style="color: #000000; font-weight: bold;">/</span>.ssh<span style="color: #000000; font-weight: bold;">/</span>id_rsa.pub <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>root<span style="color: #000000; font-weight: bold;">/</span>.ssh<span style="color: #000000; font-weight: bold;">/</span>authorized_keys2
<span style="color: #c20cb9; font-weight: bold;">chmod</span> <span style="color: #000000;">755</span> <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>root
<span style="color: #c20cb9; font-weight: bold;">chmod</span> <span style="color: #000000;">700</span> <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>root<span style="color: #000000; font-weight: bold;">/</span>.ssh
<span style="color: #c20cb9; font-weight: bold;">chmod</span> <span style="color: #000000;">644</span> <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>root<span style="color: #000000; font-weight: bold;">/</span>.ssh<span style="color: #000000; font-weight: bold;">/</span>authorized_keys2
<span style="color: #7a0874; font-weight: bold;">exit</span></pre></div></div>

<p>Nun sollte man sich mit:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">ssh</span> <span style="color: #660033;">-p</span> <span style="color: #000000;">3023</span> localhost</pre></div></div>

<p>auf sein iPhone einloggen k&#246;nnen, ohne das ein Passwort verlangt wird.</p>
<h2>Schritt 3: slirp und terminal</h2>
<p style="text-align: justify;">Auf iPhone Seite braucht man zum einen das Programm slirp welches eine PPP-Verbindung &#252;ber eine SSH-Verbindung erstellen kann und zum anderen das Programm Terminal, damit man slirp auch starten kann <img src='http://www.virtualpixel.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Beide sind &#252;ber Cydia erh&#228;ltlich.</p>
<h2>Schritt 4: Das PPP-Script</h2>
<p>Das Script f&#252;r die PPP-Verbindung erstellen:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">touch</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>itether</pre></div></div>

<p>und folgendes reinschreiben:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/sh</span>
<span style="color: #007800;">IP</span>=<span style="color: #ff0000;">&quot;10.0.2.15:10.0.2.2&quot;</span>
<span style="color: #007800;">NETMASK</span>=<span style="color: #ff0000;">&quot;255.255.255.0&quot;</span>
<span style="color: #007800;">BAUD</span>=<span style="color: #ff0000;">&quot;115200&quot;</span>
<span style="color: #007800;">DEBUG</span>=<span style="color: #ff0000;">&quot;debug logfile /tmp/ppp.log&quot;</span>
<span style="color: #007800;">COMPRESS</span>=<span style="color: #ff0000;">&quot;&quot;</span>
<span style="color: #007800;">PTY</span>=<span style="color: #ff0000;">&quot;env SSH_AUTH_SOCK=/tmp/501/SSHKeychain.socket ssh -t root@localhost -p 3023 /usr/bin/slirp -P -b <span style="color: #007800;">$BAUD</span>&quot;</span>
&nbsp;
pppd <span style="color: #007800;">$IP</span> netmask <span style="color: #007800;">$NETMASK</span> <span style="color: #007800;">$BAUD</span> <span style="color: #7a0874; font-weight: bold;">local</span> noauth defaultroute <span style="color: #007800;">$DEBUG</span> usepeerdns pty <span style="color: #ff0000;">&quot;<span style="color: #007800;">$PTY</span>&quot;</span></pre></div></div>

<h2>Schritt 4: Die Start und Stop-Scripte:</h2>
<p>Das Script f&#252;r den Verbindungsaufbau erstellen:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">touch</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>istart</pre></div></div>

<p>und folgendes reinschreiben:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/bash</span>
<span style="color: #000000; font-weight: bold;">/</span>opt<span style="color: #000000; font-weight: bold;">/</span>itunnel<span style="color: #000000; font-weight: bold;">/</span>itunnel<span style="color: #000000; font-weight: bold;">&amp;</span>
<span style="color: #c20cb9; font-weight: bold;">sleep</span> <span style="color: #000000;">2</span>
itether<span style="color: #000000; font-weight: bold;">&amp;</span>
<span style="color: #c20cb9; font-weight: bold;">sleep</span> <span style="color: #000000;">4</span>
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;nameserver 208.67.222.222&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>resolv.conf
<span style="color: #000000; font-weight: bold;">while</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> TRUE <span style="color: #7a0874; font-weight: bold;">&#93;</span>
<span style="color: #000000; font-weight: bold;">do</span>
<span style="color: #c20cb9; font-weight: bold;">sleep</span> <span style="color: #000000;">5</span>
<span style="color: #000000; font-weight: bold;">done</span></pre></div></div>

<p>Das Script f&#252;r den Verbindungsabbau:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">touch</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>istop</pre></div></div>

<p>und folgendes reinschreiben:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/bash</span>
<span style="color: #c20cb9; font-weight: bold;">killall</span> pppd <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> <span style="color: #c20cb9; font-weight: bold;">killall</span> itunnel</pre></div></div>

<h2>Schritt 5: Die Verbindung herstellen</h2>
<p style="text-align: justify;"><span style="text-decoration: line-through;">Zuerst wird auf dem iPhone slirp gestartet. Dazu einfach die Terminal App &#246;ffnen, <strong>slirp</strong> eingeben, enter dr&#252;cken und Terminal App wieder schlie&#223;en. Slirp bleibt solange gestartet, bis es beendet wird, oder das iPhone neustartet.</span></p>
<p style="text-align: justify;">Wie sich herausgestellt hat, ist es nicht n&#246;tig auf dem iPhone zuerst slirp zu starten! Allerdings gibt es das Problem, dass das istart Script erst beim zweiten mal funktioniert, wenn das iPhone oder der PC nach der letzten Verbindung neugestartet wurden&#8230; Jemand eine Idee warum?<span style="text-decoration: line-through;"><br />
</span></p>
<p style="text-align: justify;">Nun braucht nur noch das Script <strong>istart</strong> als Root aufgerufen werden und nach ca 10 Sekunden sollte man &#252;ber das iPhone online sein!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.virtualpixel.de/2009/07/18/das-iphone-als-modem-unter-linux-ohne-proxy-per-usb-kabel-und-auch-das-2g/feed/</wfw:commentRss>
		<slash:comments>50</slash:comments>
		</item>
		<item>
		<title>[2. update] iPhone und Linux &#252;ber USB &#8211; (fast) ohne Jailbreak!</title>
		<link>http://www.virtualpixel.de/2009/04/17/iphone-und-linux-fast-ohne-jailbreak/</link>
		<comments>http://www.virtualpixel.de/2009/04/17/iphone-und-linux-fast-ohne-jailbreak/#comments</comments>
		<pubDate>Fri, 17 Apr 2009 17:54:12 +0000</pubDate>
		<dc:creator>Jan</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Planet]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[JailBreak]]></category>
		<category><![CDATA[USB]]></category>

		<guid isPermaLink="false">http://www.virtualpixel.de/?p=738</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<div id="iphonestatus">
<h3>ACHTUNG:</h3>
<p>bitte vorher auf die <a href="http://www.virtualpixel.de/das-iphone-und-linux-aktueller-stand">&#220;bersichtsseite zum Thema iPhone &#038; Linux</a> schauen, ob es evtl einen neueren Artikel zu diesem Thema gibt!
</div>
<p style="text-align: justify;"><a href="http://www.virtualpixel.de/wp-content/uploads/2009/04/iphone_usb.png"><img class="alignright size-full wp-image-747" title="iphone_usb" src="http://www.virtualpixel.de/wp-content/uploads/2009/04/iphone_usb.png" alt="iphone_usb" width="201" height="300" /></a>Und wieder einen Schritt weiter auf dem Weg zur perfekten iPhone Unterst&#252;tzung unter Linux. Bislang brauchte man ein geknacktes iPhone um auf das Ger&#228;t zugreifen zu k&#246;nnen. Ausserdem war dies nur &#252;ber WLAN m&#246;glich. Diese H&#252;rde ist nun genommen, man braucht keinen JailBreak mehr und WLAN entf&#228;llt zugunsten des USB-Kabels. Nunja, dies ist zumindest fast richtig. M&#246;chte man Musik auf das Ger&#228;t bekommen, so ist ein JailBreak (noch) unerl&#228;sslich. Dazu aber sp&#228;ter mehr.</p>
<p style="text-align: justify;">Vor einiger Zeit wurde ich in den Kommentaren zu <a href="http://www.virtualpixel.de/linux/amarok-rockt-das-iphone-musik-synchronisieren-ohne-itunes">Amarock rockt das iPhone &#8211; Musik synchronisieren ohne iTunes</a> auf das Projekt <a href="http://matt.colyer.name/projects/iphone-linux/index.php?title=Main_Page">iFuse</a> aufmerksam. Das Projekt hat sich zum Ziel gesetzt das iPhone &#252;ber USB zug&#228;nglich zu machen, und nutzt dabei das native AFC-Protokoll von Apple. Mehr dar&#252;ber kann man auf der Website nachlesen.</p>
<p style="text-align: justify;">Im Netz gibt es ein paar rumgeisternde deb-Pakete daf&#252;r, doch so richtig funktionieren wollen diese nicht. Also fix den Source Code aus dem git-Repository geladen und los geht&#8217;s. Da das Ganze ein zwei Kniffe beinhaltet, werde ich im Folgenden eine Schritt-f&#252;r-Schritt Anleitung geben.</p>
<p style="text-align: justify;"><span id="more-738"></span></p>
<p style="text-align: justify;">Um das Ganze zum Laufen zu bewegen braucht man drei verschiedene Programme, bzw. Bibliotheken: libplist, libiphone und ifuse. Alle drei kann man sich aus den Entwickler Repositories ziehen.</p>
<p style="text-align: justify;"><span style="color: #ff0000;"><strong>UPDATE: Es gibt nun <a href="http://matt.colyer.name/projects/iphone-linux/index.php?title=Main_Page">fertige Repositorys</a> f&#252;r einige Distributionen, unter anderem auch f&#252;r Ubuntu. Damit sind Schritt 1 bis 4 &#252;berfl&#252;ssig.</strong></span></p>
<h2 style="text-align: justify;">Schritt 1: libplist</h2>
<blockquote style="text-align: justify;"><p>libplist is a library which allows access to binary plists which Apple uses in several of its products.</p></blockquote>
<p style="text-align: justify;"><strong>Sourcen besorgen:</strong></p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">git clone git:<span style="color: #000000; font-weight: bold;">//</span>github.com<span style="color: #000000; font-weight: bold;">/</span>JonathanBeck<span style="color: #000000; font-weight: bold;">/</span>libplist.git</pre></div></div>

<p style="text-align: justify;"><strong>Softwarevoraussetzungen:</strong></p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">apt-get</span> <span style="color: #c20cb9; font-weight: bold;">install</span> build-essential cmake libglib2.0-dev libxml2-dev swig</pre></div></div>

<p style="text-align: justify;">ausserdem werden noch ein paar Python Development Sachen ben&#246;tigt, wobei ich leider nicht mehr wei&#223;, welche das waren <img src='http://www.virtualpixel.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  (Aus dem Ged&#228;chtniss w&#252;rde ich sagen python2.6-dev&#8230;)</p>
<p style="text-align: justify;"><strong>Kompilieren und installieren:</strong></p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#im Verzeichniss, in das die Sourcen geladen wurden, zum Beispiel ~/libplist,</span>
<span style="color: #666666; font-style: italic;">#wenn die Sourcen ins Homeverzeichniss geladen wurden.</span>
<span style="color: #c20cb9; font-weight: bold;">mkdir</span> build
<span style="color: #7a0874; font-weight: bold;">cd</span> build
cmake ..
<span style="color: #c20cb9; font-weight: bold;">make</span>
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #c20cb9; font-weight: bold;">install</span></pre></div></div>

<h2 style="text-align: justify;">Schritt 2: libiphone</h2>
<p style="text-align: justify;"><strong>Sourcen besorgen:</strong></p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">git clone git:<span style="color: #000000; font-weight: bold;">//</span>github.com<span style="color: #000000; font-weight: bold;">/</span>MattColyer<span style="color: #000000; font-weight: bold;">/</span>libiphone.git</pre></div></div>

<p style="text-align: justify;"><strong>Softwarevoraussetzungen:</strong></p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">apt-get</span> <span style="color: #c20cb9; font-weight: bold;">install</span> build-essential <span style="color: #c20cb9; font-weight: bold;">automake</span> <span style="color: #c20cb9; font-weight: bold;">autoconf</span> libtool libgnutls-dev libusb-dev libfuse-dev libglib2.0-dev libxml2-dev libreadline5-dev</pre></div></div>

<p style="text-align: justify;"><strong>Achtung:</strong></p>
<p style="text-align: justify;">Bei dem von mir genutzen git-Snapshot gibt es einen Bug, welcher das Kompilieren verhindert. Es fehlt die Datei plist.i. Diese ist aber im Paket libplist enthalten und kann deswegen hier genommen werden. Also einfach kopieren: (ich gehe davon aus, dass die Sourcen im Home liegen, ansonsten muss der Befehl nat&#252;rlich angepasst werden.)</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">mkdir</span> ~<span style="color: #000000; font-weight: bold;">/</span>libiphone<span style="color: #000000; font-weight: bold;">/</span>swig<span style="color: #000000; font-weight: bold;">/</span>plist
<span style="color: #c20cb9; font-weight: bold;">mkdir</span> ~<span style="color: #000000; font-weight: bold;">/</span>libiphone<span style="color: #000000; font-weight: bold;">/</span>swig<span style="color: #000000; font-weight: bold;">/</span>plist<span style="color: #000000; font-weight: bold;">/</span>swig
<span style="color: #c20cb9; font-weight: bold;">cp</span> ~<span style="color: #000000; font-weight: bold;">/</span>libplist<span style="color: #000000; font-weight: bold;">/</span>swig<span style="color: #000000; font-weight: bold;">/</span>plist.i ~<span style="color: #000000; font-weight: bold;">/</span>libiphone<span style="color: #000000; font-weight: bold;">/</span>swig<span style="color: #000000; font-weight: bold;">/</span>plist<span style="color: #000000; font-weight: bold;">/</span>swig<span style="color: #000000; font-weight: bold;">/</span></pre></div></div>

<p style="text-align: justify;"><strong>Kompilieren und installieren:</strong></p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#im Verzeichniss, in das die Sourcen geladen wurden,</span>
<span style="color: #666666; font-style: italic;">#zum Beispiel ~/libiphone, wenn die Sourcen ins Homeverzeichniss geladen wurden.</span>
.<span style="color: #000000; font-weight: bold;">/</span>autogen.sh
.<span style="color: #000000; font-weight: bold;">/</span>configure
<span style="color: #c20cb9; font-weight: bold;">make</span>
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #c20cb9; font-weight: bold;">install</span></pre></div></div>

<h2 style="text-align: justify;">Schritt 3: ifuse</h2>
<p style="text-align: justify;"><strong>Sourcen besorgen:</strong></p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">git clone git:<span style="color: #000000; font-weight: bold;">//</span>github.com<span style="color: #000000; font-weight: bold;">/</span>MattColyer<span style="color: #000000; font-weight: bold;">/</span>ifuse.git</pre></div></div>

<p style="text-align: justify;"><strong>Softwarevoraussetzungen:</strong></p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">apt-get</span> <span style="color: #c20cb9; font-weight: bold;">install</span> build-essential <span style="color: #c20cb9; font-weight: bold;">automake</span> <span style="color: #c20cb9; font-weight: bold;">autoconf</span> libfuse-dev libglib2.0-dev</pre></div></div>

<p style="text-align: justify;"><strong>Kompilieren und installieren:</strong></p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#im Verzeichniss, in das die Sourcen geladen wurden, zum Beispiel ~/ifuse,</span>
<span style="color: #666666; font-style: italic;">#wenn die Sourcen ins Homeverzeichniss geladen wurden.</span>
.<span style="color: #000000; font-weight: bold;">/</span>autogen.sh
.<span style="color: #000000; font-weight: bold;">/</span>configure
<span style="color: #c20cb9; font-weight: bold;">make</span>
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #c20cb9; font-weight: bold;">install</span></pre></div></div>

<h2 style="text-align: justify;">Schritt 4: Abschlie&#223;ende Arbeiten</h2>
<p style="text-align: justify;">Nun m&#252;ssen die neuen Bibliotheken noch registriert werden, das geht mit einem beherzten:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> ldconfig</pre></div></div>

<p style="text-align: justify;">Ausserdem muss man sich selbst in die FUSE-Gruppe stecken:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> adduser <span style="color: #007800;">$USER</span> fuse</pre></div></div>

<h2 style="text-align: justify;">Schritt 5: Mounten</h2>
<p style="text-align: justify;">Nun kommt der lang ersehnte Teil, wir mounten das ungeknackte iPhone &#252;ber USB! <img src='http://www.virtualpixel.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #000000; font-weight: bold;">/</span>media<span style="color: #000000; font-weight: bold;">/</span>iPhone
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">mount</span> <span style="color: #660033;">-t</span> fuse.ifuse irgendwas <span style="color: #000000; font-weight: bold;">/</span>media<span style="color: #000000; font-weight: bold;">/</span>iPhone</pre></div></div>

<p style="text-align: justify;">Bei &lt;irgendwas&gt; kann man, *g* irgendwas angeben. Es wird zum Beispiel in der mtab angegeben, also sollte man etwas &#8220;sinnvolles&#8221; nehmen. Ich habe dort zum Beispiel /dev/iPhone stehen.</p>
<p style="text-align: justify;">Wirft man nun einen Blick nach /media/iPhone, so sieht man den Inhalt des /var/root/Media Verzeichnisses seines iPhones.</p>
<p style="text-align: justify;">&#8212;&#8212;&#8212;-</p>
<p style="text-align: justify;"><strong>2. UPDATE:</strong></p>
<p style="text-align: justify;">Das iPhone kann auch als normaler User gemountet werden:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">mkdir</span> ~<span style="color: #000000; font-weight: bold;">/</span>iPhone
mount.fuse.ifuse irgendwas ~<span style="color: #000000; font-weight: bold;">/</span>iPhone</pre></div></div>

<p style="text-align: justify;">Unmounten:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">fusermount <span style="color: #660033;">-u</span> ~<span style="color: #000000; font-weight: bold;">/</span>iPhone</pre></div></div>

<p style="text-align: justify;">hat man ein gejailbreaktes iPhone, so kann man auch das Rootfs mounten:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">mount.fuse.ifuse <span style="color: #660033;">--root</span> irgendwas ~<span style="color: #000000; font-weight: bold;">/</span>iPhone</pre></div></div>

<p style="text-align: justify;">&#8212;&#8212;&#8212;-</p>
<h2 style="text-align: justify;">Und nun? Wie geht&#8217;s weiter?</h2>
<p style="text-align: justify;">Der Zugriff funktioniert, wir sind soweit erstmal gl&#252;cklich. N&#228;chster Schritt: Schauen, ob wir die Musik sehen.</p>
<p style="text-align: justify;">&#214;ffnet man nun gtkpod</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">apt-get</span> <span style="color: #c20cb9; font-weight: bold;">install</span> gtkpod</pre></div></div>

<p style="text-align: justify;">so wird man gefragt, welches Ger&#228;t unter /media/iPhone gemountet ist. Man w&#228;hlt iPhone aus der Liste aus und klickt auf OK. Tadaa, nun sollte man Musik und Podcasts sehen, welche sich auf dem iPhone befinden und diese auch abspielen k&#246;nnen. <img src='http://www.virtualpixel.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Und zwar ohne Jailbreak und mit USB-Kabel!</p>
<p style="text-align: justify;">Wie anfangs schon erw&#228;hnt, hat die ganze Geschichte aber einen Haken. Man kann Musik auf das iPhone problemlos kopieren, allerdings kann die iTunes Datenbank nicht geschrieben werden. Besser gesagt, sie wird zwar geschrieben, aber falsch, und das iPhone zeigt keine Musik mehr an.</p>
<p style="text-align: justify;">&#8212;&#8212;&#8212;-<br />
<strong><span style="color: #ff0000;">UPDATE: ACHTUNG!</span></strong></p>
<p style="text-align: justify;"><span style="color: #ff0000;">Wird die Datenbank durch gtkpod geschrieben, so ist leider nicht nur die Musik nicht mehr vom iPhone zu lesen, sondern iTunes will beim n&#228;chsten Sync das iPhone wiederherstellen, da es &#8220;korrupt&#8221; ist. Eine andere M&#246;glichkeit gibt es nicht! Also am besten Finger weg von der DB, solange man sie nicht per Jailbreak auf Version 2 umgestellt hat! Musste es leider gestern Abend selber schmerzlich feststellen <img src='http://www.virtualpixel.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </span></p>
<p style="text-align: justify;">&#8212;&#8212;&#8212;-</p>
<p style="text-align: justify;">Die Problematik kann <a href="http://www.virtualpixel.de/linux/amarok-rockt-das-iphone-musik-synchronisieren-ohne-itunes">hier unter Schritt 6</a> nachgelesen werden. Auch habe ich dort geschrieben wie man dies Problem umgeht, so dass es trotzdem funktioniert. Daf&#252;r ist allerdings ein Jailbreak Vorraussetzung! Und gerade den wollten wir ja nicht <img src='http://www.virtualpixel.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p style="text-align: justify;">Entschlie&#223;t man sich f&#252;r einen Jailbreak und die USB-Verbindung, und hat wie oben beschrieben die Datenbank ge&#228;ndert, so muss man noch die Firewire ID anlegen:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#iPhone muss gemountet sein</span>
<span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #000000; font-weight: bold;">/</span>media<span style="color: #000000; font-weight: bold;">/</span>iPhone<span style="color: #000000; font-weight: bold;">/</span>iTunes_Control<span style="color: #000000; font-weight: bold;">/</span>Device
<span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>media<span style="color: #000000; font-weight: bold;">/</span>iPhone<span style="color: #000000; font-weight: bold;">/</span>iTunes_Control<span style="color: #000000; font-weight: bold;">/</span>Device
<span style="color: #c20cb9; font-weight: bold;">sudo</span> lsusb <span style="color: #660033;">-v</span> <span style="color: #660033;">-d</span> 05ac: <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">grep</span> iSerial <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">awk</span> <span style="color: #ff0000;">'{print $3}'</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">cut</span> <span style="color: #660033;">-b1-16</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">xargs</span> <span style="color: #7a0874; font-weight: bold;">printf</span> <span style="color: #ff0000;">&quot;FirewireGuid: 0x%s<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;</span> SysInfo</pre></div></div>

<p>Nun muss das iPhone neugestartet werden.</p>
<p style="text-align: justify;">Allerdings h&#228;tte man mit einem Jailbreak immerhin den Komfort der USB-Verbindung, man muss nicht ewig Lange &#252;ber WLAN die Musik &#252;betragen und zuschauen wie der Akku schwindet. Ein Lichtblick gibt es allerdings: Im Ticketsystem von libgpod (die Bibliothek, die sich um den Zugriff auf die iTunes DB k&#252;mmert) hat jemand eine Information gepostet, mit welcher eventuell der neue Hash-Algorhythmus der iTunes DB geknackt w&#228;re. Da ich mich damit aber leider kein St&#252;ck auskenne, ist dies nur ein Hinweis.</p>
<p style="text-align: justify;">Momentan ist also das einzige Problem, die noch nicht geknackte iTunes DB der Firmware 2 der iPhones. Sobald dieses Geheimniss gel&#252;ftet ist, ist ein voller Zugriff auf den Musik-Teil des iPhones ohne JailBreak und via USB-Kabel m&#246;glich!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.virtualpixel.de/2009/04/17/iphone-und-linux-fast-ohne-jailbreak/feed/</wfw:commentRss>
		<slash:comments>32</slash:comments>
		</item>
		<item>
		<title>Ergebnis der Umfrage: iTunes unter Linux</title>
		<link>http://www.virtualpixel.de/2009/04/03/ergebniss-der-umfrage-itunes-unter-linux/</link>
		<comments>http://www.virtualpixel.de/2009/04/03/ergebniss-der-umfrage-itunes-unter-linux/#comments</comments>
		<pubDate>Fri, 03 Apr 2009 19:35:47 +0000</pubDate>
		<dc:creator>Jan</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Planet]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[iTunes]]></category>
		<category><![CDATA[Umfrage]]></category>

		<guid isPermaLink="false">http://www.virtualpixel.de/?p=692</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Vorweg ersteinmal vielen Dank an alle Teilnehmer der Umfrage! <strong>193</strong> Personen an der Zahl. Damit h&#228;tte ich ehrlich gesagt nicht gerechnet, und wenn, h&#228;tte ich das &#8220;kurz und knackig&#8221; mehr hervorgehoben <img src='http://www.virtualpixel.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  So, nun mal zur Auswertung der ganzen Geschichte.</p>
<p style="text-align: justify;">Wie schon erw&#228;hnt, haben 193 Leute ihre Meinung ge&#228;u&#223;ert. Davon haben <strong>108</strong> f&#252;r <strong>ja</strong> gestimmt und dem zu Folge <strong>85</strong> f&#252;r <strong>nein</strong>. Das macht eine Verteilung von <strong>56%</strong> zu <strong>44%</strong>. Das Ganze etwas anschaulich dargestellt:</p>
<p style="text-align: justify;"><img class="alignnone size-full wp-image-693" title="ergebniss_ja_nein" src="http://www.virtualpixel.de/wp-content/uploads/2009/04/ergebniss_ja_nein.png" alt="ergebniss_ja_nein" width="528" height="203" /></p>
<p style="text-align: justify;">Das war der eifnache Teil der Umfrage und nun kommt der Teil, bei dem ich nun wei&#223;, dass ich meine n&#228;chste Umfrage anders gestalten werde. Der freie Text! Insgesamt haben <strong>99</strong> Leute einen Kommentar geschrieben, das sind <strong>51%</strong>, also gut die H&#228;lfte. Von den 99 Antworten mit Kommentar sind <strong>53</strong> von einer<strong> Ja-Stimme</strong> und <strong>46</strong> von einer<strong> Nein-Stimme</strong>. Also ebenfalls sehr gut ausgewogen.</p>
<p style="text-align: justify;">Neben doch etwas unqualifizierten Aussagen wie &#8220;Apple Sucks&#8221; ohne jegliche Begr&#252;ndung, gab es auch viele gute und ausf&#252;hrliche Meinung zum Thema. Diese lassen sich eigentlich ganz gut in ein paar verschiedene Kategorien einordnen, was ich nun im Folgenden, erstmal v&#246;llig objektiv, versuche:</p>
<p style="text-align: justify;"><span id="more-692"></span></p>
<h3 style="text-align: justify;">Kommentare f&#252;r JA</h3>
<p style="text-align: justify;"><strong>1. Es ist ein iPod oder iPhone vorhanden</strong></p>
<p style="text-align: justify;">Das ist eigentlich der gr&#246;&#223;te Anteil der Ja-Sager. Ein iPod oder iPhone ist vorhanden und der Wunsch nach einer kompletten Unterst&#252;zung steht im Vordergrund. Alternative Software bietet keine volle Funktionalit&#228;t f&#252;r diese Ger&#228;te, auch wenn es bei alten iPods mittlerwile sehr gut aussieht. Keine Benachteiligung f&#252;r solche Nutzer mit Linux. Linux sollte keine H&#252;rde darstellen oder ein einziges fehlendes Programm einen Hinderungsgrund.</p>
<p style="text-align: justify;"><strong>2. iTunes als Programm sehr gut / iTunes Store ebenfalls sehr gut</strong></p>
<p style="text-align: justify;">Viele finden iTunes einfach super, und in Verbindung mit dem iTunes Store noch viel mehr. Super einfaches kaufen von Musik, Filmen oder Programmen f&#252;rs iPhone oder iPod Touch, einfaches downloaden und abonieren von Podcasts und Radiosendungen. Intelligente Wiedergabelisten und Remotebedienung per iPhone.<strong><br />
</strong></p>
<p style="text-align: justify;"><strong>3. Konkurenz belebt den Markt / Akzeptanz f&#252;r linux steigern<br />
</strong></p>
<p style="text-align: justify;">Die &#220;berschrift sagt eigentlich schon alles. Konkurenz belebt den Markt, gerne auch Closed Source Software. Ein &#228;hnlicher Ansatz ist auch die Idee, dass, w&#252;rden sich gr&#246;&#223;ere Softwarehersteller mehr im Bereich Linux engagieren, die Akzeptanz von Linux steigen w&#252;rde. Vergleich an der Stelle: Microsoft bietet MS Office f&#252;r Mac OSX an, warum nicht f&#252;r Linux?</p>
<h3 style="text-align: justify;">Kommentare f&#252;r NEIN</h3>
<p style="text-align: justify;"><strong>0. unqualifizierte Aussagen</strong></p>
<p style="text-align: justify;">Leider gab es diese doch recht oft unter den Nein-Sagern. V&#246;llig unqualifizierte Aussagen wie &#8220;iTunes stinkt einfach&#8221;, &#8220;Apple sucks&#8221; oder &#8220;iTunes -&gt; Dreck&#8221; disqualifizieren einen von vorneherein von der Diskussion um das Thema. (entschuldigung f&#252;r diesen kurzen subjetiven Ausrutscher)</p>
<p style="text-align: justify;"><strong>1. Es entspricht nicht dem OpenSource Gedanken der Linux Welt</strong></p>
<p style="text-align: justify;">iTunes ist Closed Software und entspricht nicht der Ideologie der Linuxwelt. Keiner wei&#223;, was das progamm macht. Stichwort &#8220;nach Hause telefonieren&#8221;. Angst, dass FOSS Player an der Konkurenz scheitern.</p>
<p style="text-align: justify;"><strong>2. kein iPhone oder iPod vorhanden</strong></p>
<p style="text-align: justify;">Kein Appleprodukt vorhanden, und daher sehr zufrieden mit der momentanen Vielfalt an guten Playern unter Linux</p>
<p style="text-align: justify;"><strong>3. Wer sich ein Apple Produkt kauft, ist selber Schuld</strong></p>
<p style="text-align: justify;">Wer sich ein geschlossenes, propriet&#228;res System kauft, sollte sich mit der Situation abfinden. Es ist ja meistens vorher bekannt wie es da im bereich Linux aussieht.</p>
<p style="text-align: justify;"><strong>4. Lieber die API freigeben</strong></p>
<p style="text-align: justify;">Damit k&#246;nnte man dann nativ auf die Appleprodukte zugreifen, ohne iTunes zu benutzen.</p>
<p style="text-align: justify;">So, das sind im groben die Punkte die von euch genannt wurden. Und was sagt uns das nun? Ich finde es relativ schwer zu bewerten, da ich Argumente beider Seiten durchaus verstehen kann. Ich geh&#246;re ja nun auch zu denjenigen, die ein iPhone ihr eigen nennen. Klar, h&#228;tte ich mir was kaufen k&#246;nnen, womit ich keine Probleme unter Linux habe, aber was soll ich machen, wenn das iPhone in meinen Augen das momentan beste Smartphone auf dem Markt ist? Soll ich, nur weil ich Linux benutze, darauf verzichten? Und mal Hand aufs Herz, ich kenne kein einziges Handy, bei dem ich ein Firmwareupdate unter Linux durchf&#252;hren kann, Ok, Telefone wie das Freerunner mal ausgenommen, da sie f&#252;r mich in keinster Weise eine Alternative darstellen, im Moment jedenfalls noch nicht. Daher ist iTunes an der Stelle sehr, sehr w&#252;nschenswert.</p>
<p style="text-align: justify;">Nat&#252;rlich w&#228;re eine Offenlegung der API der bessere Weg f&#252;r uns Linuxer, weil dann auch das Problem mit dem Widerspruch zum OpenSource Gedanken keins mehr w&#228;re. Aber, auch wenn die iTunes Variante schon Tr&#228;umerei ist, ist die &#8220;Wir-legen-die-API-offen&#8221; Variante noch mal um den Faktor 10000 unwahrscheinlicher <img src='http://www.virtualpixel.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p style="text-align: justify;">iTunes als reines Musikprogramm finde ich auch nicht 100% &#252;berzeugend. Aber es hat trotzdem ein paar nette Features wie die Geniusplaylisten, die direkte Store Anbindung oder die Apple Remote App f&#252;rs iPhone und den iPod Touch.</p>
<p style="text-align: justify;">Zum Thema &#8220;einzige App die ich nicht unter Linux habe&#8221; bzw. &#8220;Programme die mich am umsteigen hindern&#8221; kann ich nur Zustimmung &#228;u&#223;ern. Ich habe eine Windows XP VM am laufen aus zwei Gr&#252;nden. Einer davon ist iTunes.</p>
<p style="text-align: justify;">Das iTunes eine propriet&#228;re ClosedSource Software ist st&#246;rt mich hingegen nicht. Solange sie gut ist und meine Anforderungen erf&#252;llt und es keine Alternative FOSS Software gibt die dasselbe kann, warum nicht? Und warum sollten die Alternativen darunter leiden? Konkurenz belebt das Gesch&#228;ft. Linux wird bekannter und die Alternativen m&#252;ssen sich halt mehr anstrengen, sollte iTunes der bessere Player sein.</p>
<p style="text-align: justify;">Nat&#252;rlich will ich euch die ganze Liste der Ergebnisse nicht vorenthalten, also hier ist sie, sortiert nach Eingangszeit:</p>
<p style="text-align: justify;"><a href="http://www.virtualpixel.de/wp-content/uploads/2009/04/ergebniss_linux_itunes.pdf">ergebnisse_linux_itunes.pdf</a></p>
<p style="text-align: justify;">Zieht man alle unqualifizierten Aussagen ab, so gibt es doch ca. eine 2/3 Mehrheit von iTunes Bef&#252;rwortern, also eine Mehrheit&#8230; bin ich davon &#252;berrascht? Ehrlich gesagt wei&#223; ich es nicht, da ich anfangs &#252;berhaupt keine Vorstellung des Ergebnises hatte. Seit ihr &#252;berrascht?</p>
<p style="text-align: justify;">Bleibt mir noch zu sagen: Untersch&#228;tzt niemals die Ausma&#223;e eines Aprilscherzes! Ausserdem: ich w&#252;rde mich &#252;ber iTunes freuen <img src='http://www.virtualpixel.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.virtualpixel.de/2009/04/03/ergebniss-der-umfrage-itunes-unter-linux/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
	</channel>
</rss>
