<?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>Daten&#124;teiler</title>
	<atom:link href="http://www.datenteiler.de/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.datenteiler.de</link>
	<description>Kopieren als Kulturtechnik</description>
	<lastBuildDate>Sun, 04 Jul 2010 20:01:44 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Wie man Python 2.5 mit Zlib kompiliert</title>
		<link>http://www.datenteiler.de/wie-man-python-2-5-mit-zlib-kompiliert/</link>
		<comments>http://www.datenteiler.de/wie-man-python-2-5-mit-zlib-kompiliert/#comments</comments>
		<pubDate>Sun, 04 Jul 2010 20:01:44 +0000</pubDate>
		<dc:creator>Christian Imhorst</dc:creator>
				<category><![CDATA[Gnu/Linux]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://www.datenteiler.de/?p=4673</guid>
		<description><![CDATA[Die freie Programmbibliothek zlib zum Komprimieren und Dekomprimieren von Daten mit dem Deflate-Algorithmus ist in Python 2.5 standardmäßig deaktiviert. Damit Python 2.5 Zlib wieder unterstützt, muss man vor dem Kompilieren configure mit der entsprechenden Flag ausführen. Dazu braucht es aber ein bisschen Vorarbeit: Das Paket zlib-dev muss installiert sein. Nur darin ist die Header-Datei des [...]]]></description>
			<content:encoded><![CDATA[<p>Die freie Programmbibliothek <a href="http://www.zlib.net/">zlib</a> zum Komprimieren und Dekomprimieren von Daten mit dem Deflate-Algorithmus ist in Python 2.5 standardmäßig deaktiviert. Damit Python 2.5 Zlib wieder unterstützt, muss man vor dem Kompilieren <em>configure</em> <a href="http://www.1stbyte.com/2005/06/26/configure-and-compile-python-with-zlib/">mit der entsprechenden Flag</a> ausführen. Dazu braucht es aber ein bisschen Vorarbeit:</p>
<p>Das Paket <em>zlib-dev</em> muss installiert sein. Nur darin ist die Header-Datei des Zlib-Projekts enthalten, die man dringend benötigt. Auch wenn Zlib selbst schon installiert ist, benötigt man die Projektdateien. Bei Debian-basierten Distributionen wie Ubuntu ist das Paket schnell installiert.</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;">apt-get</span> <span style="color: #c20cb9; font-weight: bold;">install</span> zlib1g-dev</pre></div></div>

<p>Nach der Installation findet man die Header-Datei im Verzeichnis <code>/usr/include/zlib.h</code>. Jetzt wechselt man in das Verzeichnis mit den Quelldateien von Python 2.5 und führt <em>configure</em> mit der entsprechenden Flag aus:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">.<span style="color: #000000; font-weight: bold;">/</span>configure <span style="color: #660033;">--with-zlib</span>=<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>include</pre></div></div>

<p>Danach kompiliert man ganz normal mit <code>make &amp;&amp; sudo make install</code> weiter (oder, wer möchte, mit <code>checkinstall</code>).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.datenteiler.de/wie-man-python-2-5-mit-zlib-kompiliert/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mit Ubuntu Netbook Remix und MPlayer Youtube-Videos auf dem Hercules EC-800 gucken</title>
		<link>http://www.datenteiler.de/ubuntu-netbook-remix-und-youtube-videos-mit-mplayer-gucken-auf-dem-hercules-ec-800/</link>
		<comments>http://www.datenteiler.de/ubuntu-netbook-remix-und-youtube-videos-mit-mplayer-gucken-auf-dem-hercules-ec-800/#comments</comments>
		<pubDate>Sun, 13 Jun 2010 16:18:24 +0000</pubDate>
		<dc:creator>Christian Imhorst</dc:creator>
				<category><![CDATA[Gnu/Linux]]></category>

		<guid isPermaLink="false">http://www.datenteiler.de/?p=4539</guid>
		<description><![CDATA[Seit einigen Tagen habe ich den aktuelle Ubuntu Netbook Remixe (UNR) 10.04 auf meinem Hercules eCaf&#233; EC-800 installiert, und es läuft ganz gut. Allerdings muss man, wie unter Xubuntu, ein paar Kompromisse schließen. Auch beim Netbook Remix benötigt man eine speziell angepasste xorg.conf, damit die Grafikkarte richtig angesprochen wird und die Auflösung die gewünschten 800×480 [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.amazon.de/gp/product/B001DMS79K?ie=UTF8&#038;tag=imhorstnet-21&#038;linkCode=as2&#038;camp=1638&#038;creative=6742&#038;creativeASIN=B001DMS79K"><img border="0" align="left" src="http://www.datenteiler.de/wp-content/uploads/2010/06/hercules1.png" style="margin-right: 20px;"></a><img src="http://www.assoc-amazon.de/e/ir?t=imhorstnet-21&#038;l=as2&#038;o=3&#038;a=B001DMS79K" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /></p>
<p>Seit einigen Tagen habe ich den aktuelle Ubuntu Netbook Remixe (UNR) 10.04 auf meinem Hercules eCaf&eacute; EC-800 installiert, und es läuft ganz gut. Allerdings muss man, <a href="http://www.datenteiler.de/das-hercules-ec-800-und-xubuntu-2/">wie unter Xubuntu,</a> ein paar Kompromisse schließen. </p>
<p>Auch beim Netbook Remix benötigt man eine speziell angepasste <a href="http://www.datenteiler.de/wp-content/uploads/2009/12/xorg.conf">xorg.conf</a>, damit die Grafikkarte richtig angesprochen wird und die Auflösung die gewünschten 800×480 Pixel hat. </p>
<p><span id="more-4539"></span></p>
<p>Während des Bootvorgangs sollte der ein oder anderen Dienst nicht gestartet werden, denn jeder Dienst, der im Hintergrund läuft verbraucht unnötig Rechenleistung und Strom. Daher habe ich unter <b>System | Startprogrammeinstellungen</b> einige  Dienste wie &#8220;Auf neue Hardwaretreiber prüfen&#8221;, &#8220;Aktualisierungsbenachrichtigung&#8221;, &#8220;Druckerwarteschlange&#8221;, &#8220;Bluetooth&#8221;, &#8220;Ubuntu One&#8221; und so fort deaktiviert. Falls man sich unsicher ist, ob man einen Dienst vom Start an braucht, oder nicht, sollte man den Dienst aktiviert lassen.</p>
<p><a href="http://www.datenteiler.de/wp-content/uploads/2010/06/Startprogrammeinstellungen.png"><img src="http://www.datenteiler.de/wp-content/uploads/2010/06/Startprogrammeinstellungen-300x273.png" alt="" title="Startprogrammeinstellungen" width="300" height="273" class="alignnone size-medium wp-image-4541" style="margin-top: 20px;" /></a></p>
<p>Im Nautilus habe ich die Vorschaufunktion unter <strong>Bearbeiten | Einstellungen | Vorschau</strong> abgestellt, um flüssiger mit dem Dateimanager arbeiten zu können. Da die Grafikkarte nur eine geringe Farbtiefe besitzt, habe ich unter Erscheinungsbild das Theme &#8220;Neue Welle&#8221;  anstatt &#8220;Ambiance&#8221; und in Chromium das GTK-Theme eingestellt. Damit gibt es weniger Fehler in der grafischen Darstellung.</p>
<p>Anschließend habe ich ein paar Programme ersetzt: So benutze ich <a href="http://www.yetanotherlinuxblog.de/93-chromium-auf-ubuntu-installieren/">Chromium aus dem PPA</a> anstatt Firefox, Abiword und Gnumeric zu Gunsten von OpenOffice.org. Außerdem habe ich Evolution deinstalliert und, da ich eine E-Mail-Adresse bei Google-Mail habe,  <a href="http://linuxundich.de/de/ubuntu/google-mail-perfekt-in-ubuntu-lucid-integrieren/">gm-notify installiert</a>, damit ich über den Eingang neuer Nachrichten informiert werde. Anstelle von Totem benutze ich den MPlayer, um Videos zu gucken. Die Video-Dateien habe ich in Nautilus mit MPlayer verknüpft, so dass der Player automatisch gestartet wird, sobald ich ein Video anklicke.</p>
<p>Man muss sich beim EC-800 bewusst sein, dass die Hardware recht schlapp ist und ein Prozessor mit 0,5 GHz und 512MB RAM nicht soviel auf die Beine stellt. Das normale Arbeiten wie E-Mails schreiben, surfen oder ein bisschen skripten geht flüssig von der Hand, Internetradio hören und gleichzeitig surfen leider nicht so ohne weiteres. Videos auf Youtube im Browser gucken, klappt auch nicht wirklich. Aber auch hier erweist sich der MPlayer als wahrer Segen für die geringe Leistungsfähigkeit des Netbooks. Neben lokalen Videos und <a href="http://www.datenteiler.de/dvb-t-mit-mplayer/">DVB-T</a> spielt der MPlayer zusammen mit <em>youtube-dl</em> ruckelfrei Youtube-Videos im Terminal. Beide Pakete installiert man schnell mit Apt,</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;">apt-get</span> <span style="color: #c20cb9; font-weight: bold;">install</span> youtube-dl <span style="color: #c20cb9; font-weight: bold;">mplayer</span></pre></div></div>

<p>oder klickt folgenden Button:</p>
<p><a href="apt://mplayer,youtube-dl"><img src="http://www.datenteiler.de/wp-content/uploads/2010/05/button.png" alt="MPlayer und youtube-dl installieren" title="Calibre installieren" width="176" height="26" class="alignnone size-full wp-image-4514" /></a></p>
<p>Jetzt benötigt man nur noch die URL des Videos, die man mit der Suchmaschine seiner Wahl ermitteln kann, und gibt folgendes im Terminal ein</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">mplayer</span> <span style="color: #660033;">-fs</span> <span style="color: #660033;">-aspect</span> <span style="color: #000000;">16</span>:<span style="color: #000000;">9</span> $<span style="color: #7a0874; font-weight: bold;">&#40;</span>youtube-dl <span style="color: #660033;">-g</span> http:<span style="color: #000000; font-weight: bold;">//</span>www.youtube.com<span style="color: #000000; font-weight: bold;">/</span>watch?<span style="color: #007800;">v</span>=Y8w2oVZ6Sio<span style="color: #7a0874; font-weight: bold;">&#41;</span></pre></div></div>

<p>Bei den Argumenten für den Befehl <code>mplayer</code> steht <code>-fs</code> für den Vollbildmodus (&#8220;fullscreen&#8221;) und <code>-aspect</code> für das Bildformat. In meinem Fall soll das Video im Format 16:9 wiedergegeben werden, weil das am Besten zur Bildschirmauflösung des Netbooks passt. Wenn man sich unsicher ist, sollte man diese Option weglassen.</p>
<p>Das Video muss man aber nicht unbedingt in  der geringeren Qualität auf dem eCaf&eacute; gucken. Wenn man es mit dem MPlayer cached, geht auch die HD-Version:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">mplayer</span> <span style="color: #660033;">-fs</span> <span style="color: #660033;">-aspect</span> <span style="color: #000000;">16</span>:<span style="color: #000000;">9</span> $<span style="color: #7a0874; font-weight: bold;">&#40;</span>youtube-dl <span style="color: #660033;">-g</span> <span style="color: #660033;">-b</span> http:<span style="color: #000000; font-weight: bold;">//</span>www.youtube.com<span style="color: #000000; font-weight: bold;">/</span>watch?<span style="color: #007800;">v</span>=Y8w2oVZ6Sio<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #660033;">-cache</span> <span style="color: #000000;">30720</span> <span style="color: #660033;">-cache-min</span> <span style="color: #000000;">5</span></pre></div></div>

<p>Die Option <code>-b</code> lädt die HD-Variante des Videos, sofern eine vorhanden ist. Am Schluss des Befehls wird die Größe des Caches bestimmt. In diesem Fall ist er 30720 Kilobyte, also ca. 30 Megabyte groß. Die Option <code>-cache-min</code> bestimmt, mit wie viel Prozent der Cache mindestens gefüllt sein muss, bevor MPlayer das Abspielen startet. Hier kann man einen Wert bis 100 wählen. Je nachdem, wie groß der Cache ist, kann es jetzt eine Weile dauern, bis das Abspielen des Videos startet.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.datenteiler.de/ubuntu-netbook-remix-und-youtube-videos-mit-mplayer-gucken-auf-dem-hercules-ec-800/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>E-Books erstellen mit Calibre</title>
		<link>http://www.datenteiler.de/e-books-erstellen-mit-calibre/</link>
		<comments>http://www.datenteiler.de/e-books-erstellen-mit-calibre/#comments</comments>
		<pubDate>Thu, 20 May 2010 19:47:54 +0000</pubDate>
		<dc:creator>Christian Imhorst</dc:creator>
				<category><![CDATA[Gnu/Linux]]></category>

		<guid isPermaLink="false">http://www.datenteiler.de/?p=4455</guid>
		<description><![CDATA[Formate gibt es für E-Books reichlich. Da kann es auch mal vorkommen, dass eigentlich gängige Formate auf E-Book-Readern oder E-Book-Reader-Software fehlen. Das Kindle von Amazon zum Beispiel unterstützt weder PDFs noch das EPUB-Format. Calibre, ein plattformunabhängiges Programm zur Verwaltung und Konvertierung von E-Books, kann hier abhelfen, da das Programm nahezu jedes beliebige Format konvertiert. Dabei [...]]]></description>
			<content:encoded><![CDATA[<p>Formate gibt es für E-Books reichlich. Da kann es auch mal vorkommen, dass eigentlich gängige Formate auf E-Book-Readern oder E-Book-Reader-Software fehlen. Das Kindle von Amazon zum Beispiel unterstützt weder PDFs noch das EPUB-Format. <em>Calibre</em>, ein plattformunabhängiges Programm zur Verwaltung und Konvertierung von E-Books, kann hier abhelfen, da das Programm nahezu jedes beliebige Format konvertiert. Dabei hilft Calibre aber nicht nur Besitzern des Kindles. Die Software erkennt auch den Sony-Reader, das BeBook, aber auch das iPhone und Android-Smartphones und kann Bücher auf diese Geräte übertragen. <a href="http://mgsimon.de/2010/01/24/android-und-ebooks-ubuntu-und-epub/">Eine erste Bibliothek könnte beispielsweise mit Büchern von Galileo Press</a> starten, die <a href="http://www.galileocomputing.de/katalog/openbook">25 IT-Fachbücher zum Download</a> anbieten.</p>
<p><span id="more-4455"></span></p>
<p>Callibre kann aber noch mehr: Es bietet eine Verwaltung für die selbst erstellte Bibliothek und man kann jedes eingestellte Buch nach Schlagwörtern wie Titel, Autor, Verleger, Wertung oder eigenen Kommentaren ablegen und organisieren. Sollten Metadaten von Büchern mal nicht vorhanden sein, kann Calibre sie aus dem Internet nachladen.</p>
<p>Neben der Verwaltung von Büchern kann Calibre auch aus Nachrichtenquellen wie RSS-Feeds komplette E-Books erzeugen und auf einen angeschlossenen Reader überspielen. So kann man zum Beispiel den <a href="http://www.ubuntu-center.de/1375/sony-reader-prs-505-und-calibre-im-test/">Ubuntuusers-Planeten als Zeitung</a> mit sich herumtragen. Ein E-Book kann man auf dem Calibre-eigenen Reader anschauen, bevor man es auf einen externen Reader überträgt. Über einen integrierten Webserver kann man die eigene Bibliothek auch mit anderen Menschen teilen, sofern der Rechner eingeschaltet und mit dem Internet verbunden ist.</p>
<p>Wie einfach es ist, eigene E-Books zu erstellen und in andere Formate zu konvertieren, zeige ich nun anhand eines E-Books, das als <a href="http://texte.datenteiler.de/die-anarchie-der-hacker-ebook/">HTML-Datei</a> schon vorliegt. Die besten Ergebnisse bei der Konvertierung erhält man nämlich, wenn die Vorlage ein HTML-Dokument ist. Dazu muss man zuerst Calibre installieren, was unter Ubuntu am schnellsten mit <em>apturl</em> geht, indem man einfach auf den Button unten klickt:</p>
<p><a href="apt://calibre"><img src="http://www.datenteiler.de/wp-content/uploads/2010/05/button.png" alt="Calibre installieren" title="Calibre installieren" width="176" height="26" class="alignnone size-full wp-image-4514" /></a></p>
<p>Alternativ kann man auch folgenden Befehl im Terminal ausführen lassen:</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;">apt-get</span> <span style="color: #c20cb9; font-weight: bold;">install</span> calibre</pre></div></div>

<p>Nach dem ersten Start und der Einrichtung des Programms, was sehr man sehr schön in einem <a href="http://calibre-ebook.com/">Video auf der Homepage von Calibre</a> sehen kann, fügt man als erstes ein Buch der eigenen Bibliothek hinzu, indem man auf &#8220;Bücher hinzufügen&#8221; klickt. </p>
<p><a href="http://www.datenteiler.de/wp-content/uploads/2010/04/Calibre.png"><img src="http://www.datenteiler.de/wp-content/uploads/2010/04/Calibre-300x236.png" alt="" title="Calibre" width="300" height="236" class="aligncenter size-medium wp-image-4464" /></a>  </p>
<p>Hat man das Buch hinzugefügt, kann man es unter &#8220;Meta-Informationen editieren&#8221; bearbeiten. Die Metadaten muss man nicht händisch eingeben, sondern kann sie vom Server abrufen. Gleich daneben kann man ein anderes Umschlagbild für das Buch wählen. </p>
<p><a href="http://www.datenteiler.de/wp-content/uploads/2010/05/Calibre.png"><img src="http://www.datenteiler.de/wp-content/uploads/2010/05/Calibre-300x261.png" alt="" title="Calibre" width="300" height="261" class="alignnone size-medium wp-image-4511" /></a></p>
<p>Das bevorzugte Ausgabeformat von Calibre ist EPUB, es kann aber unter &#8220;Einstellungen&#8221; geändert werden. Unter &#8220;Konvertierung&#8221; ist es möglich, den eigenen verwendeten E-Book-Reader auszuwählen. Unter &#8220;E-Mail Versand&#8221; hat man die Möglichkeit, das Buch als E-Mail an das Lesegerät zu senden.</p>
<p><a href="http://www.datenteiler.de/wp-content/uploads/2010/04/Calibre2.png"><img src="http://www.datenteiler.de/wp-content/uploads/2010/04/Calibre2-300x206.png" alt="" title="Calibre2" width="300" height="206" class="aligncenter size-medium wp-image-4469" /></a></p>
<p>Sind alle Einstellungen erledigt, startet man die Konvertierung mit &#8220;In E-Books umwandeln&#8221;. Calibre bietet einem nochmal die Möglichkeit, an die einzelnen Feineinstellungen für die Konvertierung herumzuschrauben. Der ganze Prozess ist nach wenigen Sekunden erledigt und das fertige E-Book steht als <a href="http://texte.datenteiler.de/wp-content/uploads/2010/05/DAdH.epub">EPUB-Datei</a> bereit.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.datenteiler.de/e-books-erstellen-mit-calibre/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Free as in Freedom: Die Anarchie der Hacker</title>
		<link>http://www.datenteiler.de/free-as-in-freedom-die-anarchie-der-hacker/</link>
		<comments>http://www.datenteiler.de/free-as-in-freedom-die-anarchie-der-hacker/#comments</comments>
		<pubDate>Fri, 30 Apr 2010 22:01:22 +0000</pubDate>
		<dc:creator>Christian Imhorst</dc:creator>
				<category><![CDATA[Publikationen]]></category>

		<guid isPermaLink="false">http://www.datenteiler.de/?p=4477</guid>
		<description><![CDATA[Ab heute kann man mein Buch Die Anarchie der Hacker als E-Book [html&#124;pdf&#124;epub] frei unter einer Creative Commons-Lizenz lesen, kopieren, verschicken und verändern, wenn man mag. Nach etwa 5 Jahren konnte ich mit dem Tectum Wissenschaftsverlag eine fantastische neue Vereinbarung schließen: Der Verlag hat des alleinige Recht, die deutsche Druckausgabe zu vertreiben, die digitale Ausgabe [...]]]></description>
			<content:encoded><![CDATA[<p>Ab heute kann man mein Buch <em>Die Anarchie der Hacker</em> als E-Book [<a href="http://texte.datenteiler.de/die-anarchie-der-hacker-ebook/">html</a>|<a href="http://texte.datenteiler.de/wp-content/uploads/2010/05/DAdH.pdf">pdf</a>|<a href="http://texte.datenteiler.de/wp-content/uploads/2010/05/DAdH.epub">epub</a>] frei unter einer Creative Commons-Lizenz lesen, kopieren, verschicken und verändern, wenn man mag. Nach etwa 5 Jahren konnte ich mit dem <a href="http://www.tectum-verlag.de/">Tectum Wissenschaftsverlag</a> eine fantastische neue Vereinbarung schließen: Der Verlag hat des alleinige Recht, die deutsche Druckausgabe zu vertreiben, die digitale Ausgabe ist aber unter einer CC-Lizenz frei verfügbar. Wenn es die Neuauflage einmal geben wird, wird das E-Book gleich unter dieser Lizenz veröffentlicht werden. Ich hoffe, dass alle, die das Buch noch nicht kennen, viel Spaß beim Lesen haben werden, denn wie heißt es so schön:</p>
<p>Wie anarchistisch ist die Hackerethik? Warum bezeichnet sich Richard Stallman, eine der herausragendsten Figuren der Freien-Software-Bewegung, selbst als Anarchist? Wir dürfen uns die Anarchisten der freien Software nicht klischeehaft als Chaoten mit zerzausten Haaren, irrem Blick und Armen voller Bomben vorstellen. Ganz im Gegenteil: Sie fordern eine neue Ordnung des geistigen Eigentums im Sinn der Hackerethik – Der Zugriff auf Wissen soll frei, dezentral, antibürokratisch und antiautoritär sein.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.datenteiler.de/free-as-in-freedom-die-anarchie-der-hacker/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>notify-osd: Nachrichten an den Desktop senden &#8212; mit Python</title>
		<link>http://www.datenteiler.de/notify-osd-nachrichten-an-den-desktop-senden-mit-python/</link>
		<comments>http://www.datenteiler.de/notify-osd-nachrichten-an-den-desktop-senden-mit-python/#comments</comments>
		<pubDate>Wed, 21 Apr 2010 21:02:10 +0000</pubDate>
		<dc:creator>Christian Imhorst</dc:creator>
				<category><![CDATA[Gnu/Linux]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://www.datenteiler.de/?p=4442</guid>
		<description><![CDATA[Der Artikel notify-send: Nachrichten an den Desktop senden von linuxnetzer beschreibt, wie man mit dem Befehl notify-send über die Kommandozeile Nachrichten an den Gnome-Desktop versenden kann. Dazu muss man einfach das Paket libnotify-bin aus den Paketquellen installieren sudo apt-get install libnotify-bin und schon kann man mit folgendem Befehl eine Testnachricht an den Desktop senden: notify-send [...]]]></description>
			<content:encoded><![CDATA[<p>Der Artikel <a href="http://linuxnetz.wordpress.com/2010/04/21/notify-send/">notify-send: Nachrichten an den Desktop senden</a> von <a href="http://linuxnetz.wordpress.com/">linuxnetzer</a> beschreibt, wie man mit dem Befehl <code>notify-send</code> über die Kommandozeile Nachrichten an den Gnome-Desktop versenden kann. Dazu muss man einfach das Paket <code>libnotify-bin</code> aus den Paketquellen installieren</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;">apt-get</span> <span style="color: #c20cb9; font-weight: bold;">install</span> libnotify-bin</pre></div></div>

<p>und schon kann man mit folgendem Befehl eine Testnachricht an den Desktop senden:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">notify-send <span style="color: #ff0000;">&quot;Testnachricht&quot;</span></pre></div></div>

<p>Etwas komplexer geht das Ganze auch mit Python, dafür muss man aber kein zusätzliches Software-Paket installieren. Auch wenn letzteres auf dem eigenen System nicht wirklich dramatisch ist, aber was macht man, wenn man zum Beispiel ein Backup-Skript anderen Benutzern zu Verfügung stellen will, das z.B. die Benachrichtigung &#8220;Backup beendet&#8221; am Desktop anzeigen soll, so wie im Beispiel von linuxnetzer? Man kann sie bitten, das Paket <code>libnotify-bin</code> zu installieren, oder man nutzt die Möglichkeit, sein eigenes Notify-Skript zu erstellen, das etwa folgendermaßen aussehen könnte:</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;"><span style="color: #ff7700;font-weight:bold;">import</span> pynotify
&nbsp;
pynotify.<span style="color: black;">init</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;Testnachricht&quot;</span><span style="color: black;">&#41;</span>
n = pynotify.<span style="color: black;">Notification</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;Testnachricht&quot;</span>, <span style="color: #483d8b;">&quot;Dies ist ein Test.&quot;</span>, <span style="color: #483d8b;">&quot;icon&quot;</span><span style="color: black;">&#41;</span>
n.<span style="color: black;">show</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span></pre></div></div>

<p>Selbstverständlich geht das auch als Einzeiler in der Shell, was allerdings doch recht lang ist:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">python <span style="color: #660033;">-c</span> <span style="color: #ff0000;">'import pynotify; pynotify.init(&quot;message&quot;); n = pynotify.Notification(&quot;Testnachricht&quot;, &quot;Dies ist ein Test.&quot;, &quot;icon&quot;); n.show()'</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.datenteiler.de/notify-osd-nachrichten-an-den-desktop-senden-mit-python/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Eine Python-Shell fürs Handy über WLAN</title>
		<link>http://www.datenteiler.de/eine-python-shell-fuers-handy-ueber-wlan/</link>
		<comments>http://www.datenteiler.de/eine-python-shell-fuers-handy-ueber-wlan/#comments</comments>
		<pubDate>Fri, 09 Apr 2010 21:03:23 +0000</pubDate>
		<dc:creator>Christian Imhorst</dc:creator>
				<category><![CDATA[Gnu/Linux]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://www.datenteiler.de/?p=4221</guid>
		<description><![CDATA[Im Lieferumfang zu Python für S60-Handys von Nokia (PyS60) gibt es zwar schon eine Python-Shell fürs Handy über Bluetooth, aber was macht man, wenn kein Bluetooth, dafür aber WLAN vorhanden ist? Man richtet einfach eine Python-Shell über WLAN ein. Abgesehen davon steht die Shell über WLAN schneller, als man eine Bluetooth-Verbindung herstellen kann, weshalb sie [...]]]></description>
			<content:encoded><![CDATA[<p>Im Lieferumfang zu Python für S60-Handys von Nokia (PyS60) gibt es zwar schon eine <a href="http://www.datenteiler.de/mobiles-python-ii/">Python-Shell  fürs Handy über Bluetooth</a>, aber was macht man, wenn kein Bluetooth, dafür aber WLAN vorhanden ist? Man richtet einfach eine Python-Shell über WLAN ein.  Abgesehen davon steht die Shell über WLAN schneller, als man eine Bluetooth-Verbindung herstellen kann, weshalb sie sich auch eignet, selbst wenn Computer und Handy über Bluetooth-Schnittstellen verfügen.</p>
<p><span id="more-4221"></span></p>
<p>Damit die Python-Shell über WLAN funktioniert, benötigt man das Programm <code><a href="http://de.wikibooks.org/wiki/Linux-Kompendium:_netcat">netcat</a></code>, das im Normalfall unter Gnu/Linux, Unix oder MacOS X schon installiert ist. Mit dem Befehl <code>nc</code> startet man das Kommando, um Daten mit TCP im Netzwerk zu übertragen. Folgendes Kommando funktioniert so nur unter Gnu/Linux:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">stty</span> raw <span style="color: #660033;">-echo</span> ; nc <span style="color: #660033;">-l</span> <span style="color: #660033;">-p</span> <span style="color: #000000;">1025</span> ; <span style="color: #c20cb9; font-weight: bold;">stty</span> sane</pre></div></div>

<p>Auf anderen Unix-Maschinen muss man den Schalter <code>-p</code> weglassen und einfach nur <code>nc -l 1025</code> eingeben. Bevor man das Terminal via <code>netcat</code> in eine Python-Shell verwandeln kann, werden dessen Einstellungen mit dem Systembefehl <code>stty</code> neu gesetzt. Dabei schaltet die Option <code>raw</code> die Pufferung aus, damit eine Eingabe Zeichen für Zeichen an die Shell weitergereicht wird. Buchstaben werden dabei uninterpretiert weitergeleitet, was soviel heißt, dass es kein Newline-Zeichen oder ähnliches mehr gibt und Strg-D zum Beispiel keinen Datenstrom mehr beendet (<em>End of File</em>, EOF). Die Option <code>echo</code> verhindert, dass die eingegebene Taste nochmal im Terminal angezeigt wird. Anschließend startet <code>netcat</code>, um auf hereinkommende Verbindungsanfragen am Port <em>1025</em> zu lauschen. Im letzten Teil des Kommandos startet man wieder <code>stty</code>, diesmal aber mit der Option <code>sane</code>, um die Pufferung des Terminals wieder herzustellen, damit man die Python-Shell mit der Tastenkombination Strg-D (EOF) beenden kann.</p>
<p>Um <code>netcat</code> nicht vergeblich lauschen zu lassen, muss folgender Python-Code auf dem Telefon ausführt werden, damit die Verbindung hergestellt wird:</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;"><span style="color: #ff7700;font-weight:bold;">import</span> btconsole
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">sys</span>
<span style="color: #808080; font-style: italic;"># Try to import 'btsocket' as 'socket'</span>
<span style="color: #ff7700;font-weight:bold;">try</span>:
    <span style="color: #dc143c;">sys</span>.<span style="color: black;">modules</span><span style="color: black;">&#91;</span><span style="color: #483d8b;">'socket'</span><span style="color: black;">&#93;</span> = <span style="color: #008000;">__import__</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'btsocket'</span><span style="color: black;">&#41;</span>
<span style="color: #ff7700;font-weight:bold;">except</span> <span style="color: #008000;">ImportError</span>:
    <span style="color: #ff7700;font-weight:bold;">pass</span>
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">socket</span>
&nbsp;
sock=<span style="color: #dc143c;">socket</span>.<span style="color: #dc143c;">socket</span><span style="color: black;">&#40;</span><span style="color: #dc143c;">socket</span>.<span style="color: black;">AF_INET</span>, <span style="color: #dc143c;">socket</span>.<span style="color: black;">SOCK_STREAM</span><span style="color: black;">&#41;</span>
sock.<span style="color: black;">connect</span><span style="color: black;">&#40;</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;192.168.0.10&quot;</span>,<span style="color: #ff4500;">1025</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
btconsole.<span style="color: black;">run_with_redirected_io</span><span style="color: black;">&#40;</span>sock,btconsole.<span style="color: black;">interact</span>,<span style="color: #008000;">None</span>,<span style="color: #008000;">None</span>,<span style="color: #008000;">locals</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
sock.<span style="color: black;">close</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span></pre></div></div>

<p>Wichtig ist dabei, dass man die IP-Adresse des lauschenden Rechners eingibt. In dem Beispiel ist das <em>192.168.0.10</em>, in der Realität wird es allerdings eine andere Adresse sein. Außerdem ist wichtig, dass ebenfalls Port <em>1025</em> benutzt wird. Man kann auch einen anderen Port wählen, den muss man dann nur auf beiden Seiten ändern. Wenn alles klappt, zeigt das Terminal eine Python-Shell auf dem Handy über WLAN:</p>
<p><a href="http://www.datenteiler.de/wp-content/uploads/2010/04/TCP-IP-Shell.jpeg"><img src="http://www.datenteiler.de/wp-content/uploads/2010/04/TCP-IP-Shell-300x212.jpg" alt="" title="TCP-IP-Shell" width="300" height="212" class="aligncenter size-medium wp-image-4275" /></a></p>
<p>Für die Vereinfachungen des Ganzen habe ich zwei Skripte geschrieben: Das erste Shell-Skript <a href='http://www.datenteiler.de/wp-content/uploads/2010/04/wifishell.sh.tar.gz'>wifishell.sh</a> wird auf dem Gnu/Linux-Rechner ausgeführt:</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: #666666; font-style: italic;"># Script:      wifishell.sh</span>
<span style="color: #666666; font-style: italic;"># Object:      Starts TCP/IP Console for S60 mobiles</span>
<span style="color: #666666; font-style: italic;">#              afterwards start console.py on your S60</span>
&nbsp;
<span style="color: #007800;">IP</span>=$<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">ifconfig</span>  <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">grep</span> <span style="color: #ff0000;">'inet '</span><span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">grep</span> <span style="color: #660033;">-v</span> <span style="color: #ff0000;">'127.0.0.1'</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">cut</span> -d: <span style="color: #660033;">-f2</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">awk</span> <span style="color: #ff0000;">'{ print $1}'</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
<span style="color: #007800;">PORT</span>=<span style="color: #ff0000;">&quot;1025&quot;</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Your IP address is: <span style="color: #007800;">$IP</span> &quot;</span>
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Start now wifishell.py on your phone ...&quot;</span>
&nbsp;
<span style="color: #c20cb9; font-weight: bold;">stty</span> raw <span style="color: #660033;">-echo</span> ; nc <span style="color: #660033;">-l</span> <span style="color: #660033;">-p</span> <span style="color: #000000;">1025</span> ; <span style="color: #c20cb9; font-weight: bold;">stty</span> sane</pre></div></div>

<p>Im ersten Teil wird die IP-Adresse im eigenen Netzwerk ermittelt und in der Variable <em>IP</em> gespeichert. Dies gilt, wie gesagt, nur für Gnu/Linux-Rechner. Verwendet man ein Betriebssystem mit Free- oder OpenBSD, bzw. mit MacOS X, muss man stattdessen folgende Zeile in das Skript einfügen:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #007800;">IP</span>=$<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">ifconfig</span>  <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">grep</span> <span style="color: #660033;">-E</span> <span style="color: #ff0000;">'inet.[0-9]'</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">grep</span> <span style="color: #660033;">-v</span> <span style="color: #ff0000;">'127.0.0.1'</span> <span style="color: #000000; font-weight: bold;">|</span><span style="color: #c20cb9; font-weight: bold;">awk</span> <span style="color: #ff0000;">'{ print $2}'</span><span style="color: #7a0874; font-weight: bold;">&#41;</span></pre></div></div>

<p>Außerdem muss man darauf achten, dass der Aufruf von <code>netcat</code> im zweiten Teil des Skripts ohne den Schalter <code>-p</code> geschieht, wie das Beispiel auf einem Mac zeigt:</p>
<p><a href="http://www.datenteiler.de/wp-content/uploads/2010/04/TCP-IP-Shell-Mac.jpg"><img src="http://www.datenteiler.de/wp-content/uploads/2010/04/TCP-IP-Shell-Mac-300x218.jpg" alt="" title="TCP-IP-Shell-Mac" width="300" height="218" class="aligncenter size-medium wp-image-4288" /></a></p>
<p>Als Benutzer von OpenSolaris verwendet man übrigens  folgende Zeile im Skript:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #007800;">IP</span>=$<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">ifconfig</span> <span style="color: #660033;">-a</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">grep</span> <span style="color: #ff0000;">'inet '</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">grep</span> <span style="color: #660033;">-v</span> <span style="color: #ff0000;">'127.0.0.1'</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">awk</span> <span style="color: #ff0000;">'{ print $2}'</span><span style="color: #7a0874; font-weight: bold;">&#41;</span></pre></div></div>

<p>Das Gegenstück in Python <a href='http://www.datenteiler.de/wp-content/uploads/2010/04/wifishell.py_.tar.gz'>wifishell.py</a> muss auf das Handy gespielt werden. Wie alle anderen Python-Skripte auch, sollte es dort auf der Speicherkarte ins Verzeichnis <code>E:\Python\</code> kopiert werden. Sobald <em>wifishell.sh</em> auf dem Gnu/Linux-Rechner oder der Unix-Maschine nach Anfragen auf dem Port 1025 lauscht, startet man über die Python-Shell auf dem Telefon das Skript <em>wifishell.py</em>, um eine Verbindung zum Terminal auf dem Computer herzustellen. Läuft alles glatt, verwandelt sich das Terminal in eine Python-Shell auf dem Handy.</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;"><span style="color: #808080; font-style: italic;"># Script:      wifishell.py</span>
<span style="color: #808080; font-style: italic;"># Object:      Starts TCP/IP Console for S60 mobiles</span>
<span style="color: #808080; font-style: italic;">#              before start console.sh on your Gnu/Linux box</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">import</span> btconsole, appuifw
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">sys</span>
<span style="color: #ff7700;font-weight:bold;">try</span>: <span style="color: #808080; font-style: italic;"># next lines important for select_access_point()</span>
    <span style="color: #dc143c;">sys</span>.<span style="color: black;">modules</span><span style="color: black;">&#91;</span><span style="color: #483d8b;">'socket'</span><span style="color: black;">&#93;</span> = <span style="color: #008000;">__import__</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'btsocket'</span><span style="color: black;">&#41;</span>
<span style="color: #ff7700;font-weight:bold;">except</span> <span style="color: #008000;">ImportError</span>:
    <span style="color: #ff7700;font-weight:bold;">pass</span>
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">socket</span>
&nbsp;
ip = appuifw.<span style="color: black;">query</span><span style="color: black;">&#40;</span>u<span style="color: #483d8b;">&quot;IP address:&quot;</span>, <span style="color: #483d8b;">&quot;text&quot;</span><span style="color: black;">&#41;</span>
port = <span style="color: #ff4500;">1025</span>
&nbsp;
sock=<span style="color: #dc143c;">socket</span>.<span style="color: #dc143c;">socket</span><span style="color: black;">&#40;</span><span style="color: #dc143c;">socket</span>.<span style="color: black;">AF_INET</span>, <span style="color: #dc143c;">socket</span>.<span style="color: black;">SOCK_STREAM</span><span style="color: black;">&#41;</span>
sock.<span style="color: black;">connect</span><span style="color: black;">&#40;</span><span style="color: black;">&#40;</span><span style="color: #008000;">str</span><span style="color: black;">&#40;</span>ip<span style="color: black;">&#41;</span>, port<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
btconsole.<span style="color: black;">run_with_redirected_io</span><span style="color: black;">&#40;</span>sock,btconsole.<span style="color: black;">interact</span>,<span style="color: #008000;">None</span>,<span style="color: #008000;">None</span>,<span style="color: #008000;">locals</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
sock.<span style="color: black;">close</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.datenteiler.de/eine-python-shell-fuers-handy-ueber-wlan/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Ein kleiner Webserver mit Python</title>
		<link>http://www.datenteiler.de/ein-kleiner-webserver-mit-python/</link>
		<comments>http://www.datenteiler.de/ein-kleiner-webserver-mit-python/#comments</comments>
		<pubDate>Fri, 02 Apr 2010 17:11:03 +0000</pubDate>
		<dc:creator>Christian Imhorst</dc:creator>
				<category><![CDATA[Gnu/Linux]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://www.datenteiler.de/?p=4187</guid>
		<description><![CDATA[Vielleicht kennt ihr das Problem ja auch: Da will man gerade los und denkt sich, &#8216;wäre ja schön das neu gekaufte Album unterwegs auf dem Handy zu hören&#8217;, oder &#8216;ich kann ja den Text schnell auf mein Handy laden und unterwegs lesen&#8217;, und dann weiß man nicht mehr, wo man das USB-Kabel gelassen hat, das [...]]]></description>
			<content:encoded><![CDATA[<p>Vielleicht kennt ihr das Problem ja auch: Da will man gerade los und denkt sich, &#8216;wäre ja schön das neu gekaufte Album unterwegs auf dem Handy zu hören&#8217;, oder &#8216;ich kann ja den Text schnell auf mein Handy laden und unterwegs lesen&#8217;, und dann weiß man nicht mehr, wo man das USB-Kabel gelassen hat, das Netbook hat kein Bluetooth und der Bluetooth-Adapter für den USB-Port liegt vermutlich beim verlegten USB-Kabel. Sollte WLAN vorhanden sein, ist das mit Python alles kein Problem. Der <a href="http://www.catonmat.net/blog/top-ten-one-liners-from-commandlinefu-explained/">folgende Einzeiler</a> startet einen HTTP-Server auf Port 8080 im aktuellen Verzeichnis:</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;">~/Musik$ python -m <span style="color: #dc143c;">SimpleHTTPServer</span> <span style="color: #ff4500;">8080</span></pre></div></div>

<p>Der Inhalt des Arbeitsverzeichnisses, in diesem Fall der Ordner <em>Musik</em>, wird über den HTTP-Server im internen Netzwerk angeboten, also nicht nur für <em>localhost</em>. Sollte sich im aktuellen Verzeichnis eine Datei wie <em>index.html</em> oder <em>index.htm</em> befinden, würde der Webbrowser ihren Inhalt anzeigen. Da sich solch eine Datei dort aber nicht aufhält, wird der Inhalt des Verzeichnisses angezeigt.</p>
<p><span id="more-4187"></span></p>
<p>Wenn der Server auf dem Netbook gestartet ist, öffnet man den Webbrowser des Handys. Bei meinem Nokia E71 musste ich dazu den Standardbrowser verwenden, da der Opera Mini sich nicht verbinden wollte. In die Adressleiste gibt man die IP-Adresse des Netbooks im internen Netzwerk gefolgt vom Port an. Die IP-Adresse wird auf jeden Fall anders sein. In meinem Fall ist das:</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;">http://192.168.2.105:<span style="color: #ff4500;">8080</span>/</pre></div></div>

<p><a href="http://www.datenteiler.de/wp-content/uploads/2010/04/Screenshot0037.jpg"><img src="http://www.datenteiler.de/wp-content/uploads/2010/04/Screenshot0037-300x225.jpg" alt="" title="Screenshot0037" width="300" height="225" class="aligncenter size-medium wp-image-4198" /></a></p>
<p>Wenn alles klappt, sieht man den Inhalt des Ordners auf dem Netbook präsentiert vom HTTP-Server:</p>
<p><a href="http://www.datenteiler.de/wp-content/uploads/2010/04/Screenshot0038.jpg"><img src="http://www.datenteiler.de/wp-content/uploads/2010/04/Screenshot0038-300x225.jpg" alt="" title="Screenshot0038" width="300" height="225" class="aligncenter size-medium wp-image-4196" /></a></p>
<p>Man kann sich nun durch die Ordner klicken und die einzelnen Musikstücke herunterladen, allerdings nur immer die einzelnen Dateien, keine kompletten Ordner.</p>
<p><a href="http://www.datenteiler.de/wp-content/uploads/2010/04/Screenshot0040.jpg"><img src="http://www.datenteiler.de/wp-content/uploads/2010/04/Screenshot0040-300x225.jpg" alt="" title="Screenshot0040" width="300" height="225" class="aligncenter size-medium wp-image-4201" /></a></p>
<p>In der Shell kann man dann sehr schön beobachten, mit welcher IP-Adresse das Handy auf die Ordner und Dateien des Servers zugreift:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">~<span style="color: #000000; font-weight: bold;">/</span>Musik$ python <span style="color: #660033;">-m</span> SimpleHTTPServer <span style="color: #000000;">8080</span>
Serving HTTP on 0.0.0.0 port <span style="color: #000000;">8080</span> ...
192.168.2.101 - - <span style="color: #7a0874; font-weight: bold;">&#91;</span>02<span style="color: #000000; font-weight: bold;">/</span>Apr<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">2010</span> <span style="color: #000000;">18</span>:<span style="color: #000000;">37</span>:<span style="color: #000000;">41</span><span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #ff0000;">&quot;GET / HTTP/1.1&quot;</span> <span style="color: #000000;">200</span> -
192.168.2.101 - - <span style="color: #7a0874; font-weight: bold;">&#91;</span>02<span style="color: #000000; font-weight: bold;">/</span>Apr<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">2010</span> <span style="color: #000000;">18</span>:<span style="color: #000000;">38</span>:07<span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #ff0000;">&quot;GET /The%20Avett%20Brothers/ HTTP/1.1&quot;</span> <span style="color: #000000;">200</span> -
192.168.2.101 - - <span style="color: #7a0874; font-weight: bold;">&#91;</span>02<span style="color: #000000; font-weight: bold;">/</span>Apr<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">2010</span> <span style="color: #000000;">18</span>:<span style="color: #000000;">38</span>:<span style="color: #000000;">16</span><span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #ff0000;">&quot;GET /The%20Avett%20Brothers/I%20And%20Love%20And%20You/ HTTP/1.1&quot;</span> <span style="color: #000000;">200</span> -
192.168.2.101 - - <span style="color: #7a0874; font-weight: bold;">&#91;</span>02<span style="color: #000000; font-weight: bold;">/</span>Apr<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">2010</span> <span style="color: #000000;">18</span>:<span style="color: #000000;">38</span>:<span style="color: #000000;">23</span><span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #ff0000;">&quot;GET /The%20Avett%20Brothers/I%20And%20Love%20And%20You/01%20-%20I%20And%20Love%20And%20You.mp3 HTTP/1.1&quot;</span> <span style="color: #000000;">200</span> -</pre></div></div>

<p>Jetzt möchte man vielleicht eine Datei schnell vom Handy zum Netbook schicken. Das ist mit einem Nokia S60-Modell und <a href="http://www.datenteiler.de/python-fuer-symbian-in-der-version-2-0/">Python for Symbian 2.0</a> kein Problem. Dazu muss <a href="http://www.digitaleschulebayern.de/dsdaten/278/19.pdf">folgendes kleine Skript</a> auf dem Telefon gestartet werden:</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;"><span style="color: #ff7700;font-weight:bold;">from</span> <span style="color: #dc143c;">BaseHTTPServer</span> <span style="color: #ff7700;font-weight:bold;">import</span> HTTPServer
<span style="color: #ff7700;font-weight:bold;">from</span> <span style="color: #dc143c;">SimpleHTTPServer</span> <span style="color: #ff7700;font-weight:bold;">import</span> SimpleHTTPRequestHandler
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">os</span>
&nbsp;
<span style="color: #dc143c;">os</span>.<span style="color: black;">chdir</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;e:<span style="color: #000099; font-weight: bold;">\\</span>&quot;</span><span style="color: black;">&#41;</span>
&nbsp;
serv = HTTPServer<span style="color: black;">&#40;</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;&quot;</span>, <span style="color: #ff4500;">8080</span><span style="color: black;">&#41;</span>, SimpleHTTPRequestHandler<span style="color: black;">&#41;</span>
serv.<span style="color: black;">serve_forever</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span></pre></div></div>

<p>Bevor der HTTP-Server auf Port 8080 gestartet wird, wird als Arbeitsverzeichnis &#8220;e:\\&#8221; vereinbart, was in diesem Fall die Speicherkarte ist. Bevor man den Server aber startet, sollte eine Internetverbindung über WLAN auf dem Handy schon etabliert sein. Am einfachsten surft man dazu mit dem Webbrowser irgendeine Seite an. Nach dem Start blockiert das Skripts  allerdings die Python Shell, dafür hat man jetzt die Möglichkeit, den Inhalt der Speicherkarte entlang zu surfen:</p>
<p><a href="http://www.datenteiler.de/wp-content/uploads/2010/04/simplehttpserver1.png"><img src="http://www.datenteiler.de/wp-content/uploads/2010/04/simplehttpserver1-300x199.png" alt="" title="simplehttpserver1" width="300" height="199" class="aligncenter size-medium wp-image-4208" /></a></p>
<p>Wenn man möchte, kann man einzelne Dokumente herunter laden oder vom Handy aus starten:</p>
<p><a href="http://www.datenteiler.de/wp-content/uploads/2010/04/simplehttpserver2.png"><img src="http://www.datenteiler.de/wp-content/uploads/2010/04/simplehttpserver2-300x190.png" alt="" title="simplehttpserver2" width="300" height="190" class="aligncenter size-medium wp-image-4210" /></a></p>
<p>Das alles funktioniert, weil bei neueren Python-Versionen das Standardmodul <code>SimpleHTTPServer</code> dabei ist. Da es auf dem Symbian-Handy leider keine Shell und kein Terminal gibt, kann man hier nicht mit der Option &#8220;-m&#8221; wie zum Beispiel unter Gnu/Linux auf dem Netbook arbeiten. Ein einfacher kurzer Einzeiler reicht hier nicht, man muss eben ein bisschen mehr ausholen. Es gibt übrigens auch die Möglichkeit, <a href="http://wiki.forum.nokia.com/index.php/Transferring_files_over_WiFi_with_PyS60_-_a_client/server_example">Dateien über WLAN mit einem Client- und einem Server-Programm</a> auszutauschen. Aber das ein anderes Mal.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.datenteiler.de/ein-kleiner-webserver-mit-python/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Keine Icons mehr in Lucid Lynx auf dem eCafe Hercules EC-800</title>
		<link>http://www.datenteiler.de/keine-icons-mehr-in-lucid-lynx-auf-dem-ecafe-hercules-ec-800/</link>
		<comments>http://www.datenteiler.de/keine-icons-mehr-in-lucid-lynx-auf-dem-ecafe-hercules-ec-800/#comments</comments>
		<pubDate>Thu, 01 Apr 2010 19:34:53 +0000</pubDate>
		<dc:creator>Christian Imhorst</dc:creator>
				<category><![CDATA[Gnu/Linux]]></category>

		<guid isPermaLink="false">http://www.datenteiler.de/?p=4175</guid>
		<description><![CDATA[[Update: In der endgültigen Fassung von Lucid Lynx ist der Fehler behoben und Ubuntu 10.04 kann unbesorgt auch auf das Hercules EC-800 installiert werden.] Nach dem Update auf Ubuntu Lucid Lynx werden auf dem Hercules EC-800 keine Icons mehr angezeigt. Schuld daran ist der neue Treiber xserver-xorg-video-geode in der Version 2.11.7, denn mit der Version [...]]]></description>
			<content:encoded><![CDATA[<p>[Update: In der endgültigen Fassung von Lucid Lynx ist der Fehler behoben und Ubuntu 10.04 kann unbesorgt auch auf das Hercules EC-800 installiert werden.]</p>
<p>Nach dem Update auf Ubuntu Lucid Lynx werden auf dem <a href="http://www.amazon.de/gp/product/B001DMS79K?ie=UTF8&#038;tag=imhorstnet-21&#038;linkCode=as2&#038;camp=1638&#038;creative=6742&#038;creativeASIN=B001DMS79K">Hercules EC-800</a><img src="http://www.assoc-amazon.de/e/ir?t=imhorstnet-21&#038;l=as2&#038;o=3&#038;a=B001DMS79K" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> keine Icons mehr angezeigt. Schuld daran ist der neue Treiber <em>xserver-xorg-video-geode</em> in der Version 2.11.7, denn mit der Version 2.11.6 oder mit dem Vesa-Treiber ist wieder alles in Ordnung. Das Problem existiert übrigens auch mit Sidux, wenn man auf Version 2.11.7 des Treibers aktualisiert. <a href="https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-geode/+bug/520671?comments=all">Solange der Bug nicht gefixt ist</a>, sollte man also besser bei Karmic Koala bleiben bzw. nicht auf den neuen Treiber aktualisieren.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.datenteiler.de/keine-icons-mehr-in-lucid-lynx-auf-dem-ecafe-hercules-ec-800/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Python für Symbian in der Version 2.0</title>
		<link>http://www.datenteiler.de/python-fuer-symbian-in-der-version-2-0/</link>
		<comments>http://www.datenteiler.de/python-fuer-symbian-in-der-version-2-0/#comments</comments>
		<pubDate>Wed, 31 Mar 2010 16:37:20 +0000</pubDate>
		<dc:creator>Christian Imhorst</dc:creator>
				<category><![CDATA[Gnu/Linux]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://www.datenteiler.de/?p=4135</guid>
		<description><![CDATA[Ich hinke zur Zeit den aktuellen Geschichten etwas hinter her, weshalb die Nachricht, dass Python für Symbian in der Version 2.0 erschien, bereits mehr als ein Monat alt ist. Aber es lohnt sich, auf die neue Version zu wechseln, da ihr Python 2.5.4 zugrunde liegt. Als Gnu/Linux-User benötigt man die Datei PythonForS60_2.0.0.tar.gz von garage.maemo.org. Nach [...]]]></description>
			<content:encoded><![CDATA[<p>Ich hinke zur Zeit den aktuellen Geschichten etwas hinter her, weshalb die Nachricht, dass <a href="http://discussion.forum.nokia.com/forum/showthread.php?t=193112">Python für Symbian in der Version 2.0</a> erschien, bereits mehr als ein Monat alt ist. Aber es lohnt sich, auf die neue Version zu wechseln, da ihr Python 2.5.4 zugrunde liegt. Als Gnu/Linux-User benötigt man die Datei <a href="https://garage.maemo.org/frs/download.php/7486/PythonForS60_2.0.0.tar.gz">PythonForS60_2.0.0.tar.gz</a> von <a href="https://garage.maemo.org/">garage.maemo.org</a>. Nach dem Entpacken überträgt man die Dateien <code>Python_2.0.0.sis</code>, <code>pips.sis</code> und <code>PythonScriptShell_2.0.0_3_0.sis</code> aus dem Ordner <code>/PythonForS60/PyS60Dependencies</code> entweder per Bluetooth oder mit dem USB-Kabel auf das Telefon. Anschließend installiert man sie in dieser Reihenfolge in den Telefonspeicher. Die Installation muss in den Telefonspeicher und nicht auf die Speicherkarte erfolgen, da Python-Programme ansonsten Probleme haben können, den Interpreter von Python für Symbian zu finden.</p>
<p><span id="more-4135"></span></p>
<p><a href="http://www.datenteiler.de/wp-content/uploads/2010/03/Screenshot0030.jpg"><img src="http://www.datenteiler.de/wp-content/uploads/2010/03/Screenshot0030-300x225.jpg" alt="" title="Screenshot0030" width="300" height="225" class="aligncenter size-medium wp-image-4144" /></a></p>
<p>Wenn alle drei Dateien installiert sind, findet man anschließend den Programm-Starter <em>Python2.0.0</em> im Ordner <em>Installationen</em>, und der Spaß kann beginnen:</p>
<p><a href="http://www.datenteiler.de/wp-content/uploads/2010/03/Screenshot0029.jpg"><img src="http://www.datenteiler.de/wp-content/uploads/2010/03/Screenshot0029-300x225.jpg" alt="" title="Screenshot0029" width="300" height="225" class="aligncenter size-medium wp-image-4146" /></a></p>
<p>Es bleibt aber ein kleiner Wermutstropfen: Python für S60 läuft nur auf Geräten der 3rd- und 5th-Editionen. Für Geräte der 2nd-Edition wird es leider kein Python 2.0 geben, da die benötigte OpenC-Bibliothek für sie nicht existiert. Es scheint auch Probleme mit der Installation auf älteren 3rd-Edition Geräten ohne Feature Pack (FP) zu geben, <a href="https://garage.maemo.org/tracker/?group_id=854&#038;atid=3201&#038;func=detail&#038;aid=4566">wie auf dem E61</a>. Die Version 1.9.6 funktioniert aber noch wunderbar.</p>
<p>Weiter ist es Schade, dass Python 2.0.0 für Symbian immer noch <a href="http://discussion.forum.nokia.com/forum/showthread.php?t=167836">nicht in den OVI-Store eingezogen</a> ist. Dabei ist es für die schnelle Entwicklung kleiner Anwendungen einfach ideal. Um das zu demonstrieren, legt man unter Gnu/Linux die Datei <em>HalloWelt.py</em> mit folgendem Zweizeiler an:</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;"><span style="color: #ff7700;font-weight:bold;">import</span> appuifw
&nbsp;
appuifw.<span style="color: black;">note</span><span style="color: black;">&#40;</span>u<span style="color: #483d8b;">'Hallo Welt.'</span>, <span style="color: #483d8b;">'info'</span><span style="color: black;">&#41;</span></pre></div></div>

<p>Die Datei speichert man dann im Ordner <code>/PythonForS60</code>, der aus der Datei <code>PythonForS60_2.0.0.tar.gz</code> extrahiert wurde. Im Terminal schlüpft man dann in dieses Verzeichnis und führt folgenden Befehl aus:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">python2.5 ensymble.py py2sis HalloWelt.py</pre></div></div>

<p>Der Befehl gilt für Ubuntu Karmic Koala, wo Python 2.6 bzw. Python 3.0 der Standard ist. Das Programm <em>Ensymble</em> funktioniert aber zur Zeit nur mit Python 2.5. Die daraufhin erzeugte Datei <em>HalloWelt_v1_0_0.sis</em> überträgt man wie gewohnt auf das Telefon, um sie dort zu installieren. Die Sicherheitswarnung, dass das Programm <em>HalloWelt</em> nicht signiert ist, kann man übrigens getrost ignorieren. Nach der Installation findet man den Starter im Ordner <em>Installationen</em>:</p>
<p><a href="http://www.datenteiler.de/wp-content/uploads/2010/03/Screenshot0032.jpg"><img src="http://www.datenteiler.de/wp-content/uploads/2010/03/Screenshot0032-300x225.jpg" alt="" title="Screenshot0032" width="300" height="225" class="aligncenter size-medium wp-image-4157" /></a></p>
<p>Führt man das Programm dann aus, sieht man diese Info-Meldung:</p>
<p><a href="http://www.datenteiler.de/wp-content/uploads/2010/03/Screenshot0031.jpg"><img src="http://www.datenteiler.de/wp-content/uploads/2010/03/Screenshot0031-300x225.jpg" alt="" title="Screenshot0031" width="300" height="225" class="aligncenter size-medium wp-image-4160" /></a></p>
<p>Wem das Beispiel zu schlapp ist, der kann das Ganze mit dem kleinen Programm <code>RamInfo.py</code> durchgehen. Das Programm zeigt einfach nur die Größe des kompletten und die des freien Arbeitsspeichers an:</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;"><span style="color: #ff7700;font-weight:bold;">import</span> appuifw, sysinfo
&nbsp;
totalRam = sysinfo.<span style="color: black;">total_ram</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>/<span style="color: black;">&#40;</span><span style="color: #ff4500;">1024</span><span style="color: #66cc66;">*</span><span style="color: #ff4500;">1024</span><span style="color: black;">&#41;</span>
freeRam = sysinfo.<span style="color: black;">free_ram</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>/<span style="color: black;">&#40;</span><span style="color: #ff4500;">1024</span><span style="color: #66cc66;">*</span><span style="color: #ff4500;">1024</span><span style="color: black;">&#41;</span>
&nbsp;
appuifw.<span style="color: black;">query</span><span style="color: black;">&#40;</span>u<span style="color: #483d8b;">'RAM:<span style="color: #000099; font-weight: bold;">\n</span>Total: '</span> + <span style="color: #008000;">str</span><span style="color: black;">&#40;</span>totalRam<span style="color: black;">&#41;</span> + u<span style="color: #483d8b;">' MB'</span> + u<span style="color: #483d8b;">'<span style="color: #000099; font-weight: bold;">\n</span>Free :  '</span> + <span style="color: #008000;">str</span><span style="color: black;">&#40;</span>freeRam<span style="color: black;">&#41;</span> + u<span style="color: #483d8b;">' MB'</span>, <span style="color: #483d8b;">'query'</span><span style="color: black;">&#41;</span></pre></div></div>

<p>Das Ergebnis könnte dann so aussehen, hängt aber vom verfügbarem Arbeitsspeicher und den aktuell laufenden Programmen ab:</p>
<p><a href="http://www.datenteiler.de/wp-content/uploads/2010/03/Screenshot0033.jpg"><img src="http://www.datenteiler.de/wp-content/uploads/2010/03/Screenshot0033-300x225.jpg" alt="" title="Screenshot0033" width="300" height="225" class="aligncenter size-medium wp-image-4163" /></a></p>
<p>Oder man informiert sich über den Ladestand des Akkus in Prozent:</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;"><span style="color: #ff7700;font-weight:bold;">import</span> appuifw, sysinfo
&nbsp;
battery = sysinfo.<span style="color: black;">battery</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
appuifw.<span style="color: black;">note</span><span style="color: black;">&#40;</span>u<span style="color: #483d8b;">'Battery: '</span> + <span style="color: #008000;">str</span><span style="color: black;">&#40;</span>battery<span style="color: black;">&#41;</span> + <span style="color: #483d8b;">' %'</span>, <span style="color: #483d8b;">'info'</span><span style="color: black;">&#41;</span></pre></div></div>

<p>Wie man sieht, kann man sehr schnell viele kleine Programme selbst schreiben, in eine Symbian-Datei umwandeln und auf dem Handy installieren.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.datenteiler.de/python-fuer-symbian-in-der-version-2-0/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Kalender synchronisieren mit Nokia, Google und Ubuntu</title>
		<link>http://www.datenteiler.de/kalender-synchronisieren-mit-nokia-google-und-ubuntu/</link>
		<comments>http://www.datenteiler.de/kalender-synchronisieren-mit-nokia-google-und-ubuntu/#comments</comments>
		<pubDate>Fri, 19 Mar 2010 17:24:01 +0000</pubDate>
		<dc:creator>Christian Imhorst</dc:creator>
				<category><![CDATA[Gnu/Linux]]></category>
		<category><![CDATA[Nokia]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.datenteiler.de/?p=3390</guid>
		<description><![CDATA[Natürlich kann man ein Nokia-Handy auch direkt mit Ubuntu synchronisieren, wenn man das möchte. Aber warum einfach, wenn es auch ein bisschen umständlicher geht: Die Synchronisation von Kontakt- und Kalenderdaten über Google. Doch es lohnt sich, besonders wenn man mehrere PCs besitzt, das Handy verliert, oder das Betriebssystem &#8212; aus welchen Gründen auch immer &#8212; [...]]]></description>
			<content:encoded><![CDATA[<p>Natürlich kann man ein Nokia-Handy auch <a href="http://www.datenteiler.de/nokia-e65-und-evolution/">direkt mit Ubuntu synchronisieren</a>, wenn man das möchte. Aber warum einfach, wenn es auch ein bisschen umständlicher geht: Die Synchronisation von Kontakt- und Kalenderdaten über Google. Doch es lohnt sich, besonders wenn man mehrere PCs besitzt, das Handy verliert, oder das Betriebssystem &mdash; aus welchen Gründen auch immer &mdash; neu aufsetzen muss. In solchen Fällen hat man sofort wieder alle Kontakt- und Kalenderdaten zur Hand. Wenn man sowieso schon ein Google-Konto besitzt und dort alle Kontakte und Termine gelagert hat, liegt die Entscheidung dafür mehr als nah. Den praktischen Online-Kalender kann man außerdem über das ICAL-Format wunderbar in Gnome einbinden, so dass die Einträge in Evolution und im Uhr-Applet des Gnome-Panels zu sehen sind. Voraussetzung dafür ist ein <a href="http://www.forum.nokia.com/devices/matrix_s60_1.html">Handy</a> mit <a href="http://de.wikipedia.org/wiki/S60">S60</a>-Benutzeroberfläche, zum Beispiel das <a href="http://www.amazon.de/gp/product/B001CZJHGU?ie=UTF8&#038;tag=imhorstnet-21&#038;linkCode=as2&#038;camp=1638&#038;creative=6742&#038;creativeASIN=B001CZJHGU">Nokia E71</a><img src="http://www.assoc-amazon.de/e/ir?t=imhorstnet-21&#038;l=as2&#038;o=3&#038;a=B001CZJHGU" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />, ein Google-Konto und ein Gnu/Linux-Betriebssystem mit Gnome-Desktop, z.B. <a href="http://wiki.ubuntuusers.de/Downloads">Ubuntu</a>.</p>
<p><span id="more-3390"></span></p>
<p><strong>Nokia und Google</strong></p>
<p>Falls man kein Google-Konto hat, <a href="http://mail.google.com/mail/signup">kann man es jetzt angelegen</a>. Für das Handy benötigt man das Nokia-Tool <a href="http://www.nokia.de/service-und-software/software/mail-for-exchange">Mail for Exchange</a>. Dazu wählt man auf der <a href="http://www.nokia.de/service-und-software/software/mail-for-exchange/compatibility-and-download">Download-Seite</a> sein Nokia-Modell aus und lädt sich die Software herunter. Über Bluetooth oder dem mitgelieferten USB-Kabel kann man die Datei auf das Telefon übertragen und anschließend installieren. Nun fehlen noch die Einstellungen: Dazu <em>Mail for Exchange</em> öffnen und &#8220;Profil bearbeiten&#8221; unter &#8220;Optionen&#8221; wählen.</p>
<p><a href="http://www.datenteiler.de/wp-content/uploads/2010/03/Screenshot0018.jpg"><img src="http://www.datenteiler.de/wp-content/uploads/2010/03/Screenshot0018-300x231.jpg" alt="" title="Screenshot0018" width="300" height="231" class="aligncenter size-medium wp-image-4065" /></a></p>
<p>Als <strong>Exchange-Server</strong> trägt man <em>m.google.com</em> ein. (Sollte es beim Synchronisieren zu einem Verbindungsfehler kommen, <a href="http://www.itler.net/2009/05/google-sync-kontakte-und-kalender-von-nokia-handys-mit-google-synchronisieren">hilft es vielleicht</a>, ein &#8220;http://&#8221; vor &#8220;m.google.com&#8221; zu setzen, aber erstmal sollte man es so probieren.)  Bei <strong>Sichere Verbindung</strong> nimmt man am besten <em>Ja</em>, als <strong>Zugriffspunkt</strong> seinen Netzanbieter oder einfach <em>Internet</em>. Mit der rechten Softkey-Taste, über der verwirrenderweise <em>Zurück</em> steht, bestätigt man die Änderungen. </p>
<p><a href="http://www.datenteiler.de/wp-content/uploads/2010/03/Screenshot0020.jpg"><img src="http://www.datenteiler.de/wp-content/uploads/2010/03/Screenshot0020-300x231.jpg" alt="" title="Screenshot0020" width="300" height="231" class="aligncenter size-medium wp-image-4068" /></a></p>
<p>Unter <em>Anmeldeinfo</em> trägt man unter <strong>Benutzername</strong> die eigene vollständige Emailadresse ein, entweder <em>xyz@gmail.com</em> oder <em>xyz@googlemail.com</em>, als <strong>Kennwort</strong> das eigene Passwort bei Google und unter <strong>Domäne</strong> &mdash; tja, hier scheiden sich die Geister. Manche sagen, <a href="http://www.itler.net/2009/05/google-sync-kontakte-und-kalender-von-nokia-handys-mit-google-synchronisieren">dass man hier nichts einzutragen braucht</a>, oder <em>gmail.com</em>. Ich musste <em>google.com</em> eintragen, damit die Synchronisierung klappt.   </p>
<p><a href="http://www.datenteiler.de/wp-content/uploads/2010/03/Screenshot0019.jpg"><img src="http://www.datenteiler.de/wp-content/uploads/2010/03/Screenshot0019-300x231.jpg" alt="" title="Screenshot0019" width="300" height="231" class="aligncenter size-medium wp-image-4072" /></a></p>
<p>Mit <em>Zurück</em> wieder betätigen. Bei den restlichen Einstellungen sollte man darauf achten, dass zur Zeit nur <em>Kalender</em> und <em>Kontakte</em> fehlerfrei synchronisiert werden können, <em>Aufgaben</em> und <em>E-Mail</em> dagegen nicht. Daher sollte bei <strong>Aufgaben synchron.</strong> und bei <strong>E-Mail synchronisieren</strong> jeweils <em>Nein</em> eingetragen sein, bei <strong>Kalender synchron.</strong> und bei <strong>Kontakte synchron.</strong> dagegen <em>Ja</em>.</p>
<p><a href="http://www.datenteiler.de/wp-content/uploads/2010/03/weitere-einstellungen.png"><img src="http://www.datenteiler.de/wp-content/uploads/2010/03/weitere-einstellungen-300x61.png" alt="" title="weitere-einstellungen" width="300" height="61" class="aligncenter size-medium wp-image-4076" /></a></p>
<p>Abschließend gleicht man den Google-Kalender mit dem Kalender auf dem Handy ab, indem man &#8220;Synchronisieren&#8221; auswählt.</p>
<p><a href="http://www.datenteiler.de/wp-content/uploads/2010/03/Screenshot0021.jpg"><img src="http://www.datenteiler.de/wp-content/uploads/2010/03/Screenshot0021-300x231.jpg" alt="" title="Screenshot0021" width="300" height="231" class="aligncenter size-medium wp-image-4080" /></a></p>
<p>Danach kann man dem <em>Mail for Exchange</em> bei der Arbeit zusehen, wie es &mdash; zum Beispiel &mdash; den Kalender synchronisiert.</p>
<p><a href="http://www.datenteiler.de/wp-content/uploads/2010/03/Screenshot0023.jpg"><img src="http://www.datenteiler.de/wp-content/uploads/2010/03/Screenshot0023-300x231.jpg" alt="" title="Screenshot0023" width="300" height="231" class="aligncenter size-medium wp-image-4082" /></a></p>
<p><strong>Google und Ubuntu</strong></p>
<p>Um den <a href="http://linuxundich.de/de/ubuntu/google-kalender-in-gnome-integrieren/">Kalender jetzt unter Ubuntu einzubinden</a>, benötigt man den Link zur URL der ICAL-Datei. Die findet man heraus, indem man auf den kleinen Pfeil neben den eigenen Kalender klickt und die Kalendereinstellungen öffnet. </p>
<p><a href="http://www.datenteiler.de/wp-content/uploads/2010/03/gcal.png"><img src="http://www.datenteiler.de/wp-content/uploads/2010/03/gcal-258x300.png" alt="" title="gcal" width="258" height="300" class="aligncenter size-medium wp-image-4043" /></a></p>
<p>Danach klickt man unter <em>Privatadresse</em> auf das Icon von ICAL und kann aus dem Popup-Fenster die URL zum Kalender herauskopieren.</p>
<p><a href="http://www.datenteiler.de/wp-content/uploads/2010/03/gcal11.png"><img src="http://www.datenteiler.de/wp-content/uploads/2010/03/gcal11-300x164.png" alt="" title="gcal1" width="300" height="164" class="aligncenter size-medium wp-image-4046" /></a></p>
<p>Den Kalender-Link von Google kann man am einfachsten und schnellsten über den Befehl <code>evolution-webcal</code> im Terminal einbinden:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>evolution-webcal<span style="color: #000000; font-weight: bold;">/</span>evolution-webcal http:<span style="color: #000000; font-weight: bold;">//</span>www.google.com<span style="color: #000000; font-weight: bold;">/</span>calendar<span style="color: #000000; font-weight: bold;">/</span>ical<span style="color: #000000; font-weight: bold;">/</span>christian<span style="color: #7a0874; font-weight: bold;">&#91;</span>...<span style="color: #7a0874; font-weight: bold;">&#93;</span><span style="color: #000000; font-weight: bold;">/</span>basic.ics</pre></div></div>

<p>Sollte <code>evolution-webcal</code> nicht im Verzeichnis <code>/usr/lib/</code> liegen, findet man es mit folgendem Befehl im Terminal:</p>

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

<p>Abschließend kann man noch den Intervall, nach dem die Daten aktualisiert werden sollen, und die Farbe auswählen. Nachdem der Dialog geschlossen ist, erscheinen die Einträge sofort in Evolution und im Uhren-Applet des Gnome-Panels.</p>
<p>Um <em>Google Contacts</em> einzubinden, klickt man in Evolution auf <em>Kontakte</em>, öffnet dann mit der rechten Maustaste ein Kontext-Menü und wählt <em>Neues Adressbuch</em> aus.  </p>
<p><a href="http://www.datenteiler.de/wp-content/uploads/2010/03/neues-adressbuch.png"><img src="http://www.datenteiler.de/wp-content/uploads/2010/03/neues-adressbuch-246x300.png" alt="" title="neues-adressbuch" width="246" height="300" class="aligncenter size-medium wp-image-4096" /></a></p>
<p>Danach nimmt man die benötigten Einstellungen vor, in etwa so, wie sie auf dem Bildschirmfoto unten zu sehen ist:</p>
<p><a href="http://www.datenteiler.de/wp-content/uploads/2010/03/gcal4.png"><img src="http://www.datenteiler.de/wp-content/uploads/2010/03/gcal4-295x300.png" alt="" title="gcal4" width="295" height="300" class="aligncenter size-medium wp-image-4098" /></a></p>
<p>Um die E-Mail-Vervollständigung zu nutzen, damit die E-Mail-Adresse, die man in das Empfänger-Feld einer E-Mail schreibt, automatisch vervollständigt wird und nicht mühselig abgetippt werden muss, macht man unter <em>Bearbeiten</em> und <em>Einstellungen</em> in <em>Kontakte</em> bei <strong>Auto-Vervollständigung</strong> ein Häkchen und wählt mit einem weiteren Häkchen das Adressbuch aus, das dazu benutzt werden soll.</p>
<p><a href="http://www.datenteiler.de/wp-content/uploads/2010/03/gcal5.png"><img src="http://www.datenteiler.de/wp-content/uploads/2010/03/gcal5-300x212.png" alt="" title="gcal5" width="300" height="212" class="aligncenter size-medium wp-image-4100" /></a></p>
<p><strong>Was ist mit Thunderbird?</strong></p>
<p>Mit der Thunderbird-Erweiterung <em>Lightning</em> und dem Add-on <a href="https://addons.mozilla.org/en-US/thunderbird/addon/4631">Provider for Google Calendar</a> funktioniert das Einbinden eines Google-Kalenders <a href="http://blog.bugie.de/htc-hero-linux-synchronisieren-dank-google">recht einfach</a>. Man benötigt aber den Link zur XML-Datei vom Google-Kalender (der befindet sich gleich links neben dem Link zur ICAL-Adresse), die man dann als Kalender-Adresse einträgt. Dazu öffnet man unter <em>Kalender</em> einen <em>Neuen Kalender</em>. Nach dem Klick auf &#8220;Weiter&#8221; wählt man im nächsten Fenster <em>Netzwerk</em> aus, da der neue Kalender ja bei Google gespeichert werden soll. Im nächsten Fenster wählt man dann auch <em>Google Calendar</em> und fügt neben <em>Adresse:</em> den Link zur XML-Datei ein:</p>
<p><a href="http://www.datenteiler.de/wp-content/uploads/2010/03/gcal7.png"><img src="http://www.datenteiler.de/wp-content/uploads/2010/03/gcal7-300x240.png" alt="" title="gcal7" width="300" height="240" class="aligncenter size-medium wp-image-4106" /></a></p>
<p>In den weiteren Fenstern bestätigt man mit dem Passwort noch den Zugriff auf das Google-Konto und wählt einen Namen für den Kalender aus. Nach Abschluss werden die Einträge sofort in <em>Lightning</em> angezeigt.</p>
<p>Mit dem Add-on <a href="https://addons.mozilla.org/en-US/thunderbird/addon/7307">Google Contacts</a> lassen sich die Kontakte  ebenfalls mit Thunderbird synchronisieren, allerdings benötigt man dazu Thunderbird ab Version 3.0, <a href="http://blog.bugie.de/thunderbird-3-unter-ubuntu-9-10">der unter Ubuntu 9.10 extra installiert</a> werden muss. Es erkennt automatisch das eigene Google-Konto, falls es eingerichtet ist, und legt ein neues Adressbuch an.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.datenteiler.de/kalender-synchronisieren-mit-nokia-google-und-ubuntu/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
	</channel>
</rss>
