Zur Version ohne Bilder
freiesMagazin Mai 2014
(ISSN 1867-7991)
                        
    jEdit – der unterschätzte Texteditor 
    GNU Emacs, Vi(m), Sublime Text, Gedit, Nano und viele weitere Antworten werden genannt, wenn man heutzutage in einer beliebigen IT-Community die Frage nach dem Lieblingseditor stellt. Jedoch gibt es mit jEdit einen Kandidaten, der in diesem Bereich stets unterschätzt wird. (weiterlesen) 
    
    Mit Tarnkappe im Netz – Das Tor Browser Bundle 
    Möchte man sich anonym im Internet bewegen, wird das vom Tor Browser Bundle leicht gemacht. Das Bundle erhält man auf der Projekt-Seite von Tor. Dabei ist Tor die Kurzform von The Onion Router und hat das Ziel, Verbindungsdaten von Programmen im Internet zu anonymisieren. (weiterlesen) 
    
    Vorstellung: BeagleBone Black 
    Viele elektronische Geräte buhlen heutzutage um die Gunst des Bastlers auf dem heimischen Sofa. Der bekannteste ist sicherlich der Raspberry Pi. Für Mikrocontroller-Freunde bietet sich der Arduino an. Ein weiterer Mini-PC im Hosentaschenformat ist das BeagleBone Black, das in dem Artikel vorgestellt werden soll. (weiterlesen) 
    
Zum Index
              
                        
Linux allgemein
Der April im Kernelrückblick
Anleitungen
E-Mails filtern mit KMail
Software
Multimedia- und Liedprojektion mit OpenLP
jEdit – der unterschätzte Texteditor
Mit Tarnkappe im Netz – Das Tor Browser Bundle
tmux – Das Kung-Fu der Terminal-Ninjas
Hardware
Vorstellung: BeagleBone Black
Linux auf dem Laptop (Acer Aspire V3-771G)
Community
Rezension: BeagleBone für Einsteiger
Rezension: JavaScript – Grundlagen, Programmierung, Praxis
Rezension: Eclipse IDE
Magazin
Editorial
freiesMagazin als HTML und EPUB
Leserbriefe
Veranstaltungen
Vorschau
Konventionen
Impressum
Zum Index
    
Das Herz blutet
Seit der Veröffentlichung des
Heartbleed-Bugs [1] in
OpenSSL [2] sind gerade einmal vier Wochen 
vergangen. Inzwischen wurde die Berichterstattung darüber in den allgemeinen 
Medien weitgehend von anderen Themen verdrängt. Im Zuge der Aufdeckung der 
weitreichenden Überwachung der Kommunikation durch die Geheimdienste wurde 
schnell die Frage gestellt, ob die Lücke absichtlich in den Quellcode 
eingebaut wurde. 
Auch wenn der Programmierer selbst von einem einfachen 
Programmierfehler spricht, weist diese Lücke auf einen besonderen Punkt von 
Open-Source-Software hin: Der Quellcode ist für jeden verfügbar, kann 
überprüft und auf Fehler getestet werden. Bloß muss das auch gemacht werden, 
damit das häufig gehörte Argument, Open-Source-Software sei sicherer als 
proprietäre Software, auch in der Praxis zutrifft.
Neue Icons gesucht!
Wir haben einen kleinen Wettbewerb ausgeschrieben, bei dem es darum geht, 
neue Icons für das Magazin zu gestalten. Konkret suchen wir zwei Icons, um 
darzustellen, dass man einen Artikel empfehlen oder kommentieren kann.
Jeder ist eingeladen, mitzumachen. Die Teilnahmebedingungen stehen auf der
Webseite [3]
und man kann noch  bis zum 22. Mai 2014 einen Vorschlag einreichen.
EPUB-Erstellung
In regelmäßigen Abständen erreichen uns immer wieder Fragen bezüglich der 
Erstellung von freiesMagazin im Allgemeinen und besonders der Erstellung der HTML- 
und EPUB-Version. Wir freuen uns sehr über das Interesse und haben schon 
einige Anleitungen veröffentlicht, allerdings ohne ein konkretes Beispiel 
anzugeben. Dies möchten wir nun ändern und haben daher auf unserer
Webseite [4]
und in dieser Ausgabe eine detaillierte Anleitung 
veröffentlicht. Die dazu benötigten Beispielskripte stehen auf unserer Homepage 
zum Download bereit, sodass die Anleitung für alle interessierten Leser 
leicht nachvollzogen werden kann.
Und nun wünschen wir Ihnen viel Spaß mit der neuen Ausgabe
Ihre freiesMagazin-Redaktion
    Links
        
[1] https://de.wikipedia.org/wiki/Heartbleed
[2] http://www.openssl.org/
[3] http://www.freiesmagazin.de/20140501-wettbewerb-neue-icons-fuers-magazin-gesucht
[4] http://www.freiesmagazin.de/20140420-freiesmagazin-als-html-und-epub-erstellen
    
        Das Editorial kommentieren
    Zum Index
von Mathias Menzer
    Basis aller Distributionen ist der Linux-Kernel, der fortwährend
weiterentwickelt wird. Welche Geräte in einem halben Jahr unterstützt werden und
welche Funktionen neu hinzukommen, erfährt man, wenn man den aktuellen
Entwickler-Kernel im Auge behält.
Linux 3.15
Die Entwicklung von Linux 3.14 endete zusammen mit dem Monat März und die
Entwicklung der nächsten Kernel-Version konnte in den ersten beiden Aprilwochen
voranschreiten. 
Ein Blick auf die Änderungen der ersten Entwicklerversion könnte
einen glauben lassen, dass das Aprilwetter sehr fruchtbar war, denn der Patch
ist einer der umfangreichsten. In der Freigabe-E-Mail zum
-rc1 [1] erklärte Torvalds dann auch, dass
es zwar schon größere Patches gab, die mehr geänderte Quelltextzeilen aufwiesen, dies
jedoch immer auf etwas Bestimmtes zurückgeführt werden konnte.
Diesmal sind es
jedoch nicht einzelne Neuerungen, die das vergleichsweise große Volumen
ausmachen, sondern einfach nur sehr viele, teilweise kleine Änderungen. Diese verteilen sich denn auch
großzügig über alle Bereiche des Kernels, auch wenn der Treiber-Bereich wieder
die meisten Änderungen abbekam. Ein guter Teil davon wiederum entfällt auf den
Staging-Bereich, der mit einem Treiber für neue WLAN-Chips aus dem Hause Realtek
gesegnet wurde. Greg Kroah-Hartman reichte die Aufnahme des Treibers noch nach,
da entsprechende Geräte bereits in aktuellen Notebooks verbaut werden. Torvalds
warnte die Entwickler auch, dass er keine Änderungen aufnehmen wird, die das
Merge Windows verpasst haben, gerade auch aufgrund des großen Umfangs von -rc1.
„Und am siebenten Tag gab es wieder die -rc-Veröffentlichung, gemäß den beim Kernel Summit im Jahre 2004 festgelegten Schriften“
leitete – frei übersetzt –
die Freigabe-E-Mail für Linux 3.15-rc2 [2]
ein. Auch diese Entwicklerversion fällt etwas größer aus als meist üblich. Zum
einen wurde der RTL8187se-Treiber aus dem Staging-Bereich entfernt, da für die
entsprechenden WLAN-Chipsätze bereits ein funktionsfähiger Treiber vorliegt.
Zum anderen sorgten Aufräumarbeiten im Umfeld der Grafikumgebung mit nur einem
Commit für eine große Anzahl Änderungen an
Dateien [3].
Über 300000 Codezeilen in 471 Dateien blähen
den Patch auf 12 MB als gzip-Archiv [4] auf und
platzieren 3.15-rc2 somit in den Spitzenrängen der größten Patches für
Entwicklerkernel.
Dagegen erscheint die dritte
Entwicklerversion [5] etwas deplaziert, mit
weniger als 250 geänderten Dateien und unter 5000 Quelltextzeilen. Doch stellt
sie eher die Rückkehr zu den in der 3er-Kernel-Reihe üblichen kleinen und
überschaubaren Entwicklungsschritten dar. Und so liest man auch im Shortlog fast
ausschließlich von Korrekturen und Fixes.
Systemd
An einem Start-Parameter entzündete sich eine Diskussion zwischen Linux- und
systemd-Entwicklern [6]. systemd wertete den
Parameter debug aus und sorgte so dafür, dass nicht nur der Linux-Kernel
sondern auch systemd selbst Daten zur Fehlersuche mitschrieb und aufgrund der
Menge der mitgeloggten Informationen Rechner in einen nicht mehr nutzbaren
Zustand kommen konnten. Die Diskussion wurde teilweise emotional geführt und,
ursprünglich auf der Linux-Kernel-Mailing-Liste bald auch nach Google+ geforkt.
Greg Kroah-Hartman versuchte im Verlauf zu beruhigen und unterbreitete einen
Vorschlag, statt debug künftig systemd.debug zu verwenden. Dem folgten die
systemd-Entwickler nicht, sondern lassen systemd künftig weniger mitschreiben,
um das System auch beim Debugging nicht zu
überlasten [7].
Netcat
Rund um den Kernel gibt es auch immer wieder kleine Anekdoten zu berichten: So
hat eine Seattler Band mit dem nerdigen Namen
„netcat“ [8] ihr neuestes Album unter anderem als
Kernel-Modul veröffentlicht [9]. Auf GitHub stehen die
Quellen für „Cycles Per Instruction“ bereit [10] 
und auch Anweisungen zum Kompilieren des Albums sind
dort zu finden. Das damit erzeugte Kernel-Modul stellt nach dem Laden durch
den Kernel ein Gerät /dev/netcat bereit, dessen Ausgabe auf einen
Audio-Player umgeleitet werden kann.
Wem dieses Vorgehen jedoch zu aufwändig erscheint, der kann „Cycles Per
Instruction“ auf Bandcamp [11] anhören, als
Download kaufen oder auch als
Musikkassette [12] bestellen.
    Links
        
[1] https://lkml.org/lkml/2014/4/13/121
[2] https://lkml.org/lkml/2014/4/20/92
[3] https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/drivers/video/fbdev?id=f7018c21350204c4cf628462f229d44d03545254
[4] https://de.wikipedia.org/wiki/Gzip
[5] https://lkml.org/lkml/2014/4/27/282
[6] http://www.pro-linux.de/-0h2151d5
[7] http://www.pro-linux.de/-0h2151e2
[8] http://www.netcat.co/
[9] http://www.pro-linux.de/-0h21521c
[10] https://github.com/usrbinnc/netcat-cpi-kernel-module
[11] http://netcat.bandcamp.com/
[12] https://de.wikipedia.org/wiki/Musikkassette
    
        
| Autoreninformation | 
| Mathias Menzer (Webseite)
behält die Entwicklung des Linux-Kernels im Blick, um über kommende Funktionen
von Linux auf dem laufenden zu bleiben. | 
        Diesen Artikel kommentieren
    Zum Index
    
von Dr. Diether Knof
    Fast alle E-Mail-Programme, auch die Web-basierten, bieten einen
Filtermechanismus an. Damit lassen sich abhängig von Absender und Inhalt
automatisch vordefinierte Aktionen für E-Mails durchführen. Aus der Praxis
am bekanntesten dürfte das Filtern von Spam sein, bei dem E-Mails bewertet
werden und abhängig davon, ob sie als Spam klassifiziert sind, in den Spam-Ordner
oder in den Posteingang gelegt oder sogar automatisch gelöscht werden.
In diesem Artikel wird konkret die Anwendung des Filtermechanismus des
E-Mail-Programms KMail [1] von KDE
erläutert. Die Verwendung der Filter wird im Folgenden an verschiedenen
Beispielen gezeigt. Die E-Mails werden beim Empfang oder erst nach dem
Lesen entsprechend Absender und Stichworten in Ordner sortiert. Es wird
auf die Filterung von Spam eingegangen und gezeigt, wie E-Mails
automatisch verändert werden können. Die meisten der Filter lassen sich
auch bei anderen E-Mail-Programmen wie Thunderbird und bei Web-Mail-Clients
anwenden. Die Beispiele sollen auch Anregungen zur Verwaltung der E-Mails
geben.
Hinweis: In den Beispielen sind ausschließlich fiktive E-Mail-Adressen
angegeben; diese müssen für den Einsatz auf den jeweiligen Fall angepasst
werden.
Allgemeines
KMail lässt sich einfach über den Paketmanager installieren, es ist Teil
von kontact, der PIM-Suite 
von KDE [2].
Beim ersten Aufruf von KMail wird ein Wizard ausgeführt, der durch die
Einrichtung eines E-Mail-Kontos führt. Hierauf wird in diesem Artikel
nicht weiter eingegangen.
Die Filter werden in KMail im Menü „Einstellungen“ über den Menüpunkt
„Filter einrichten …“ bearbeitet.

Filterregeln.
Das Fenster „Filterregeln“ enthält auf der linken Seite eine Liste der
eingerichteten Filter sowie 
Schaltflächen zur Steuerung der Reihenfolge
der Filter, zum Hinzufügen, Kopieren, Löschen und Umbenennen einzelner
Filter.
Die Filter werden für alle eingehenden E-Mails von oben nach unten
geprüft. Greift ein Filter, werden die definierten Filteraktionen
durchgeführt und normalerweise die Filterung für diese E-Mail beendet.
Auf der rechten Seite des Fensters kann der in der Liste gewählte Filter
verändert werden. Im Reiter „Allgemein“ ist der eigentliche Filter
definiert, dieser besteht immer aus den folgenden zwei Bereichen:
-  Anhand der „Filterkriterien“ (rechter oberer Block im Fenster) wird
  entschieden, ob der Filter greifen soll oder nicht. Die „Filterkriterien“
  verändern die E-Mail nicht.
-  Greift der Filter, werden die „Filteraktionen“ (rechter unterer Block
  im Fenster) durchgeführt. Hierbei kann auch die E-Mail verändert werden, darauf
  wird später eingegangen.
Die Hilfe zu den Filtern (über die Schaltfläche „Hilfe“ erreichbar)
enthält eine kurze Erläuterung zu den jeweiligen möglichen Einträgen,
wobei (zumindest in der verwendeten Version 4.11.5) die Bezeichnungen in
der Hilfe nicht genau mit denen des Programms übereinstimmen.
Im Reiter „Erweitert“ wird definiert, unter welchen Bedingungen ein Filter
überhaupt geprüft wird. In den Beispielen wird auf die Filterung aller
eingehenden E-Mails und auf die manuelle Filterung eingegangen.
In KMail lassen sich weiterhin die Filtervorgänge protokollieren (Menü
„Extras -> Filterprotokoll anzeigen …“). Damit lässt sich prüfen, welcher
der eingerichteten Filter greift und welche Aktionen durchgeführt werden.Verschieben in einen Ordner
Filter lassen sich gut verwenden, um E-Mails automatisch in
unterschiedliche Ordner abzulegen. Damit lassen sich eingehende E-Mails
gleich sortieren (dieses Beispiel) und auch das Archivieren abhängig vom
Empfänger/Inhalt wird einfach (siehe Beispiel „freiesMagazin“).
Der erste Anwendungsfall ist das automatische Verschieben von eingehenden
E-Mails eines bestimmten Absenders, in diesem Fall von
unwetter@fiktivemail.de in einen separaten Ordner „Unwetterwarnung“.
Zuerst wird der Unterordner „Arbeit“ unter dem Posteingang angelegt: In
der Ordnerübersicht von KMail ein Rechtsklick mit der Maus auf den
Ordner
„Posteingang“, im Kontextmenü „Ordner hinzufügen …“ auswählen und als
Name „Unwetterwarnung“ angeben. Ein Ordner lässt sich auch hinzufügen,
wenn das Fenster „Filterregeln“ geöffnet ist.
Um den Filter anzulegen ist es am einfachsten, per Rechtsklick auf eine
entsprechende E-Mail in der Nachrichtenliste von KMail das Kontextmenü
aufzurufen und dort im Untermenü „Filter anlegen …“ den Punkt
„Nach Absender filtern …“ auswählen. Es wird automatisch ein Filter
angelegt, in diesem Fall mit Namen „<From>: unwetter@fiktivemail.de“. Der
Name lässt sich über die Schaltfläche „Umbenennen“ in 
„Unwetterwarnung“
ändern.

Filter „Unwetterwarnung“.
Das Filterkriterium „Von enthält unwetter@fiktivemail.de“ ist bereits das
Gewünschte: es wird nach dem Absender gefiltert. Bei den Filteraktionen ist
„In Ordner verschieben“ vorausgewählt. Mit einem Linksklick auf das
Ordnersymbol rechts neben dem Feld „Ordner auswählen“ wird die Ordnerliste
angezeigt. Hier ist dann der Ordner „Unwetterwarnung“ auszuwählen. Auch an
dieser Stelle kann der Zielordner noch erstellt werden.
Der Filter wird für alle eingehenden E-Mails automatisch angewendet – dies
ist die Voreinstellung für neue Filter (im Reiter „Erweitert“). Wenn also
der Absender unwetter@fiktivemail.de enthält, wird die E-Mail
statt im Posteingang im Ordner „Unwetterwarnung“ abgelegt.
Mehrere Filterkriterien
Der nächste Anwendungsfall ist das Archivieren der E-Mails zu freiesMagazin in
einen separaten Ordner „freiesMagazin“. Auch dieser Ordner sollte erst
einmal erstellt werden.
Für diesen Filter wird in den Filterregeln (Erinnerung: Menü
„Einstellungen -> Filter einrichten …“) ein neuer Filter über die
entsprechende Schaltfläche (ganz links unten) erstellt und mittels
„Umbenennen“ in „freiesMagazin“ umbenannt.
Als nächstes werden die Filterkriterien angegeben.
Ein Filterkriterium besteht grundsätzlich aus den folgenden drei Elementen:
-  Das erste Element gibt an, was überprüft werden soll.
-  Das zweite Element gibt an, welche Überprüfung stattfinden soll. Die
  Auswahl ist abhängig vom ersten Element. Für die meisten Anwendungen ist
  „enthält“ passend.
-  Das dritte Element gibt an, wonach überprüft werden soll.
Beim Filter „Unwetterwarnung“ besteht der Filter aus 1) „Von“, 2)
„enthält“, 3) „unwetter@fiktivemail.de“. Im Folgenden wird ein Filter
einfach durch den Text angegeben, also „Von enthält
unwetter@fiktivemail.de“.
Filter „freiesMagazin“.
Für freiesMagazin werden mehrere verschiedene Filterkriterien eingerichtet:
-  „Von enthält @fm-fiktiv.de“ filtert alle E-Mails, die von
  E-Mail-Adressen der Domain fm-fiktiv.de gehen, also zum Beispiel von
  redaktion@fm-fiktiv.de.
-  „Alle Empfänger enthält @fm-fiktiv.de“ filtert alle E-Mails, die man
  selber die angegebene Domain sendet. Der Unterschied von „Alle Empfänger“
  zu „An“ ist, dass bei ersterem auch die Empfänger einer Kopie
  (E-Mail-Felder CC und BCC [3]) berücksichtigt werden.
-  „Nachrichteninhalt enthält freiesMagazin“ filtert alle E-Mails, die
  irgendwo im Nachrichtentext „freiesMagazin“ enthalten.
Die Eingabe eines dritten Filterkriteriums erhält man durch Betätigen der
„+“-Schaltfläche neben einem der Filterkriterien.
Damit der Filter für alle E-Mails, die irgendwie mit freiesMagazin zu tun haben,
greift, muss noch bei den Filterkriterium „Trifft auf eines der folgenden zu“
ausgewählt sein.
Als Filteraktion wird „In Ordner verschieben freiesMagazin“ ausgewählt.
Filter „freiesMagazin“, Erweiterte Einstellungen.
Nun soll der Filter nicht automatisch auf eingehende E-Mails angewendet
werden; diese sollen erst einmal im Posteingang verbleiben. Stattdessen
soll eine entsprechende E-Mail erst nach dem Lesen umsortiert werden. Dafür
wird der Filter so eingerichtet, dass er nur manuell aufgerufen wird. Dazu
muss im Reiter „Erweitert“ die Einstellung
„Diesen Filter auf eingehende Nachrichten anwenden“ abgewählt werden. Die
Einstellung „Diesen Filter bei der manuellen Filterung anwenden“ ist in der
Voreinstellung bereits aktiv, hierfür ist nichts weiter zu tun.
Weiterhin sollte „Diesen Filter auf gesendete Nachrichten“ ausgewählt
werden. Damit werden versendete E-Mails zu freiesMagazin gleich im
Ordner „freiesMagazin“ abgelegt statt in
„Versendete Nachrichten“.
Ist der Filter wie oben eingerichtet, passiert beim Empfang einer
entsprechenden E-Mail nichts. Wird nach dem Lesen einer E-Mail zu freiesMagazin
der Filter manuell aufgerufen, dann wird die E-Mail automatisch in den
Ordner „freiesMagazin“ verschoben. Mit der Maus werden hierzu über das
Kontextmenü der E-Mail (Rechtsklick auf die E-Mail in der E-Mail-Liste) im
Untermenü „Filter anwenden“ mit „alle Filter anwenden“ die eingerichteten
Filter mit Einstellung „Diesen Filter bei der manuellen Filterung anwenden“
auf die E-Mail angewendet. Dies geht auch für mehrere markierte E-Mails.
Schneller geht es per Tastatur, mit der Tastenkombination „Strg“ + „J“ werden
auf die markierten E-Mails, das ist normalerweise die, die gerade geöffnet
ist, alle Filter angewendet, die für die manuelle Filterung aktiviert sind.
Ausgehende E-Mails werden automatisch in dem gewünschten Ordner abgelegt.
Mit mehreren solcher Filter lassen sich die meisten eingehenden und
ausgehenden E-Mails einfach in den entsprechenden Ordner verschieben, 
zum
Beispiel pro Kommunikationspartner ein eigener Ordner. Dann reicht es,
nach dem Lesen einer E-Mail „Strg“ + „J“ zu drücken.
Unerwünschte Mails löschen
Unerwünschte E-Mails lassen sich leicht löschen. Der schwierige Teil dabei
ist, dem Computer beizubringen, was unerwünscht bedeutet.
Der erste und einfachste Schritt ist es, E-Mails entsprechend ihrem
Absender oder Betreff zu löschen. Dies deckt zwar nur einen meist geringen
Teil ab, aber jedes bisschen hilft.
Der Filter soll „Schwarze Liste“ (von engl.
„blacklist“ [4])
heißen und enthält in den Filterkriterien Absender oder Betreffs, deren
entsprechende E-Mails gelöscht werden sollen. Bei den Filterkriterien muss
„Trifft auf eines der folgenden zu“ ausgewählt sein. Beispiele sind:
-  „Von enthält werbung@fiktivemail.de“
-  „Betreff enthält Jetzt Ihre Kleinanzeigen hervorheben“

Filter „Schwarze Liste“.
Die Filteraktion ist „Nachricht löschen“, KMail zeigt dann auch völlig
zu Recht die Warnung „Seien Sie vorsichtig, es werden E-Mails gelöscht“.
Bei diesem Filter ist es wichtig, nur Filterkriterien anzugeben, die
sicher nur auf E-Mails passen, die auch gelöscht werden sollen. Ein
allgemeiner Spam-Filter ist dies nicht. Außerdem ist es immer besser,
Newsletter und ähnliches abzubestellen oder dem Absender direkt Bescheid
zu geben, als die E-Mails erst zu empfangen und dann automatisch zu löschen.
Die Reihenfolge der Filter
Bei vielen Spam-E-Mails ist man nicht als Empfänger eingetragen. Bei den
regulären E-Mails hingegen schon. Daraus ergibt sich der folgende einfache
Spam-Filter (mit Bezeichnung „Einfacher Spamfilter“).

Filter „Einfacher Spamfilter“.
Bei den Filterkriterien müssen alle folgenden zutreffen
(meineAdresse@fiktivemail.de sei dabei die eigene E-Mail-Adresse):
-  „Von ist nicht im Adressbuch“
-  „Alle Empfänger enthält nicht meineAdresse@fiktivemail.de“
Hat man mehrere Empfängeradressen (zum Beispiel redaktion@fm-fiktiv.de),
sollte man einfach einen weiteren entsprechenden Filter („Alle Empfänger enthält
nicht redaktion@fm-fiktiv.de“) hinzufügen.
Für die Filteraktionen wird erst einmal ein Ordner „Spam“ angelegt und
anschließend die beiden Filteraktionen:
-  „In Ordner verschieben Spam“
-  „Markieren als Gelesen“
Mit dem Markieren als Gelesen werden die als Spam klassifizierten E-Mails
nicht mehr als „neu“ markiert.
Damit der Filter ordentlich funktioniert, müssen alle Mailinglisten auch
im Adressbuch eingetragen sein (Rechtsklick in der E-Mail-Ansicht auf die
E-Mail-Adresse und im Kontextmenü „Zum Adressbuch hinzufügen“ auswählen).
Alternativ reicht es auch aus, diese E-Mails über einen Filter entsprechend
„Unwetterwarnung“ beim Empfang automatisch in einen eigenen 
Ordner zu
verschieben. Außerdem sollte auch die eigene E-Mail-Adresse im Adressbuch
sein, damit nicht aus Versehen die eigenen E-Mails als Spam angesehen
werden.
Bei diesem Filter ist es wichtig, an welcher Stelle er bei den vorhandenen
Filtern einsortiert ist (linker Bereich des Fensters „Filterregeln“).
Steht er an erster Stelle, werden alle eingehenden E-Mails dagegen
geprüft. Steht unwetter@fiktivemail.de nicht im Adressbuch, wird eine
E-Mail von unwetter@fiktivemail.de also als Spam klassifiziert. Beim
Einsortieren von „Einfacher Spamfilter“ unter „Unwetterwarnung“ dagegen greift
bei E-Mails von unwetter@fiktivemail.de zuerst der Filter „Unwetterwarnung“
und die E-Mail wird in den Ordner „Posteingang/Unwetterwarnung“
verschoben. Da der Filter gegriffen hat, greift kein weiterer Filter.
Filter „Einfacher Spamfilter“, Erweiterte Einstellungen.
Soll der Spam-Filter nicht erneut bei der manuellen Filterung herangezogen
werden, muss unter „Erweitert“ die Einstellung
„Diesen Filter bei der manuellen Filterung anwenden“ abgewählt sein.
Weiterleiten
KMail bietet auch an, E-Mails automatisch an eine weitere Adresse zu
senden. Als nächstes sollen daher E-Mails, die „freiesMagazin“ enthalten,
aber nicht an die Redaktionsadresse gesendet wurden, an die
Redaktionsadresse umgeleitet werden.

Filter „freiesMagazin Redaktion“.
Dafür wird der Filter „freiesMagazin Redaktion“ eingerichtet.
Die Filterbedingungen orientieren sich am Filter „freiesMagazin“:
-  „Alle Empfänger enthält nicht redaktion@fm-fiktiv.de“ filtert alle
  E-Mails, die nicht bereits an die Redaktion geschickt wurden
-  „Nachrichteninhalt enthält freiesMagazin“ filtert alle E-Mails, die
  irgendwo im Nachrichtentext „freiesMagazin“ enthalten.
Die Filteraktion ist „Umleiten nach redaktion@fm-fiktiv.de“.
Filter „freiesMagazin Redaktion“, erweiterte Einstellungen.
Auch bei diesem Filter sollte „Bearbeitung hier beenden, falls Filterbedingung zutrifft“
abgewählt sein, damit die E-Mails anschließend noch weitere Filter
durchlaufen können (falls sie zum Beispiel doch gleich beim Empfang in
einen separaten Ordner abgelegt werden sollen). Noch wichtiger ist es,
„Diesen Filter bei der manuellen Filterung anwenden“ abzuwählen, da
ansonsten bei jeder manuellen Filterung (zum Beispiel für den obigen Filter
„freiesMagazin“) wieder eine Kopie der E-Mail an die Redaktion versandt
wird.
In der Liste „Vorhandene Filter“ sollte dieser Filter nach der Spam-Bekämpfung
liegen (die
Redaktion wird es danken), aber vor dem Filter
„freiesMagazin“, falls bei diesem die Einstellung „Diesen Filter auf
eingehende Nachrichten anwenden“ ausgewählt ist, die E-Mails also gleich
beim Empfang in einen Ordner verschoben werden.
Man kann für Umleitungen anstelle des Filters von KMail auch den Filter beim
E-Mail-Provider verwenden. Damit wird eine E-Mail gleich beim Empfang
beim Provider weitergeleitet und nicht erst, wenn sie mit KMail abgerufen
wird.
Betreff verändern
GMX markiert E-Mails, die es als Spam identifiziert hat, durch ein
„*** GMX Spamverdacht ***“ im Betreff. Diese E-Mails können daher auch leicht
durch einen Filter („GMX Spamverdacht“) in den Ordner „Spam“ verschoben
werden:

Filter „GMX Spamverdacht“.
Das Filterkriterium ist „Betreff enthält *** GMX Spamverdacht ***“, und die
Filteraktionen sind: 
-  „In Ordner verschieben Spam“
-  „Markieren als Gelesen“
Ist eine so gekennzeichnete E-Mail doch kein Spam, lässt sie sich einfach
in den Posteingang verschieben. Allerdings stört dann das
„*** GMX Spamverdacht ***“ im Betreff. Um dieses zu entfernen, wird die
E-Mail durch ein entsprechendes externes Programm geleitet.
Mit dem neuen Filter „Kein Spam“ wird der Betreff gegebenenfalls
bereinigt, die Nachricht in den Posteingang verschoben und auf ungelesen
gesetzt.
Filter „Kein Spam“.
Bei den Filterkriterien ist „Trifft auf alle Nachrichten zu“ ausgewählt.
Die Filteraktionen sind
-  „Durch Programm leiten sed '1,/^$/s/Subject: \*\*\* GMX Spamverdacht \*\*\* \+/Subject: /'“ – Dieser Aufruf von sed entfernt im Betreff den Text „*** GMX Spamverdacht ***“.
-  „In Ordner verschieben Posteingang“
-  „Markieren als Ungelesen“

Filter „Kein Spam“, erweiterte Einstellungen.
In den erweiterten Einstellungen wird
„Diesen Filter auf eingehende Nachrichten anwenden“ abgewählt und
„Diesen Filter zum Menü „Filteraktionen anwenden“ hinzufügen“ sowie
„Diesen Filter zur Werkzeugleiste hinzufügen“ ausgewählt. Damit befindet
sich in der Werkzeugleiste eine Schaltfläche „Kein Spam“, mit der eine von
GMX irrtümlich als Spam klassifizierte E-Mail mit bereinigten Betreff in
den Posteingang verschoben werden kann.
Wie an diesem Beispiel gezeigt wird, bietet KMail in den Filteraktionen
auch die Möglichkeit, eine E-Mail zu verändern. Dies ist zuweilen eine
sehr nützliche Funktion, es ist aber Vorsicht geboten, um nicht aus
Versehen eine E-Mail damit zu zerstören. Solche Filter sollten daher immer
auf Kopien der E-Mails getestet werden.
In diesem Beispiel wurde nur der E-Mail-Kopf mit den Metadaten (in diesem
Fall der Betreff) geändert. Eine Änderung des E-Mail-Textes ist auch
möglich, sollte aber nur in Ausnahmefällen geschehen, da sonst zum
Beispiel digitale Signaturen ungültig werden.
Leider funktioniert dieses Ersetzen in der verwendeten Version 4.11.5 von
KMail ausschließlich bei einem manuellen Aufruf. Ein automatisches
Bereinigen des Betreffs bei allen eingehenden E-Mails funktioniert nicht.
Außerdem wird zwar der Betreff in der E-Mail-Ansicht aktualisiert, aber
nicht in der E-Mail-Liste. 
Exkurs: Der sed-Befehl
Viele Leser stellen sich sicherlich die Frage, was der Befehl
sed '1,/^$/s/^Subject: \*\*\* GMX Spamverdacht \*\*\* \+/Subject: /'
genau bewirkt.
Dieser Filter nutzt das Programm
sed [5], um in der Nachricht den
Betreff zu ersetzen. Eine Einführung in sed gibt es in \fm{}
03/2010 [6].
Der Editierbefehl besteht aus einer Bereichsangabe und dem Ersetzen-Befehl:
-  1,/^$/ gibt an, dass für das Suchen/Ersetzen nur der Bereich vom
  Anfang der Datei (1) bis zur ersten leeren Zeile (/^$/) betrachtet
  werden soll. Die leere Zeile trennt die Kopfzeilen vom Inhalt der E-Mail.
  Die Zeile im E-Mail-Kopf, die mit „Subject: “ beginnt, gibt den Betreff an.
-  s gibt an, dass anschließend ein Ersetzen-Befehl kommt.
-  /^Subject: \*\*\* GMX Spamverdacht \*\*\* */Subject: / ersetzt die
  Zeichenkette „Subject: *** GMX Spamverdacht ***“ sowie darauf folgende
  Leerzeichen durch „Subject: “, entfernt also den unerwünschten Text. Das
  ^ steht für den Zeilenanfang. Das \* steht für das Zeichen „*“, das
   * steht für kein oder mehrere Leerzeichen.
Fazit
Die Filter in KMail sind einfach einzurichten und recht mächtig. Sind sie
eingerichtet, ist das Verwalten der E-Mails mit KMail ein Kinderspiel.
Einige E-Mails (wie „Unwetterwarnung“) werden direkt beim Eingang in
entsprechende Verzeichnisse verschoben (auch günstig für Mailinglisten).
Mit „Strg“ + „J“ können gelesene E-Mails in entsprechenden Ordnern (wie
„freiesMagazin“) archiviert werden.
Durch eine Filteraktion, die das Durchleiten durch ein externes Programm/Skript
ermöglicht, lassen sich auch ausgefallene Anforderungen umsetzen.
Für eine bessere Spam-Filterung wird in einem separaten Artikel das
Einbinden des Programms bogofilter [7]
in KMail beschrieben.
    Links
        
[1] http://userbase.kde.org/KMail/de
[2] http://userbase.kde.org/Kontact/de
[3] http://blindkopie.de/
[4] https://de.wikipedia.org/wiki/Schwarze_Liste#Schwarze_Listen_im_Kommunikationsbereich
[5] https://de.wikipedia.org/wiki/Sed_(Unix)
[6] http://www.freiesmagazin.de/freiesMagazin-2010-03
[7] https://de.wikipedia.org/wiki/Bogofilter
    
        
| Autoreninformation | 
| Dr. Diether Knof
ist seit 1998 Linux-Anwender. Vor einem Jahr ist er privat vom E-Mail-Client
mutt auf KMail umgestiegen und hat in dem Zuge seine in procmail über die
Jahre eingerichteten Filter auf KMail übertragen. | 
        Diesen Artikel kommentieren
    Zum Index
    
von Jens Dörpinghaus
    Eine besondere Nische für Projektionssoftware findet sich – vor allem, aber
nicht ausschließlich – in Kirchengemeinden, in denen die Liederbücher durch die
Beamerprojektion der Liedtexte abgelöst werden. Dieser Artikel zeigt, dass es
mit OpenLP auch für diesen Einsatzbereich ein hervorragendes freies 
Softwareprojekte gibt.
Neben den eigentlichen Liedtexten kommen auch vermehrt Video- und
Bildeinblendungen oder Präsentationen für die Predigt zum Einsatz. Da das
Konzept von freier Software eigentlich sehr gut mit christlichen Werten
harmoniert, gibt es verschiedene freie Softwareprojekte, von denen im Folgenden
das wohl umfangreichste Projekt – OpenLP [1] – 
vorgestellt werden soll. Auf der anderen Seite sind Kirchengemeinden nicht
gerade als Hort moderner Technik bekannt und so ist es nicht verwunderlich,
dass, als eine kommerzielle Software, SongBeamer [2] sehr
verbreitet ist. 
Eine Initiative für freie Software in Kirchen ist LUKi [3] (Linux
User im Bereich der Kirchen), auf deren Homepage unter Anderem ein Artikel mit
weiteren Informationen zu OpenLP zu finden ist.
OpenLP und vergleichbare Produkte
Der größte Vorteil von OpenLP gegenüber vergleichbaren Produkten ist zum ersten,
dass es sich um freie Software (GNU General Public License) handelt und zum
zweiten, dass es für 
alle gängigen Betriebssysteme (Linux, BSD, Windows, MacOS X)
verfügbar ist. Es gibt kein freies Programm mit einem vergleichbaren
Funktionsumfang. Gegenüber kommerziellen Alternativen wie SongBeamer muss
allerdings auf Funktionen wie Akkordprojektion oder das
Umschalten zwischen
Sprachen verzichtet werden; im Gegenzug unterstützt OpenLP von Haus aus
UTF-8
und kann sehr leicht mit anderer Software zusammen genutzt werden. Inwiefern
einzelne Punkte relevant sind, hängt natürlich von den Anforderungen der
Gemeinde ab. 
Installation
Die Software kann von der Homepage von OpenLP bezogen werden. Für die
meisten Distributionen stehen – sofern OpenLP nicht in der Paketverwaltung
vorhanden ist – entsprechende Pakete bereit. 
Erster Start
Startet man OpenLP das erste Mal, so kann man mit dem Einrichtungsassistenten
erste Lieder, Bibeln und Designs hinzufügen. Diese zunächst eher kleine Auswahl
kann später sukzessive erweitert werden. 

Eine bereits laufende Instanz von OpenLP.
Die Standardansicht mit Medienverwaltung, Vorschau, Liveansicht und
Ablaufverwaltung kann jeweils auch in eine einfache Einrichtenansicht oder
Liveansicht geändert werden, wodurch die 
Darstellung übersichtlicher wird.
Bedient werden kann OpenLP mit der Maus oder auch komplett über Tastenkürzel.
Es wird, wann immer möglich, auf weitere Fenster verzichtet. Dadurch ist OpenLP –
im Gegensatz 
zu anderen Programmen – schnell und übersichtlich in einer Ebene
bedienbar.
Neue Lieder können von SongSelect [4] (aber auch aus
anderen Projektionsprogrammen wie beispielsweise SongBeamer) importiert und mit
wenigen Mausklicks einem aktuellen Ablauf hinzugefügt werden. Sind sie einmal in
der Datenbank vorhanden, können sie in der Medienverwaltung unter anderem per
Titel, Volltextsuche oder Liederbuch gefunden werden. Lieder können aber
natürlich auch manuell „abgetippt“ werden. Insbesondere ist hervorzuheben, dass
die Reihenfolge der Strophen in jedem Ablauf manuell geändert werden kann, ohne
die Datenbank selber zu manipulieren. Alle Daten werden in einem Ablauf
gespeichert.

Lieder bearbeiten.

Liedsuche nach Liederbüchern.
Ebenso schnell können Bibelstellen, ganze Präsentationen (die über Libre bzw. OpenOffice dargestellt werden), Bilder, Videos oder Sonderfolien
dem Ablauf hinzugefügt werden.
Besondere Funktionen bei der Projektion
Oft genutzte Funktionen bei der Projektion sind beispielsweise das automatische
Abspielen von Folien und Bildern (etwa bei Informationen vor dem
Gottesdienstbeginn) oder die zeitgenaue Wiedergabe von Videos. Weiter bietet
sich die Möglichkeit, Hinweistexte einzublenden oder Folien mit Hintergrundmusik
zu hinterlegen.
Es gibt zwar nicht die Möglichkeit, wie in Alternativprogrammen, in Liedern
automatisch zwischen verschiedenen Sprachen zu wechseln. Durch die
Konfigurierbarkeit der Darstellung kann aber einfach ein weiteres,
zweisprachiges Lied angelegt werden. Sind beide Sprachen schon in OpenLP
vorhanden, geht dies mit einem kleinen externen Tool sogar in Sekundenschnelle.

Darstellung mehrsprachiger Lieder.
Die Darstellung von OpenLP kann aber auch transparent über andere
Bildschirmausgaben gelegt werden. Dadurch ist es möglich, etwa über Videos (Pro
Christ, Taufe o.ä.) oder andere Programme, Liedtexte und andere Inhalte zu
projizieren. Auch das Wechseln zwischen verschiedenen Programmen lässt sich im
laufenden Betrieb einfach umsetzen.
Designs 
In OpenLP wird die Darstellung von Folien über sogenannte Designs gelöst. Von
einfachen weißen Texten auf schwarzem Hintergrund bis hin zu
Bildhintergründen
kann je nach Art der Veranstaltung oder Geschmack alles verändert werden. 
Ein sehr interessanter Punkt ist, dass diese Designs jeweils für einen
kompletten Ablauf geändert werden können, Liedern und Folien aber auch ein
individuelles Design zugewiesen werden kann. Dieses Verhalten ist konfigurierbar
und
nützlich. So kann ein Lied aus dem Kindergottesdienst, das dort anders, etwa
farbiger und größer dargestellt wird, im Ablaufplan eines normalen
Gottesdienstes auch ohne Änderungen auf die dort vorgegebene Art dargestellt
werden. 
Bühnenmonitor und Fernbedienung
Ein weiteres Feature von OpenLP ist der Bühnenmonitor, der direkt mit OpenLP
installiert wird. Dieser kann entweder für die Musiker auf der Bühne oder aber
auch für Menschen, die die Projektionsfläche nicht einsehen können, genutzt
werden. 

Der Bühnenmonitor.
Als Fernbedienung stehen wahlweise eine Android-App oder eine Weboberfläche zur
Verfügung. Erstere kann über die Homepage oder den App-Store bezogen
werden, letztere ist wie der Bühnenmonitor Bestandteil von OpenLP. Mit
beiden kann OpenLP von einem Handy, einem Tablet oder einem anderen PC 
fernbedient werden. Dies ermöglicht z. B. einem Musiker oder dem Prediger das
selbsttätige Bedienen der Projektion. 

Fernsteuerung über die Android-App.

Fernsteuerung über die Weboberfläche.
Für alle diese Möglichkeiten muss eine Netzwerkverbindung zwischen den
Endgeräten und dem Projektionsrechner bestehen. 
Zusammenfassung
Auch wenn einige Features noch fehlen, so braucht sich OpenLP nicht vor
alternativen Programmen zu verstecken. In einigen Dingen ist OpenLP sogar
überlegen. Es bietet alle grundlegenden Funktionen, die in einer Gemeinde
genutzt werden und wohl auch viele, die nie benötigt werden. Da es eine kleine,
aber recht aktive Entwicklergemeinde gibt, bekommt man schnell Hilfe und neue
Features werden zeitnah implementiert.
OpenLP ist ein guter Grund für Kirchengemeinden, sich mit freier Software
auseinander zu setzen. Geld kann durchaus sinnvoller investiert werden als in
proprietäre Software.
    Links
        
[1] http://openlp.org/
[2] http://www.songbeamer.de/
[3] http://luki.org/
[4] http://ccli.de/songselect/
    
        
| Autoreninformation | 
| Jens Dörpinghaus
benutzt seit vielen Jahren ausschließlich freie Software. | 
        Diesen Artikel kommentieren
    Zum Index
von Candas Tümer
    GNU Emacs, Vi(m), Sublime Text, Gedit, Nano und viele weitere Antworten werden
genannt, wenn man heutzutage in einer beliebigen IT-Community die Frage nach dem
Lieblingseditor stellt. Jedoch gibt es mit jEdit einen Kandidaten, der in diesem
Bereich stets unterschätzt wird.
jEdit [1] ist ein in der Programmiersprache Java
geschriebener, stark erweiterbarer, freier (GNU GPL
2.0 [2]) Texteditor, der
sich schnell installieren und konfigurieren lässt. Dank seiner
plattformunabhängigen Infrastruktur ist jEdit auf jedem Betriebssystem, auf dem
die Java Runtime Environment
1.6 [3] oder höher installiert
ist, lauffähig und bietet unter anderem folgende Features:
-  erweiterbare Plug-in-Architektur mit über 200 vorhandenen Plug-ins aus dem
Repository (219 zum Zeitpunkt der Artikelverfassung)
-  eingebaute Makrosprache (in BeanShell [4] – eine dynamische Skriptsprache für die
JVM) und die Möglichkeit, Benutzeraktionen aufzuzeichnen und als Makro zu
verwenden
-  Code-Einrückung und Syntax-Highlighting für mehr als 200 Sprachen (jEdit 5.1:
211)
-  eine große Anzahl an unterstützen Zeichenkodierungen (jEdit 5.1: 169)
-  anpassbare Tastenkürzel inkl. vordefinierter Keymaps für Emacs, Intellij IDEA
etc.
-  mehrere Suchmodi (Suche in aktiver Datei, in offenen Dateien oder in allen
Dateien eines Verzeichnisses (auf Wunsch rekursiv)) inkl. 
Regex-Unterstützung [5]

jEdit-Hauptbildschirm.
Geschwindigkeit
Im Kern von jEdit steckt Java – eine Sprache, die gerade in der
GNU/Linux-Community mit vielen Vorurteilen zu kämpfen hat. Deshalb wird dem Texteditor immer
wieder unterstellt, dass er generell langsamer ist als die Konkurrenz. Auch wenn
beim Phänomen der Geschwindigkeit viele verschiedene Faktoren eine Rolle spielen und man 
eigentlich differenzieren müsste, ob man die reine Startgeschwindigkeit mit beziehungsweise ohne 
Plug-ins oder die durchschnittliche Bearbeitungsdauer bestimmter, standardisierter Aufgaben zur Laufzeit
meint, wird der ehrliche Nutzer hier das Vorurteil in den meisten Fällen nicht
bestätigen können. Denn jEdit stellt beispielsweise selbst Logdateien mit
einigen Hunderttausend Zeilen in der Regel schneller dar und durchsucht diese auch noch
schneller als die meisten 
FLOSS-Texteditoren [6].
Installation und Konfiguration
Das Paket jedit lässt sich über die Paketverwaltung installieren. Alternativ
wird der Texteditor aber auch als Paket für FreeBSD,
JPackage [7] (Java-Paket-Repository für RPM-basierte
GNU/Linux-Distributionen) oder als plattformunabhängige Installationsdatei
angeboten.
Bereits nach der Installation enthält jEdit eine für viele Zwecke geeignete
Kombination an Features und ist ohne weitere Konfiguration sofort einsetzbar.
Für die allgemeine Konfiguration bietet der Dialog „Extras -> Globale Optionen“
alles, was das Entwicklerherz begehrt: Von den Einstellmöglichkeiten für
Lesezeichen, Definitionen von Abkürzungen, Einstellungen für Zeichenkodierungen,
Tastenkürzel, Syntaxhervorhebung bis hin zu kompletten
Ausgestaltungsmöglichkeiten der Oberfläche und der Farben des Editors – die
gesamte Umgebung ist nach eigenen Wünschen spezialisierbar.
Plug-ins
In der Standardinstallation fungiert jEdit als ein „Schweizer Taschenmesser“ für
Entwickler [8]. Es ist auch ohne weiteren Aufwand
möglich, den Editor mit Hilfe von Plug-ins um weitere Funktionalitätsbereiche zu
erweitern. 

Der jEdit-Plug-in-Manager.
So lässt sich jEdit in eine vollständige
IDE [9] umwandeln,
die Autovervollständigung, Debugging, Compilerintegration etc. anbietet. Der
Texteditor lässt sich auch für eine schnelle Entwicklung von Webprojekten,
unkomplizierte Dateivergleiche mit 
Hilfe von Diff, FTP-Aufgaben, LaTeX-Arbeiten,
XML-Verarbeitung oder Versionsverwaltung nutzen.
Folgende Plug-ins (zu finden auf der
jEdit-Homepage [10]) stellen unabhängig vom
Verwendungszweck eine sinnvolle Ergänzung für jEdit dar:
-  BufferTabs (Verwaltung von offenen Dokumenten in Tabs)
-  EditorScheme (erleichtert die vollständige Designanpassung des Editors an die eigenen Wünsche)
-  ErrorList (nützlich für viele Plug-ins)
-  Console (Integration für die Systemshell, Beanshell und eine Schnittstelle für weitere benutzerdefinierte Shells)
-  MacroManager (einfache Makroverwaltung)
-  Project Viewer (Gruppierung von Dokumenten in Projekten)
-  Sessions (Sitzungsverwaltungsfunktionen)
-  TextTools (nützliche Textmanipulationsfunktionen)
Mit Hilfe des Plug-in-Managers lassen sich alle Plug-ins per Klick installieren und aktualisieren.Makros
Mit Hilfe des Plug-ins MacroManager lassen sich die Makros in jEdit sehr leicht
verwalten. Alternativ kann man die Makros auch unter ~/.jedit/macros
speichern. Das Hinzufügen der entsprechenden Makrodatei (Beanshell-Datei) und
das Reinitialisieren des Makromenüs („Makros -> Makro-Menü neu aufbauen“) reicht
aus, um ein Makro in den Editor zu
integrieren.                       
Folgendes ist für viele Zwecke empfehlenswert:
-  Gotodefinition (einfaches Navigieren im Quellcode)
-  LineFilter (zeilenweises Filtern von Dateien mit Regex-Unterstützung)
-  Open This (öffnen des ausgewählten Pfades)
Weitere Informationen
Neben der Möglichkeit, jEdit mit Hilfe von BeanShell-Skripten um eigene
Funktionalitäten
zu erweitern, existieren weitere Möglichkeiten der
Spezialisierung des Editors, die durch Plug-ins realisiert werden können.
So ist es beispielsweise möglich, nach der Installation des Plug-ins
„JythonInterpreter“ [11]
jEdit um eigene Start-Up-Skripte in der Sprache Python zu ergänzen.

jEdit mit integriertem Systemterminal (Bash).
Der Editor unterstützt neben verschiedenen Auswahlmöglichkeiten wie Wort-,
Zeilen- und Absatzauswahl auch die Möglichkeit der vertikalen Selektion und der
Umkehrung der Auswahl.
Zum Schluss sei noch erwähnt, dass sich ein Blick in den 
Dialog „Extras -> Globale Optionen -> Tastenkürzel“ 
auf jeden Fall lohnt, da nicht alle der in der
Standardauswahl eingebauten Befehle (ca. 1000) einen Platz im Menü gefunden
haben.
Weiterhin bieten der Quick Start
Guide [12] und der User's
Guide [13] einen guten Überblick
über die zahlreichen Fähigkeiten von jEdit.  
    Links
        
[1] http://www.jedit.org/
[2] https://de.wikipedia.org/wiki/GNU_General_Public_License
[3] https://de.wikipedia.org/wiki/Java-
Laufzeitumgebung
[4] https://de.wikipedia.org/wiki/BeanShell
[5] https://de.wikipedia.org/wiki/Regulärer_Ausdruck
[6] https://de.wikipedia.org/wiki/Free/Libre_Open_Source_Software
[7] http://www.jpackage.org/
[8] http://helmbold.de/artikel/jedit
[9] https://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung
[10] http://plugins.jedit.org/
[11] http://plugins.jedit.org/plugins/?JythonInterpreter
[12] http://www.jedit.org/index.php?page=quickstart
[13] http://www.jedit.org/users-guide/index.html
    
        
| Autoreninformation | 
| Candas Tümer (Webseite)
ist Softwareentwickler und nutzt seit 2006 Debian GNU/Linux. Er beschäftigt sich
privat und beruflich mit den Themen Web- & Softwareentwicklung, freie Software &
IT-Security. | 
        Diesen Artikel kommentieren
    Zum Index
von Christian Imhorst
    Möchte man sich anonym im Internet bewegen, wird das vom Tor Browser 
Bundle [1] leicht 
gemacht. Das Bundle erhält man auf der Projekt-Seite von Tor. Dabei ist Tor 
die Kurzform von The Onion Router [2]
und hat das Ziel, Verbindungsdaten von Programmen im Internet zu 
anonymisieren.
Was ist Tor?
Mit Tor wird die eigene IP-Adresse beim Surfen verschleiert, indem die 
Anfragen nicht direkt an den Zielserver geschickt, sondern über eine 
Kette von Proxys umgeleitet werden. Die Internetpakete werden dabei verschlüsselt
über drei Server – die sogenannten Nodes – geschickt, und erst der letzte Node – der 
„Exit-Node“ – kann die Pakete vollständig wieder entschlüsseln, um es dann an 
das eigentliche Ziel weiterzuleiten. Der Zielserver sieht dabei immer nur 
die IP-Adresse des letzten Tor-Servers und nicht die eigene. Zusätzlich 
sorgt Tor dafür, dass der Standort des Nutzers verborgen wird und schützt 
weiterhin vor Netzwerküberwachung und vor der Analyse des Datenverkehrs.
Ursprünglich wurde Tor für das US Naval Research Laboratory entwickelt, dem 
gemeinsamen Forschungslabor der US Navy und des Marine Corps, um die 
Internet-Kommunikation US-amerikanischer Regierungsbehörden und die des 
Militärs zu schützen. Mittlerweile erhält das Tor-Projekt neben der 
finanziellen Unterstützung durch die US-Regierung zu einem großen Teil auch 
private Spenden, die es vorantreiben sollen. Neben Regierungsbehörden und 
Militärs ist Tor auch für Privatpersonen interessant, die sich vor 
Identitätsdiebstahl im Internet schützen oder Zensur und Internet-Filter 
umgehen wollen. 
Die Anonymisierung durch Tor ist für Blogger interessant, die für ihre 
Beiträge Strafen durch das herrschende Regime oder ihren Arbeitgeber 
befürchten müssen. Darunter sind auch Whistleblower oder 
Menschenrechtsaktivisten, die im Internet anonym über Verbrechen berichten 
oder Dokumente zu Menschenrechtsverletzungen hochladen wollen, ob nun in 
Blogs, Wikis oder anderen Medien. Tor ist für Journalisten interessant, um 
die Kommunikation mit Informanten zu schützen, wenn sie Missstände aufdecken 
wollen. Weitere Gründe, warum auch Computerfachleute, Geschäftsführer und 
andere Menschen Tor benutzen, findet man auf der Homepage des 
Projekts [3].
Tor Browser Bundle installieren
Das Browser-Bundle gibt es direkt auf der 
Tor-Website [4]. 
Nachdem man das Archiv für das eigene Betriebssystem als 32-Bit- oder 
64-Bit-Version und die ASC-Datei mit der Signatur heruntergeladen hat, ist 
es nach dem Entpacken sofort einsatzbereit. Wie das für MacOS X und Windows 
geht, kann man auf der Homepage des Tor-Projekts nachlesen. Eine 
Installation des Browser Bundles ist auf jeden Fall unter keinem 
Betriebssystem nötig.
Unter GNU/Linux startet man zur Überprüfung des Archivs ein Terminal und 
wechselt in das Verzeichnis, in dem die heruntergeladenen Dateien liegen. 
Dann kann man die digitale Signatur des Pakets vergleichen. Es ist nämlich 
ziemlich egal, wie anonym und sicher Tor ist, wenn man nicht das richtige 
Browser Bundle benutzt. Der Abgleich geht mit GnuPG, das auf den meisten 
Linux-Systemen bereits installiert ist:
$ gpg --keyserver x-hkp://pool.sks-keyservers.net --recv-keys 0x416F061063FEE659
Das Paket ist von Erinn Clark signiert. Nachdem man ihren Schlüssel 
importiert hat, muss man noch den Fingerprint überprüfen:
$ gpg --fingerprint 0x416F061063FEE659
pub   2048R/63FEE659 2003-10-16
  Schl.-Fingerabdruck = 8738 A680 B84B 3031 A630  F2DB 416F 0610 63FE E659
uid                  Erinn Clark <erinn@torproject.org>
uid                  Erinn Clark <erinn@debian.org>
uid                  Erinn Clark <erinn@double-helix.org>
sub   2048R/EB399FD7 2003-10-16
Zur Verifizierung der Signatur müssen die gepackte Datei des Bundles und die 
ASC-Datei im selben Ordner liegen. Dann wird geprüft:
$ gpg --verify tor-browser-linux32-3.6_de.tar.xz{.asc,}
gpg: Unterschrift vom Sa 15 Feb 2014 12:46:29 CET mittels RSA-Schlüssel ID 63FEE659
gpg: Korrekte Unterschrift von "Erinn Clark <erinn@torproject.org>"
gpg:                     alias "Erinn Clark <erinn@debian.org>"
gpg:                     alias "Erinn Clark <erinn@double-helix.org>"
gpg: WARNUNG: Dieser Schlüssel trägt keine vertrauenswürdige Signatur!
gpg:          Es gibt keinen Hinweis, daß die Signatur wirklich dem vorgeblichen Besitzer gehört.
Haupt-Fingerabdruck  = 8738 A680 B84B 3031 A630  F2DB 416F 0610 63FE E659
Die Unterschrift von Erinn wird schon einmal als korrekt erkannt. Die 
meisten GnuPG-Installationen werden ihrem Schlüssel aber nicht 
vertrauen, da er noch nicht durch den eigenen Benutzer signiert wurde. 
Deshalb gibt es eine Warnung, bei der man selber entscheiden muss, ob man 
darauf vertraut, dass der Schlüssel wirklich Erinn gehört. Um sicher zu 
gehen, dass es wirklich ihr Schlüssel ist, muss man sie einmal 
persönlich treffen und Fingerprints austauschen. Bis dahin wird man mit der 
Warnung leben müssen.
Nun wird das Paket entpackt, was man, da man sich bereits im Terminal 
befindet, mit dem Befehl tar macht (hier am Beispiel der deutschen Version 
3.6 für ein 32-Bit-System):
$ tar -xvJf tor-browser-linux32-3.6_de.tar.xz
Die Dateien liegen anschließend im Ordner tor-browser_de, der einfach an 
einen anderen Ort kopiert werden kann, zum Beispiel auch auf einen USB-Stick 
oder eine SD-Karte, um den Browser von unterwegs oder von einem 
anderen 
Rechner zu starten. Ob man den Ordner kopiert hat, oder nicht: Man muss ihn in beiden Fällen 
dann im Dateimanager öffnen und das Skript start-tor-browser ausführen, 
oder – da man immer noch im Terminal ist – das Skript von dort aus aufrufen:
$ sh start-tor-browser &
Achtung: Das darf man allerdings niemals als Root oder mit Superuser-Rechten 
machen, um das System nicht auszuhebeln!
Tor Browser Bundle benutzen
Das Bundle besteht aus einem modifizierten Firefox-Browser, einem 
Tor-Button [5] und den 
Add-ons 
NoScript [6] und 
HTTPS-Everywhere [7]. Als Suchmaschine 
ist DuckDuckGo [8] voreingestellt, die im Gegensatz zu 
Google keine Suchprofile speichert. Mithilfe des Tor-Buttons kann man sich eine 
neue Identität, also eine neue verschleierte IP-Adresse durch das Tor-Netzwerk 
zuweisen lassen. Wenn man eine Internet-Seite wie zum Beispiel http://ifconfig.me/ip 
ansurft, sieht man, wie sich die IP-Adresse im Browser ändert, nachdem man 
sich eine neue Identität besorgt hat.

Der Tor-Browser zeigt auf der About-Seite, dass er richtig konfiguriert ist.
Daneben gibt es unter dem Button noch einen Cookie-Schutz, falls man 
bestimmte Cookies behalten will, und die Proxy-, Sicherheits- und 
Netzwerkeinstellungen, an denen man in der Regel aber nichts ändern muss. 
Das Add-on NoScript erlaubt das Ausführen von JavaScript und anderen 
Plug-ins nur bei vertrauenswürdigen Domains, wie der eigenen 
Homebanking-Site. Wenn man sich bei seiner Bank oder seinem E-Mail-Provider 
anmeldet, verrät man zwar nicht seinem Internetprovider, was man gerade im 
Netz so macht, aber natürlich der Bank oder dem E-Mail-Provider. Damit ist 
die Anonymität natürlich dahin! Daher sollte man sich mit dem Tor-Browser auch 
nicht bei solchen Seiten anmelden.
Mit dem Tor-Browser ist man schon sehr sicher und mit einem hohen Grad an 
Anonymität unterwegs, trotzdem bietet es keine vollständige Anonymisierung. 
So ist diese nur auf den integrierten Browser des Bundles beschränkt. Wie 
man weitere Programme zum Beispiel im Terminal anonymisieren kann, zeigt der 
Artikel „Torify: Programme im Terminal anonymisieren“ in der nächsten 
Ausgabe von freiesMagazin. 
Daneben beschützt der Tor-Browser den Benutzer nicht vor 
seiner eigenen Dummheit. Wenn man sich mit seiner bekannten E-Mail-Adresse 
bei einem Dienst anmeldet, ist klar, wer man ist. Dann benötigt man auch 
keine verschleierte IP-Adresse. Man kann auch Rückschlüsse auf die Identität 
von jemanden ziehen, wenn man sich überall mit demselben Nicknamen anmeldet. 
Wenn man mit Hilfe des Tor-Netzwerks im Internet unterwegs ist, sollte man 
nichts von sich preisgeben, da auch weitverstreute Informationen gesammelt 
und zu Persönlichkeitsprofilen zusammengestellt werden, mit denen man allen
Anonymisierungsmaßnahmen zum Trotz wiedererkannt wird.
Wofür man nichts kann, sind böse Exit-Nodes, also die Proxy-Server, über die 
man seinen verschlüsselten Weg durch das Tor-Netzwerk wieder verlässt, um 
den Zielserver zu erreichen. Solche bösen Exit-Nodes werden von Menschen 
aufgestellt, um Daten mitzuschneiden, die über diese Knotenpunkte an den 
Bestimmungsort gehen. Das kann durch Tor nicht verhindert werden, weshalb 
man bei Passwörtern oder anderen sensiblen Daten unbedingt darauf achten 
sollte, dass die Verbindung sicher ist und eine Verschlüsselung wie SSL 
verwendet wird. 
Mit dem Add-on „HTTPS Everywhere“ der Electronic Frontier Foundation (EFF
 [9]) wird zwar die HTTPS-Version einer Website 
aufgerufen, was aber nichts nützt, wenn der Exit-Node vom Heartbleed-Bug 
betroffen ist. Diese Nodes sind aber auf einer schwarzen Liste im 
Tor-Netzwerk und der Tor-Client im Browser Bundle bekam ein
Update [10].
Auch wenn das Tor Browser Bundle in sich gut abgestimmt ist, muss man für 
die Anonymität im Netz leider ein paar Einschränkungen hinnehmen. Unter anderem 
auch durch die gewählten Standardeinstellungen, die man aber aus 
Sicherheitsgründen nicht ändern sollte. Das Surfen ist meist eher langsam, die 
Schriftarten im Browser sind nicht so schön und es gibt kein Flash-Plug-in. 
Daneben gibt es keinen Browserverlauf und keine Speicherung von 
Formulardaten oder Passwörtern. Cookies werden beim Schließen des Browsers 
wieder gelöscht, sodass man von einer Webseite bei 
einem erneuten Besuch nicht wiedererkannt wird. Außerdem gibt es keine 
automatischen Updates des Browsers, weshalb man immer wieder einmal auf der 
Webseite des Torprojekts vorbeischauen sollte, ob es eine neue Version 
gibt [11]. Das ist zwar alles unpraktisch, 
aber eben der Preis der Anonymität, wenn man sensible Daten im Internet 
suchen oder verbreiten will. 
    Links
        
[1] https://www.torproject.org/projects/torbrowser.html.en
[2] https://de.wikipedia.org/wiki/Tor_(Netzwerk)
[3] https://www.torproject.org/about/overview.html.en
[4] https://www.torproject.org/projects/torbrowser.html.en#downloads
[5] https://www.torproject.org/torbutton/
[6] http://noscript.net/
[7] https://www.eff.org/https-everywhere
[8] https://duckduckgo.com/
[9] https://www.eff.org/
[10] https://blog.torproject.org/blog/tor-weekly-news-—-april-30th-2014
[11] https://check.torproject.org/?lang=de
    
        
| Autoreninformation | 
| Christian Imhorst (Webseite)
surft nur selten anonym im Internet. Wenn, dann benutzt er Tor, um die 
Kontrolle über seine Daten zu behalten. | 
        Diesen Artikel kommentieren
    Zum Index
von Wolfgang Hennerbichler
    DDas Programm tmux [1] ist ein 
Terminal-Multiplexer, der laufende Terminal-Programme von der Sitzung 
trennen und an andere Sitzungen wieder anhängen kann, sodass diese 
währenddessen im Hintergrund aber weiterlaufen.
Einleitung
Das ist doch jedem schon mal passiert, der mit Unix-basierten Servern auf
der Kommandozeile arbeitet: Man möchte unbedingt den nächsten Zug
erwischen, jedoch muss man noch schnell einen Befehl auf dem Server
ausführen, der unter Umständen bis zu zwei Stunden in der Ausführung braucht,
und erst dann die Kommandozeile wieder frei gibt. Da man aber ein gutes
Gewissen der Umwelt gegenüber pflegt, ist man auch erpicht darauf, die
Workstation, auf der man die SSH-Sitzung eröffnet hat, beim Verlassen des
Büros auszuschalten.
Schaltet man die Workstation nach Start des Befehls sofort ab, kann alles
mögliche die Folge sein: Durch den Abbruch der SSH-Sitzung können der
Shell-Prozess am Server und auch dessen Kinder beendet werden, interaktive
Nachfragen beim Benutzer verlaufen auf jeden Fall im Sand und auch das
Ergebnis des Befehls und den eventuellen Output auf der Kommandozeile verliert
man.
Tools wie nohup oder das Herunterfahren nach einer gewissen Zeit
(sleep 5h && shutdown -h now) sind dabei bekannt, jedoch hat 
letzteres schon einmal dazu geführt, dass der Loadbalancer der größten 
nationalen Wetter-Webseite heruntergefahren wurde, weil der Befehl im 
falschen Terminalfenster eingegeben wurde.
Dieses Problem wurde schon vor vielen Jahren von den Autoren des
Kommandozeilentools screen [2] 
erkannt und auch erfolgreich mit vielen Zusatzfeatures gelöst.
Das hier vorgestellte Programm tmux entspricht wohl der Evolution aus screen
und kann in einigen Bereichen mit mehr Features als aufwarten.
Fire and Forget – Kommandos ausführen und den Rechner herunterfahren
Wer sich nicht um die grausigen Details kümmern möchte, kann nach dem
Lesen dieses Absatzes Befehle ausführen und mit gutem Gewissen der Umwelt
gegenüber zum Zug marschieren.
Nach der Installation von tmux auf dem Server (nicht auf der Workstation!)
mit dem Paketmanager kann es losgehen. Man startet tmux das erste Mal
mit dem Befehl
$ tmux new
Man wird mit einem Fork der aktuellen Shell begrüßt und sieht unten einen 
Statusbalken. tmux bietet einen internen Scrollback-Buffer, somit kann man 
dem Scrollbalken seiner Konsole erst mal eine Pause gönnen.
Nun startet man den Befehl seiner Wahl. Wie wär's zum
Testen mit
$ sleep 2h; echo "fertig!"
und beendet dann tmux.
Standardmäßig
muss man dafür „Strg“ + „B“ drücken und danach die Taste „D“ (detach). Man landet in seiner
ursprünglichen Shell, die man vor tmux gestartet hat. Nun kann man seine
SSH-Sitzung zum Server beenden und zum Zug eilen.
Um die Sitzung wieder aufzunehmen, verbindet man sich am nächsten Tag
wieder mit SSH zum Server (bitte darauf achten, den gleichen User wie
am Vortag zu verwenden) und hängt sich in seine tmux-Sitzung mit dem Befehl
$ tmux attach
Das würde auch von daheim aus funktionieren, falls jemand
das spannende Ergebnis der Sleep-Routine nicht abwarten kann und
Gefahr läuft, vor lauter Nervosität nicht einschlafen zu können. tmux macht
dabei keine Unterscheidung, ob der Terminal-Client derselbe war wie
gestern, auch die dargestellten Bildschirmzeilen der Konsole können
unterschiedlich sein – tmux passt sich automatisch an.
So viel zur einfachsten Anwendung von tmux.
Terminal Multiplexing
Viele Menschen verwenden Tabs, um zwischen ihren Konsolen-Sitzungen hin- und
herzuschalten. Das mag zwar sehr praktisch sein, jedoch hat es ein paar
Nachteile: Wer auf einem anderen Gerät die gleiche Arbeitsumgebung
vorfinden möchte, muss sich seine Terminal-Fenster zu den 20 beinahe
täglich zu administrierenden Servern von Hand aufbauen.
Auch hier findet
sich mit tmux ein enorm praktisches Werkzeug: Man kann innerhalb einer
tmux-Sitzung beliebig viele „Tabs“ (sogenannte Windows) erstellen, und
diese sogar in Gruppen (sogenannten Sessions) zusammenfassen. Zwischen diesen
Fenstern kann man Inhalte relativ komfortabel mit Copy & Paste
transferieren (zugegebenermaßen ist hier eine „traditionelle“ Shell in
einer grafischen Konsole meist besser zu benutzen, wenn man viel Text mit
Copy & Paste herumkopieren muss). 
Darüber hinaus kann man ein einzelnes
Window in mehrere Fenster splitten (ein Split wird Pane genannt), um z. B.
auf der einen Hälfte der Shell Logfiles live zu betrachten und auf der
anderen Hälfte zu arbeiten. Ich verwende eine virtuelle Maschine in
der Firma, um die Arbeitsumgebung vorzufinden.
Window Management
Ein neues Window wird mit „Strg“ + „B“ und „C“ (create) erstellt. tmux wechselt
sofort in das neue Window; das Window, in dem man sich gerade befunden hat,
läuft im Hintergrund weiter. Um zwischen den Windows zu wechseln, gibt es
in tmux 
mehrere Möglichkeiten, u. a.:
-  „Strg“ + „B“ und „L“ – wechsle zum vorherigen (last) Window.
-  „Strg“ + „B“ und „1“ … „9“ – wechsle zum Window 1, 2, 3, … 9.
-  „Strg“ + „B“ und „W“ – zeige eine Übersicht aller Windows.
In der Übersicht kann man sich dann mit den Cursor-Tasten (oder durch Druck
auf Zahlen bzw. bei mehr als zehn Windows mit Buchstaben) das gewünschte Window
aussuchen.
Möchte man ein Window schließen, so kann man
dies tun, indem man einfach
die Shell verlässt: exit, logout, „Strg“ + „D“ usw.
Man kann die einzelnen Windows auch benennen; das hilft enorm bei der
Übersicht („Strg“ + „B“ und „W“). Man benennt ein existierendes Window,
indem man zuerst „Strg“ + „B“ drückt. Mit dem Befehl
:rename-window MEINFENSTERNAME bekommt das Window einen neuen Namen.
Das ist sinnvoll, wenn man viele SSH-Sitzungen zu verschiedenen Geräten aufgebaut hat.Panes
Ein „Pane“ ist ein Teil eines Windows, da man Windows ohne Weiteres
splitten kann. Das ist in vielerlei Hinsicht hilfreich, z. B.
zum Split zwischen der Root-Shell eines Servers
und Live-Logfile-Ansicht oder auch zum Programmieren und
Kompilieren/Ausführen. Dabei kann das Log-Pane kleiner sein als das
eigentliche Shell-Fenster.
Ein Pane, die das aktuelle Window horizontal
unterteilt, erstellt man mit „Strg“ + „B“ und danach „Shift“ + „2“ (also „"“ = doppeltes Hochkomma).
Bei heutigen Bildschirmformaten mag das vertikale
Pane sinnvoller
erscheinen,
was man mit „Strg“ + „B“ und „Shift“ + „5“ (also „%“) erreicht.
Man wechselt zwischen Panes indem man
„Strg“ + „B“ und die adäquate Cursortaste drückt.

Ein gesplittetes Window mit Live-Logansicht im unteren Pane und Shell auf dem Mailserver im oberen Pane.
Weitere Funktionen
Eine weitere Funktion von tmux ist das 
automatische Senden von 
Tastaturbefehlen an das aktuelle Terminalfenster.
Dabei kann unter anderem eine mit mehreren Benutzern geteilte Shell-Umgebung
an die aktuellen Bedürfnisse angepasst werden.
Ebenfalls oft genutzt, ist es, die
beliebtesten vim-Konfigurationseinstellungen in das
aktuelle vim-Fenster zu kopieren.
Um so eine Funktion zu realisieren, sollte man erstens das ganze via
Config-File (~/.tmux.conf) einstellen und zweitens die
Tastenbelegung des Keystrokes vorher tmux-intern entfernen
(dies nennt man „unbinding“).
In der Konfigurationsdatei sieht das dann z. B. so aus:
unbind .
bind . send-keys ':syntax on^M:autocmd BufReadPost *^M:set background=light^M:nnoremap <C-t> hxpl^M:set tabstop=2^M:set shiftwidth=2^M:set smartindent^M:set encoding=utf8^M:set fileencoding=utf8^M:set number^M'
unbind ,
bind , send-keys 'MYPROMPT=">"; PS1="\[\033[0;32;1m\]\t\[\033[0m\] \u@\h:\w$MYPROMPT " ; if [ $(whoami) = "root" ]; then MYPROMPT="#"; PS1="\[\033[0;32;1m\]\t\[\033[0m\] \h:\w$MYPROMPT " ; fi; PROMPT_COMMAND="echo -ne \"\033]0;${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/      ~}\007\""; alias ls="ls --color -a -h"; alias ll="ls --color -a -h -l"; alias grep="grep --color"; . /etc/bash_completion; eval        $(dircolors) ; set show-all-if-ambiguous on; export HISTCONTROL=ignoredups; export LANG=en_US.UTF-8; export LOCKPRG=/bin/true; set -o  vi;^M'
unbind /
bind / send-keys '^M~.'
Listing: tmux.conf
Mit dem Shortcut „Strg“ + „B“ und „.“ werden die notwendigsten vim-Umgebungswerte
gesetzt. „Strg“ + „B“ und „,“ passt die Bash so an, dass man
seine gewohnte
Umgebung findet, und „Strg“ + „B“ und „Shift“ + „7“ (also „/“) sendet den Befehl an tmux, eine
(eventuell hängen gebliebene) SSH-Session hart zu terminieren.
Letzteres
Beispiel ist deswegen sinnvoll, weil man tmux meist ja selbst via SSH
geöffnet hat und somit der Shortcut für das Terminieren von SSH („~.“) die
Sitzung zum tmux-Server beenden würde.
Sessions
Sessions sind die Gruppen der Windows und Panes. Man kann
Sessions verwenden, um beispielsweise die Terminal-Sitzungen zu seinen Kunden unterschiedlich
einzufärben und die Anzahl der Windows übersichtlich zu halten. Wie man
Sessions erstellt, steht im nächsten Abschnitt „Konfigurationsdatei“.
Der Wechsel
zwischen Sessions gestaltet sich sehr einfach mit dem Befehl „Strg“ + „B“ und
„S“. Das liefert eine Übersicht über die aktuell
laufenden Sessions und man
kann mit den Cursor-Tasten zwischen den Sessions wechseln.
Konfigurationsdatei
Eine gut konfigurierte Terminal-Sitzung kann enorm viel Zeit für
diejenigen ersparen, die täglich viel auf der Shell arbeiten. Dabei baut man
sich in einer Datei die Struktur seiner Arbeitsumgebung auf,
konfiguriert Sessions, Windows,
Panes, Tastaturkürzel etc. und lässt diese Datei
bei jedem Start von tmux auslesen. Dabei sei erwähnt, dass
lediglich ein tmux new einem Start von tmux entspricht, bei tmux attach
wird bei einer vorhandenen tmux-Umgebung die Konfigurationsdatei nicht
mehr ausgelesen. Alles was man in der Konfigurationsdatei speichert, kann
man auch zur Laufzeit mit „Strg“ + „B“ und dem Kommando :<KOMMANDO> direkt in
tmux einspeisen.
Die Konfigurationsdatei wird als ~/.tmux.conf erstellt und beinhaltet ganz
normale tmux-Befehle ohne den führendem Doppelpunkt:
new -d -s wogriat -n workhorse 'ssh-agent -a ~/.ssh-agent-tmux -t 43200 bash'
neww -d -n workhorse2
neww -d -n mutt mutt
setw -t wogriat:mutt monitor-content 'New mail '
set -t wogriat status-bg green
bind ^A last-window
...
Die Manpage von tmux gibt Aufschluss über die verwendeten Direktiven – in
kurzen Worten öffnet man in Zeile 1 eine Session mit dem Namen wogriat.
Diese Session hat als erstes Window das Fenster mit dem Namen workhorse,
welche den SSH-Agent mit einer Kennwort-Ablaufzeit von 43200 Sekunden
ausführt und danach die Bash startet. In Zeile 2 wird ein zweites Fenster
auf workhorse erstellt. Das dritte Fenster wird von mutt belebt, in der
vierten Zeile wird tmux instruiert, das mutt-Window hervorzuheben, wenn
darin der String New mail vorkommt. Die fünfte 
Zeile stellt den
Hintergrund der Session auf grün und in Zeile 6 wird der Shortcut für das
Wechseln zwischen dem letzten Window analog zum Programm screen auf
„Strg“ + „A“ gelegt.
Meine vollständige tmux-Konfiguration findet man auf meiner
Website [3].

Die Auswahl an Windows innerhalb einer Session.
Tastaturkürzel anpassen
Menschen, die sehr an den Editor vi(m) gewöhnt sind, können das
Tastaturverhalten von tmux so anpassen, dass die bekannten „HJKL“-Tasten
anstatt der Cursortasten verwendet werden können.
Damit erspart man sich beim Scrollen
das Verlassen der gewohnten Fingerhaltung auf der Tastatur.
(Wer nun den Kopf schüttelt: Das spart bei viel Arbeit auf der Konsole
wirklich Zeit und man wird sehr flink.) Per Default ist tmux im
emacs-Modus. Mittels „Strg“ + „B“ und dem Befehl :setw -g mode-keys vi
wechselt man in den vi-Modus. 
Auch das Anchor-Kommando „Strg“ + „B“ kann man
wie z. B. in
screen auf „Strg“ + „A“ anpassen. Mehr dazu gab es oben unter „Konfigurationsdatei“.
Copy & Paste in tmux
Einer der Nachteile in tmux ist, dass Copy & Paste bei Windows, die größer
als die aktuelle Kommandozeile sind, etwas schwierig wird. Dem kann
abgeholfen werden, wenn der Zielort ebenfalls ein tmux-Window
ist. Man beginnt die Markierung seines Textes, indem man „Strg“ + „B“ und
„AltGr“ + „8“ (also „[“) drückt. Damit kann man innerhalb des tmux-Windows so weit nach oben
scrollen, bis das History-Limit (anpassbar z. B. mit set -g history-limit 5000)
erreicht ist. 
Zum Starten der Markierung
drückt
man die „Leertaste“ (oder „Strg“ + „Leertaste“ im Emacs-Modus), und man kann mit den Cursor-Tasten einen Bereich markieren.
Die Markierung schließt man mit „Enter“ (bzw. „Alt“ + „W“ im
Emacs-Modus) ab.
Nun wechselt man in ein beliebiges Window (innerhalb derselben Session)
und kann den Inhalt des Buffers mit „Strg“ + „AltGr“ + „9“ (also „Strg“ + „]“) einfügen.
SSH-Agent in tmux
Im Beispiel der Konfigurationsdatei wurde ein SSH-Agent gestartet, der es
erlaubt, innerhalb aller tmux-Sitzungen das Kennwort des Private Keys zu
speichern. Dadurch muss man bei SSH-Verbindungen zu Servern das Kennwort
des Private Key nur einmal täglich eingeben.
Natürlich führt das bei einer
gestohlenen tmux-Session (bei Einbruch in den tmux-Server) dazu, dass der
Angreifer für die Lebensdauer des SSH-Agent-Parameters -t sich auf
eventuell beliebige Server verbinden kann – es ist daher ratsam, die
Bash-History jedes Mal beim Logout zu leeren und den Server sehr gut
abzusichern.
Shell Sharing
tmux eignet sich hervorragend für eine geteilte Terminal-Session zwischen
zwei oder mehreren Usern. Dabei genügt es, dass der erste Benutzer eine tmux-Session erstellt und der
zweite Benutzer (mit der gleichen Unix-UID) einfach mit tmux attach in
die Session zusteigt. tmux verringert dabei die Größe des Terminalfensters
auf den kleinsten gemeinsamen Nenner. Damit sehen alle die gleiche
Oberfläche.
Befehle multiplexen
Mit den richtigen Optionen lässt sich tmux sogar verwenden, um
Split-Screens (Panes) zu verschiedenen Servern aufzubauen und
Tastaturbefehle an alle Server gleichzeitig zu schicken. Dazu erstellt man ein oder mehrere Panes und
nutzt den Befehl :set synchronize-panes on. 
Zusammenfassung
Für Terminal-Ninjas bietet tmux eine Reihe von sehr komfortablen
Möglichkeiten, um sich die Arbeitsumgebung am Server einzurichten und
nicht am Client.
    Links
        
[1] http://tmux.sourceforge.net/
[2] http://www.gnu.org/software/screen/
[3] http://www.wogri.at/en/linux/tmux/
    
        
| Autoreninformation | 
| Wolfgang Hennerbichler (Webseite)
ist Site Reliability Engineer bei Google Zürich. Er ist begeisterter
tmux-Nutzer und findet, dass tmux sein Leben enorm vereinfacht hat. | 
        Diesen Artikel kommentieren
    Zum Index
    
von Dominik Wagenführ
    Viele elektronische Geräte buhlen heutzutage um die Gunst des Bastlers auf 
dem heimischen Sofa. Der bekannteste ist sicherlich der Raspberry 
Pi [1]. Für Mikrocontroller-Freunde bietet sich 
der Arduino [2] an. Ein weiterer Mini-PC im 
Hosentaschenformat ist das BeagleBone Black [3], 
das in diesem Artikel vorgestellt werden soll.
Der Raspberry Pi ist wie gesagt sicherlich der bekannteste Mini-Computer auf 
dem Markt (siehe hierzu auch die Vorstellung in freiesMagazin 
06/2013 [4]). Ähnlich wie der 
Pi handelt es sich beim BeagleBone um offene Hardware, die jeder zu Hause 
nachbauen kann – wenn man über das notwendige Wissen verfügt. 
Erstmals vorgestellt wurde das BeagleBone Black im April 
2013 [5] und stellt die 
Weiterentwicklung des BeagleBone dar (mit weißer Platine), welches aus dem BeagleBoard hervorgegangen ist.
Technische Daten
Das BeagleBone Black hat einen Sitara-AM335x-Cortex-A8-ARM-Prozessor mit 1 GHz. Auf 
dem Gerät sind 512 MB DDR3-Arbeitsspeicher verbaut. Das Betriebssystem kann 
entweder von Micro-SD-Karte gestartet werden oder von der eingebauten 2 GB 
großen eMMC [6].
Als externe Anschlüsse gibt es einen USB-2.0-Host-Port (zum Anschluss von 
Maus oder Tastatur bzw. einem USB-Hub) und einen MiniUSB-2.0-Client-Port zum 
Anschluss des BeagleBone Black an den heimischen PC. Daneben kann man sich 
über die Ethernet-Schnittstelle RJ45 mit dem Gerät verbinden oder über einen 
seriellen 6-Pin-Anschluss.
Betrieben wird das Gerät entweder per Strom über USB oder über eine externe 
5-V-Stromquelle,
wobei die GPIOs nur 3,3 V vertragen und der 
Analog-Digital-Wandler (ADC) 1,8 V.
Musik- und Bildsignale werden durch den Micro-HDMI-Anschluss an einem 
Monitor ausgegeben, wenn man mag. Als Grafikchip kommt ein SGX530-Chip von PowerVR zum 
Einsatz, der auch 3D-Befehle verarbeiten und somit 3D-Grafik darstellen kann.
Auf dem Board gibt es daneben noch drei kleine Knöpfe:
-  Power: Schaltet das Gerät ein (wobei es sich per Standard einschaltet, 
sobald es mit Strom verbunden wird) oder sendet einen Runterfahr-Befehl an 
das Betriebssystem, wenn es eingeschaltet ist.
-  Reset: Startet das System einmal komplett neu, wobei es sich um einen 
harten Reset handelt und daher nicht empfohlen wird.
-  Boot: Hält man den Knopf beim Starten gedrückt, wird nicht vom eMMC, 
sondern von der Micro-SD-Karte gestartet.
Steckleisten
Wichtigster Bestandteil des BeagleBone sind die zwei Steckleisten mit 
jeweils 46 Pins (GPIOs [7]). Über diese 
kann man externe Geräte an das Board anschließen und ansprechen. So gibt es 
die Möglichkeit digitale Signale zu senden (z. B. an LEDs) bzw. digitale 
Signale auszulesen (z. B. von einem Schalter bzw. Taster).
Daneben gibt es Eingänge für einen Analog-Digital-Wandler, an dem man ein 
Potentiometer anschließen kann. Über die Puls-Modulation-Wandlung kann man 
sogar einige (9 Stück) digitale Ausgänge mit einem analogen Signal ansteuern.
Zusätzlich bieten die Pins noch Anschlüsse für ein LCD, welches es bereits 
vorgefertigt zu kaufen gibt (siehe unten).

Das BeagleBone Black.
Vergleich zum Raspberry Pi
Beim Raspberry Pi kommt ebenso wie beim BeagleBone ein ARM-Prozessor zum 
Einsatz, aber
mit nur 700 MHz. Der Grafikchip kann so nicht verglichen 
werden, beide beherrschen aber 3D-Instruktionen.
Von den Anschlüssen her unterscheiden sich beide Geräte nur minimal. Der 
Raspberry Pi hat neben HDMI auch einen RCA-Video-Anschluss und einen extra 
Audio-Ausgang (3,5mm-Klinkenstecker). USB-Anschlüsse besitzt er einen mehr 
als das BeagleBone.
Der Pi hat kein eMMC, weswegen man zwingend eine SD-Karte für das 
Betriebssystem benötigt. Dies war beim original BeagleBone (ohne Black) 
ebenso der Fall.
Im Gegensatz zum Raspberry Pi ist das BeagleBone voll auf Erweiterungen 
ausgelegt, weswegen er beispielsweise einen Analog-Digital-Wandler 
mitbringt, dem man beim Pi erst selbst anbringen muss. Daneben hat der Pi 
nur 16 GPIO-Pins im Gegensatz zu den 65 beim BeagleBone. Was beim BeagleBone 
ebenfalls besser ist, dass das Gerät Steckplätze hat und keine Pins. So 
lassen sich mittels einfacher Jumper-Kabel und einer Steckplatine andere 
Elemente leichter anschließen als beim Pi.
Beide Geräte sprechen damit ein leicht unterschiedliches Klientel an. Der Pi 
ist nicht ganz so leistungsfähig und auch nicht so leicht und stark zu 
erweitern. Dafür hat er mehr Anschlüsse und ist etwas preiswerter.
Erweiterungen und das Bacon Cape
Für die Steckleisten des BeagleBone gibt es zahlreiche Erweiterungsplatinen, 
die Capes [8]. Diese 
liefern dann beispielsweise ein LCD,
bilden eine komplette Wetterstation ab 
oder dienen einfach nur zum Spielen, wie das Bacon 
Cape [9].
Das Bacon Cape eignet sich sehr gut für Einsteiger, die das erste Mal eine 
LED ansteuern oder einen Taster auslesen wollen. Die drei LEDs können dabei 
auch per Puls-Modulation angesprochen werden. Ein Schieberegler lässt mit 
dem Analog-Digital-Wandler spielen. Für alle diese Elemente steht die jeweilige PIN-Benutzung auf dem Cape aufgedruckt.
Als weitere Besonderheit ist noch eine 7-Segment-Anzeige verbaut und ein 
Beschleunigungssensor. Deren Beschreibung ist leider nicht so optimal, da 
auf dem Board nicht beschrieben ist, über welche GPIOs man diese anspricht. 
Auf der Bacon-Cape-Seite [9] gibt es 
aber immerhin für die 7-Segment-Anzeige ein Beispielskript.

Das Bacon Cape lädt zum Spielen ein.
Software
Das BeagleBone Black wird mit einem vorinstallierten 
Ångström-Linux [10] ausgeliefert. Die 
Distribution ist speziell für Embedded-Systeme
entwickelt worden und läuft 
daher ohne Probleme auf dem BeagleBone.
Wenn man Maus, Monitor und Tastatur anschließt, kann man direkt nach dem 
Einschalten des Geräts die Oberfläche sehen. Alternativ kann man sich auch 
mittels eines VNC-Viewers auf das Gerät verbinden. Hierfür muss man sich 
aber nach dem Anschließen des Geräts über USB zuerst dort einloggen und einen 
VNC-Server installieren (ein Anschluss ans Internet ist natürlich erforderlich):
$ ssh root@beaglebone.local
# opkg update
# opkg install angstrom-x11vnc-xinit
Danach kann man sich von seinem eigenen Desktop aus zum Beispiel mittels
$ vncviewer beaglebone.local
zur Ångström-Oberfläche verbinden.

Desktop-Oberfläche von Ångström-Linux nach dem Start.
Als Paketverwaltung setzt Ångström auf 
okpg [11], was eine leichtgewichtige 
Alternative zu dpkg ist.
Vorinstalliert sind bekannte Anwendungen wie der Texteditor gedit, die 
beiden Webbrowser Chromium und Epiphany, die Tabellenkalkulation Gnumeric 
und passend dazu das Schreibprogramm Abiword und zum Schluss für Grafiker 
noch GIMP und Inkscape. Alle Programme laufend entsprechend schnell und
problemlos auf dem kleinen Rechner.
Auf das BeagleBone kann man aber auch andere Linux-Distributionen mit 
ARM-Support installieren. Auf der 
BeagleBoard-Webseite [12] 
findet man beispielsweise Anleitungen für Android, Debian, Ubuntu, Arch Linux, Gentoo oder Fedora.
Benutzung
Eine gute Übersicht zur Benutzung und Ansteuerung des BeagleBone Black gibt
das Buch „BeagleBone für Einsteiger“, welches auch in 
dieser Ausgabe besprochen wird.
Für die Ansteuerung selbst muss man auf dem Gerät eingeloggt sein, was
beispielsweise per SSH nach dem Anschluss über USB funktioniert:
$ ssh root@beaglebone.local
Die Passwortanfrage kann einfach mit „Return“ bestätigt werden.
GPIO-Ansteuerung
Die direkte Ansteuerung der einzelnen Pins der Steckleiste erfolgt ganz leicht
auf der Konsole. Mit
# cd /sys/class/gpio
wechselt man in das gpio-Verzeichnis. Mittels
# echo 51 > export
steuert man den GPIO 51 an, was effektiv dem Pin 16 auf Steckleiste P9 
entspricht. Es wird daraufhin ein neues Verzeichnis gpio51 erzeugt:
# ls
export gpio51 unexport
Ggf. gibt es bereits weitere gpio-Verzeichnisse.
In dem Verzeichnis kann man den GPIO ausgehend ansprechen, indem man die 
Kommunikationsrichtung mit
# cd gpio51
# echo out > direction
vorgibt und dann den Wert 1 auf dem GPIO setzt:
# echo 1 > value
Wenn man eine LED an dem Pin 16 auf P9 angeschlossen hat oder das Bacon 
Cape besitzt, leuchtet die LED.
Entsprechend kann man auch den Wert 0 in die Datei value schreiben, um 
die LED wieder auszuschalten. Die Kommunikationsrichtung kann daneben auch 
in sein, wenn es sich um eine Eingabequelle wie z. B. einen Taster handelt.
Auf eine ähnliche Art kann man auch andere Elemente wie den A/D-Wandler oder 
Anzeigen ansteuern. In der Regel wird man aber nicht auf dieser 
Low-Level-Ebene arbeiten, sondern eine höhere Sprache zur Ansteuerung nutzen.
Python-Bibliothek
Wer lieber Python nutzt, kann die Bibliothek Adafruit_BBIO zur Ansteuerung
verwenden. Folgendes kleines Listing lässt die LED kurz aufleuchten:
#!/usr/bin/python
import Adafruit_BBIO.GPIO as GPIO
import time
GPIO.setup("P9_16", GPIO.OUT)
GPIO.output("P9_16", GPIO.HIGH)
time.sleep(1)
GPIO.output("P9_16", GPIO.LOW)
Listing: led.py
Das Listing kann man beispielsweise im Konsoleneditor nano eingeben. Mittels
# python led.py
startet man das Skript und die angeschlossene LED sollte für eine Sekunde 
leuchten.
Die Adafruit-Bibliothek in Python ist sehr praktisch, da man beispielsweise
nicht mehr nachlesen muss, welcher Pin welchem GPIO zugeordnet ist, um diesen
korrekt anzusprechen. Auf die Art lassen sich auch komplexere Programme und
Anbindungen leicht schreiben.
Ein gutes, englischsprachiges Tutorial gibt es auf der 
Adafruit-Webseite [13].
Bonescript
Über das JavaScript-Framework Node.js [14] kann man 
Skripte zur Ansteuerung des BeagleBone auch im Browser laufen lassen. 
Hierfür dient die Node.js-Bibliothek 
BoneScript [15]. Über die 
Cloud9-IDE [16] kann man die Skripte auch 
direkt im Browser schreiben und ausführen.
Wenn man das BeagleBone Black per USB angeschlossen hat, kann man vom 
lokalen Browser aus die Seite http://beaglebone.local/Support/bone101/ 
aufrufen. Dort findet man neben zahlreichen Informationen zum Board selbst 
auch verschiedene BoneScript-Beispiele. Diese gibt es aber auch auf der 
BeagleBoard-Webseite zum 
Nachlesen [17].
Daneben gibt es alle Beispielskripte bereits vorinstalliert. Man kann
sie wie folgt auf der Konsole ausführen:
# cd /var/lib/cloud9/demo/
# ls
# node blinkled.js 
Dies lässt beispielsweise wieder die LED blinken.
Fazit
Das BeagleBone Black ist eine gute und preiswerte Alternative zu anderen 
bekannten Kleinrechnern wie dem Raspberry Pi. Der Anwenderkreis ist ähnlich, 
das BeagleBone zielt aber etwas mehr auf Bastler und Erweiterungen ab. So 
gibt es auch Touchscreens, die man einfach nur an die Steckleisten 
anschließen muss und darüber dann die grafische Oberfläche steuern kann.
Die Ansteuerung der Pins ist dank zweier Hochsprachen wie Python und 
JavaScript sehr einfach und so gibt es zahlreiche Anwendungsmöglichkeiten 
für den Rechner. Sei es als Mediencenter oder für die Heimautomatisierung.
Auch als Elektronik-Laie kann man das Gerät schnell bedienen.
    Links
        
[1] http://www.raspberrypi.org/
[2] http://www.arduino.cc/
[3] http://beagleboard.org/
[4] http://www.freiesmagazin.de/freiesMagazin-2013-06
[5] https://de.wikipedia.org/wiki/BeagleBoard
[6] https://de.wikipedia.org/wiki/Multimedia_Card#eMMC
[7] https://en.wikipedia.org/wiki/GPIO
[8] http://elinux.org/Beagleboard:BeagleBone_Capes
[9] http://elinux.org/CircuitCo:Bacon_Cape
[10] http://www.angstrom-distribution.org/
[11] https://code.google.com/p/opkg/
[12] http://beagleboard.org/Getting Started
[13] https://learn.adafruit.com/setting-up-io-python-library-on-beaglebone-black/overview
[14] http://nodejs.org/
[15] https://github.com/jadonk/bonescript
[16] https://github.com/ajaxorg/cloud9/
[17] http://beagleboard.org/Support/BoneScript
    
        
| Autoreninformation | 
| Dominik Wagenführ (Webseite)
hat von Elektronik wenig Ahnung, wollte aber schon immer mal mit einem 
Kleinrechner experimentieren. Das BeagleBone Black mitsamt Bacon Cape gab 
einen sehr einfachen Einstieg in das Metier. | 
        Diesen Artikel kommentieren
    Zum Index
von Daniel Stender
    Für Linux auf dem Desktop für Endbenutzer spricht eine ganze Menge. Auf
Laptops hingegen hat das quelloffene und freie Betriebssystem lange keine gute Figur
gemacht, denkt man etwa an die Probleme mit Optimus-Grafikhardware oder
daran, dass es bei Ubuntu immer wieder Klagen über einen übermäßigen
Stromverbrauch gegeben hat.
Mittlerweile hat sich die Lage aber verbessert, und Linux hat auch hier 
mächtig aufgeholt, sodass es i. A. keine nennenswerte
Probleme mehr mit dieser speziellen Hardware gibt. Allerdings bedarf es
auf Laptops für ein optimal angepasstes System meist noch einiger
Handgriffe.
Hardware
Die Erfahrungen für diesen Artikel stammen aus der Installation von Linux
auf zwei verschiedenen Geräten der Baureihe Aspire V3-771G von Acer. Dabei
handelt es sich um leistungsstarke 17,3Laptops, die mit
vorinstalliertem Windows 8 ausgeliefert wurden. Es standen zur Verfügung:
-  das Modell 73638G1TMaii (NX.M6SEG.006), welches mit einem Intel Core
i7-3632QM-Prozessor, 8 GB RAM, einer NVIDIA GeForce 710M-Grafikkarte und
einer Seagate Momentus SpinPoint ST1000LM024
1 TB-Festplatte [1]
ausgestattet ist.
-  das Modell 53216G75Maii (NX.NXM1ZEG.039), das einen Intel Core i5-3210M,
6 GB RAM, eine GeForce GT 630M-Grafikkarte und eine Toshiba MQ01ABD075
750 GB-Festplatte [2]
hat.
Der Core i5-Laptop wurde bereits im Jahr 2012 und das Core i7-Gerät im
vierten Quartal 2013 erworben. Auch wenn sogar das neuere Modell bereits
ausgelaufen ist [3],
handelt es sich dabei um aktuelle, repräsentative Laptop-Hardware.
Anstatt einer kurz gefassten Checkliste für die Linux-Installation auf den
besprochenen Geräten finden sich hier etwas ausführlichere Informationen
zu den einzelnen Themen, sodass der Artikel auch von Besitzern
anderer Laptops mit Gewinn gelesen werden kann.Distributionen
Zwei Linux-Distributionen sind installiert worden: die eine ist das
beliebte Debian- bzw. Ubuntu-basierte Linux Mint [4]
in der aktuellen Ausgabe 16 „Petra“, das als Live-CD vertrieben wird, und
zwar die Version mit dem schlanken Gnome 2-Fork Mate als Desktop. Das
andere Linux ist das eher professionelle Debian GNU/Linux Testing mit
GNOME 3, das von einer Netinstall-CD aus installiert
wurde [5].
Auf Details zu der Installation dieser Distributionen wird hier allerdings
nicht eingegangen – der Leser möge dafür bitte in die Dokumentation des
von ihm gewählten Linux-Systems schauen.
Setup
Bevor eine Linux-Distribution auf dem Acer-Laptop installiert werden kann,
müssen zunächst einige Dinge im Mainboard-Setup eingestellt werden. Um das
Setup zu erreichen, muss nach dem Starten des Computers direkt die
„F2“-Taste gedrückt werden. 
In diesem Menü lässt sich zunächst unterhalb des Tabs
„Main“ die Systemzeit anpassen, wenn notwendig.
AHCI
Die Einstellung „AHCI Mode“ für den Festplatten-Controller
(„SATA Mode“) sollte auf jeden Fall beibehalten werden. AHCI (Advanced Host
Controller Interface [6])
bietet unter anderem Native Command Queuing (NCQ), das bei einer Häufung
von verstreuten Zugriffen die Festplattenleistung verbessert, wenn
Laufwerke NCQ auch unterstützen. Beide besprochene Festplatten tun das,
wie viele andere Modelle auch.
UEFI
Laptops wie die hier beschriebenen Modelle von Acer bieten drei
verschiedene Möglichkeiten zu Booten: unterhalb des Tabs „Boot“ wählt der
Anwender hier im Mainboard-Setup für den „Boot Mode“ zwischen den Optionen
„UEFI“ und „Legacy Bios“. Wenn UEFI ausgewählt worden ist, lässt sich
auch noch die Funktion „Secure Boot“ setzen, wenn unterhalb des Tabs
„Security“ vorher ein Supervisor-Passwort eingestellt worden ist. Bei
UEFI (Unified Extensible Firmware Interface) handelt es sich um einen
Nachfolger des alten PC-BIOS [7].
UEFI-Mainboards finden sich heutzutage gemeinhin auf Computern, die mit
Windows ausgeliefert werden (siehe „Crashkurs UEFI“, c't 15/2013, S. 138).
Secure Boot
Seit Version 2.3.1 bietet UEFI Secure Boot, den „sicheren Startzustand“.
Dieser Modus soll verhindern, dass sich Schadsoftware vor dem
Start des Betriebssystems aktiviert. Das Booten ist dabei auf von
Microsoft signierte Bootloader beschränkt. Z. Zt. unterstützt nur
eine begrenzte Anzahl von Linux-Distributionen Secure Boot (siehe
„Gesichtskontrolle“, c't 5/2013, S. 170).
Samsung-UEFI-Bug
UEFI sorgt in Verbindung mit Linux gerade auf Laptops leider immer wieder
für gravierende Schwierigkeiten. Im vergangenen Jahr ist es zunächst bei
Samsung-Laptops vorgekommen, dass ein auch ohne Secure Boot mit UEFI
gebootetes Linux die Hardware unbrauchbar gemacht hat und das Mainboard
komplett ausgetauscht werden musste (siehe „Ausgeknipst“, c't 5/2013, S.
30, behoben mit Kernel 3.8). Dabei hatte es sich allerdings um einen
Hardware-Fehler gehandelt, und der Defekt ist nicht unmittelbar von Linux
verursacht worden, sondern war auch mit Windows reproduzierbar (siehe
„Firmware-Schaden“, c't 6/2013, S. 46). Dasselbe kommt neuerdings
auch wieder bei verschiedenen Lenovo-Thinkpads vor, aber der
Hersteller bietet dafür eine revidierte Firmware
an [8].
CSM
Derzeitige PC-Mainboards bieten gemeinhin die Möglichkeit, mit einem
„Compatibility Support Module“ (CSM) auch vollkommen ohne UEFI zu booten.
Auf den besprochenen Geräten ist es diese Bios-Emulation, die mit
„Legacy Bios“ im Mainboard-Setup gemeint ist. Wenn man kein Dualboot-System
zusammen mit einem unter UEFI installierten Windows aufsetzen möchte, dann
ist diese Option für Linux mit Sicherheit die einfachste. Eine Gefahr
für die Hardware, auch wenn sie nur auf ganz bestimmten Geräten besteht,
lässt sich damit auf jeden Fall auch ausschließen.
Sonstige Einstellungen
Unterhalb des „Main“-Tabs sollte auf jeden Fall mit der Option „Quiet
Boot“ der Acer-Splashscreen beim Hochfahren deaktiviert werden, damit das
Menü des Bootloaders erreichbar ist (s. u.). Die Auswahl wird
verfügbar, wenn der Acer-Laptop das erste Mal im CSM-Modus gestartet
wurde.
Installation
Linux-Installer variieren in ihrer Vielseitigkeit bzw. Komplexität, sodass
man bei Arbeiten, die der Installation von Linux vorausgehen,
eventuell auch auf Kommandozeilen-Werkzeuge zurückgreifen muss. Diese
sind entweder vonder gebooteten Live-CD verfügbar, wo auch der Installer
gestartet wird, oder aber der Benutzer greift für die Vorbereitungen auf
ein spezielles Wartungssystem zurück, wie zum Beispiel Grml [9].
Auf den beschriebenen Modellen muss Grml aber mit der Boot-Option
„Disable framebuffer“ gestartet werden.
GPT
Die Festplatten mit vorinstalliertem, aktuellem Windows sind mit einer
GUID-Partitionstabelle (GPT) versehen. Dabei handelt es sich um den in
Zusammenhang mit UEFI entwickelten Nachfolger der im Master Boot Record
(MBR [10])
abgelegten Partitionstabelle. Wenn mit CSM gebootet wird, reicht aber
auch eine einfach MBR-Partitonierung aus. Es ergeben sich daraus keine
Nachteile, der Boot-Datenträger darf nur nicht größer als 2 TB sein, was
nicht der Fall ist. Mit dem Kommandozeilen-Partitionierer parted kann die
Umstellung auf die MBR-Partitionstabelle ganz einfach vollzogen werden:
# parted /dev/sda
GNU Parted 2.3
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel msdos
(parted) quit
Die Festplatte ist danach mit einer leeren Partitionstabelle
ausgestattet und kann nun partitioniert werden. Partitionierung und
Formatierung übernimmt dabei in jedem Fall der jeweilige Installer.
Unter den verschiedenen, angebotenen Dateisystemen ist ext4
immer eine gute Wahl [11].
AFD
Ein Thema dabei ist, dass bei viele Festplatten die physikalische
Sektorengröße (4096 Bytes) nicht mit der logischen Sektorengröße (512 Byte)
übereinstimmt. Diese Advanced Format Drives (AFD) müssen unbedingt
angepasst partitioniert werden, um Performance-Einbußen zu
vermeiden [12].
Bei aktuellen Installern findet das gemeinhin automatisch statt, und
parted hat dafür den Schalter -a optimal. Ob eine AFD-Anpassung auf dem
Boot-Laufwerks erfolgt ist, kann immer mit dem Befehl
parted /dev/sda align-check opt 1 überprüft werden.

Linux mit GNOME 3 auf dem Acer-Laptop.
Optimus
Die Hinweise zu Setup und Partitionierung bei der Linux-Installation auf
den genannten Geräten gehen auch Desktop-Benutzer etwas an. Bei Optimus
hingegen handelt es sich um eine Angelegenheit, die Besitzer von Laptops
betrifft. Der eingebaute Grafikchip, die dedizierte Graphics Processing
Unit (dGPU), hat bei dieser Technik gar keinen eigenen Ausgang zum
Bildschirm mehr, sondern wird bei Bedarf automatisch hinzugeschaltet,
indem man sie über den Treiber in den Speicher der in der CPU integrierten
Grafikeinheit (iGPU) schreiben lässt. Die Optimus-Technik ist von NVIDIA
entwickelt worden, um auf Laptops Akkuenergie sparen zu können: immer wenn
keine zusätzliche Grafikleistung benötigt wird, stellen Optimus-Treiber
die dGPU ganz ab [13].
Die Unterstützung von Optimus auf Linux-Systemen ist nur schleppend in
Gang gekommen, was damit zu tun hat, das NVIDIA zunächst entschieden
hatte, den eigenen Linux-Treiber nicht für Optimus weiter zu entwickeln,
und es wurde sich von Linux-Seite auch über mangelnde Bereitschaft zur
Kooperation beklagt [14].
Optimus-Blackscreen
Laptop-Benutzer mit Linux konnten vor einigen Monaten die eingebaute
NVIDIA-Grafik noch überhaupt nicht einsetzen, und schon beim Hochfahren
gab es nichts als Frust: das Linux erkennt zwar beide Grafikeinheiten,
aber ohne weitere Einstellungen wird vom System der Treiber für die dGPU
ausgewählt. Dies führt aus den genannten Gründen bei fehlender
Optimus-Unterstützung zu einem schwarzen Bildschirm (siehe „Ungleiches
Paar“, LinuxUser 08/2011 [15]).
Falls der Benutzer ein etwas älteres Linux einsetzen möchte, etwa eine
LTS-Distribution, und es nach dem Hochfahren einen schwarzen Bildschirm
gibt, dann muss zunächst natürlich neu gebootet werden. Dafür empfiehlt
sich statt eines harten Resets mit der Power-Taste ein weicherer
Kernel-Shutdown, indem man die Taste „S-Abf“
(„Alt“ + „Druck“) gedrückt hält
und dabei reisub
eintippt. Um nun zu verhindern, dass der
NVIDIA-Treiber geladen wird, muss dem Linux auf dem Core i7-Gerät die
Bootoption i915.modeset=0 mitgegeben werden (auf dem Core i5-Modell:
nomodeset). Damit wird der Video-Modus zurück an der X-Server
gegeben [16]. Bei dem Bootloader
Grub2, zum Beispiel bei den genannten Distributionen, drückt der Benutzer,
wenn das Bootmenü erscheint, die Taste „e“ und kann dann diese Option in
der Zeile mit linux ... ro quiet splash am Ende ergänzen. Anschließend drückt
man „F10“, um mit diesen Optionen zu booten. Für eine solche Operation
muss natürlich das „Quiet Boot“ im Mainboard-Setup (unterhalb des Tab
„Main“) deaktiviert sein. Diese Bootoption lässt sich permanent machen,
indem man sie in derselben Zeile in der Datei /etc/default/grub ergänzt.
Danach muss der Benutzer nur noch den Bootloader aktualisieren:
# update-grub
# grub-install /dev/sda
So gibt es erst einmal keinen schwarzen Bildschirm mehr nach dem
Hochfahren, aber es gibt auch Lösungen, um die teuer bezahlte NVIDIA-Hardware
doch für die Grafikdarstellung auf Optimus-Systemen benutzen zu können.
Bumblebee
Optimus-Grafik unter Linux ist unter anderem möglich mit der Applikation
Bumblebee [17]. Bumblebee richtet bei Aufruf
einen zweiten, virtuellen X-Server für die NVIDIA-GPU ein und benutzt ein
GL-basiertes Backend (Primus), um das Bild in den Speicher der Intel-GPU zu
übertragen. Es kann mit dem quelloffenen NVIDIA-Treiber Nouveau, der
standardmäßig installiert ist, oder aber auch mit dem proprietären Treiber
von NVIDIA kooperieren. Bumblebee lässt sich auf den genannten Systemen
zum Beispiel ganz einfach über die Pakete bumblebee-nvidia und
primus installieren, wobei natürlich automatisch alle benötigten
Abhängigkeiten mitgezogen werden.
Programme startet man dann ganz einfach „auf“ der dGPU mit dem Befehl
primusrun foo. Ob die dGPU tatsächlich angesprochen wird und ob
alles richtig funktioniert, kann einfach mit glxinfo aus dem Paket
mesa-utils überprüft werden:
$ primusrun glxinfo | grep -E '^(OpenGL|direct)'
direct rendering: Yes
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce GT 630M/PCIe/SSE2
OpenGL version string: 4.3.0 NVIDIA 319.32
Sollte es nach der Installation des Treibers Probleme geben,
lässt sich das Linux mit nomodeset text als Bootoption auch im Textmodus
starten, sodass Konfigurationen vorgenommen oder wieder
deinstalliert werden kann (zum Thema „Grafiktreiber“ siehe
„Treiberreviere“, c't 2/2013, S. 156).

71,2 FPS: Bumblebee beschleunigt die Rennsimulation Torcs.
dGPU ausschalten
Moderne CPU-basierte Grafikeinheiten wie die HD Graphics 4000 reichen für
die meisten Alltagsanwendungen und sogar für mehr als nur einfache
3D-Programme bereits vollkommen aus [18].
Für die brachliegende dGPU als sehr leistungsstarkem Parallelprozessor
ergibt sich zum Beispiel auch ein interessantes Einsatzgebiet für eigenes
Number Crunching (siehe „GPU-Computing mit R“, freiesMagazin 12/2013 [19]).
Es ist auf jeden Fall aber sinnvoll, eine unbenutzte NVIDIA-Grafik
abzuschalten: Im Ruhezustand verbraucht diese Hardwarekomponente nach
eigener Messung bereits um die 5 Watt, das Abschalten macht also einen maßgeblichen
Zugewinn an Laufzeit im Batteriebetrieb aus (siehe unten). Neuerdings stellt der
Linux-Kernel (seit Version 3.12) eine unbenutzte dGPU 
selbstständig ab [20].
bbswitch
Bei nicht ganz so aktuellen Kerneln kann man dafür das Modul bbswitch
benutzen, das zusammen mit Bumblebee entwickelt und automatisch
mitinstalliert wird. Dieses Modul kann aber auch ohne
Bumblebee benutzt werden und ist auf Debian-basierten Systemen
als Paket bbswitch-dkms separat verfügbar. Folgender Kommandoblock
demonstriert, wie man das fertig kompilierte Modul dann in den Kernel
lädt, die unbenutzte dGPU damit abschaltet und beides überprüft:
# modprobe bbswitch
# lsmod | grep bbswitch
bbswitch     13943 0
# echo 'OFF' | tee /proc/acpi/bbswitch
OFF
# lspci | grep NVIDIA
01:00.0 3D controller: NVIDIA Corporation GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (rev ff)
Dabei bestätigt das rev ff am Ende, dass der NVIDIA-Chip auch wirklich
abgeschaltet ist (ON schaltet ihn auch wieder an, was mit rev a1
angezeigt wird). Das macht sich unter anderem auch durch einen deutlich
ruhigeren Lüfter bemerkbar. Das Laden des Kernel-Moduls und das Abschalten
der dGPU kann auch permanent gemacht werden mit folgendem Befehl:
# echo 'bbswitch load_state=0' | tee -a /etc/modules
Festplattentuning
Nach der Installation von Linux auf einem Laptop bietet es sich an,
die Feineinstellungen der Festplatte zu überprüfen.
Informationen zur Festplatte lassen sich
auf der Kommandozeile mit hdparm -I /dev/sda | less abrufen (siehe
„Platteninspektor“, LinuxUser 10/2012 [21]).
APM
Das Advanced Power Management (APM) von Laptop-Festplatten fährt bei
Inaktivität die Schreib-/Leseköpfe des Laufwerks in die Ruheposition und
drosselt je nach Einstellung auch noch die Rotation der
Scheiben (Spindown). Das Gerät läuft dann bei einem Zugriff automatisch
wieder 
an. Wird es mit dieser Stromsparfunktion übertrieben,
 tritt
aber ein negativer Effekt ein: die für das ständige
Wiederhochfahren zusätzlich benötigte Energie übersteigt die Einsparungen, und
der Verschleiß des Laufwerks erhöht sich unnötig. Insbesondere beim
Hochfahren gibt es darüber hinaus immer eine Verzögerung im
Betriebsfluss.
APM-Level
Der APM-Level, der Wert für die Stromspareinstellung, steht in der
Firmware der Festplatte. Er kann
mit hdparm -B /dev/sda abgefragt
werden, wobei es im Batterie- und im Netzmodus andere
 Werte
geben kann. Auf den besagten Acer-Laptops zum Beispiel zeigt sich, dass
das APM der Festplatte im Netzbetrieb auf 254, und im Akkubetrieb auf 128
eingestellt ist. Der APM-Level ist ein Wert aus einem von drei Intervallen
(siehe „Mal abschalten“, c't 1/2013, S. 160):
-  Von 1-127 findet zusätzlich zum Parken der Schreib-/Leseköpfe ein Spindown
  statt.
-  Von 128-191 bleibt beim Parken der Schreib-/Leseköpfe die Drehzahl der
  Festplatte unverändert.
-  Ein Wert zwischen 192-254 sowie 255 stellen das APM ab.
Nicht alle Laufwerke unterstützen das Ausstellen von APM, wie das zum
Beispiel bei dem Core i7-Modell der Fall ist: hier ist beim Wert 255 das
APM nicht ausgeschaltet, sondern es kommt zum viel zu häufigen Parken in
Verbindung mit ständigen Spindowns (was deutlich hörbar ist), sodass das
unbedingt vermieden werden sollte.Zu viele Parkvogänge bzw. Spindowns
Der Zähler für die Parkvorgänge kann aus dem Festplattenprotokoll
ausgelesen werden mit
# smartctl --all /dev/sda | awk '/Load_Cycle_Count/{print $(10)}'
wobei smartctl aus dem Paket smartmontools stammt. Wirft das auch schon
bei recht neuen Laptops bereits einen fünfstelligen Wert aus, dann ist die
Einstellung für das APM eher problematisch und der APM-Level zu niedrig
angesetzt (siehe „Bund fürs Leben“, LinuxUser
01/2012 [22]).
APM-Level einstellen
In der Datei /etc/hdparm.conf hat der Benutzer die Möglichkeit, den
APM-Level dauerhaft einzustellen:
# -B apm setting
#apm = 255
# -B apm setting when on battery
#apm_battery = 127
Möchte man für den Akkubetrieb zum Beispiel den APM-Level auf 254
einstellen, ändert man die Zeile mit apm_battery entsprechend ab und
entkommentiert sie.
Gleichzeitig muss aber auch der Wert für apm angegeben werden.
Die Änderungen in /etc/hdparm.conf werden natürlich erst nach einem
Neustart wirksam.
Akustikmodus
Wichtig bei Laptop-Festplatten ist auch zu überprüfen, wie der
Akustikmodus eingestellt ist, wenn die eingebaute Festplatte diese
Funktion anbietet. Im Akustikmodus werden die Schreib-/Leseköpfe
verlangsamt, um die Geräuschentwicklung des Laufwerks zu vermindern,
allerdings geschieht das auf Kosten der Zugriffszeit. Die Einstellung des
Akustikmodus kann mit hdparm -M /dev/sda abgefragt werden. Auf
der im Core i7-Laptop eingebauten Seagate Momentus Spinpoint-Festplatte
war der Wert 128 eingestellt.
Es gibt drei Einstellungen für den
Akustikmodus:
-  128 ist „quiet“,
-  254 ist „fast“,
-  0 stellt diesen Modus ganz ab.
Der Benutzer kann dies auch in der Datei /etc/hdparm.conf, und zwar in
der Zeile mit der Option acoustic_management dauerhaft einstellen. Den
Akustikmodus komplett abzuschalten bringt einen ganz deutlich spürbaren
Zuwachs an Festplatten-Performance, während meiner Erfahrung nach die
erhöhte Geräuschentwicklung in keinem nennenswerten Verhältnis dazu steht.Energieverbrauch
Vom Stromnetz unabhängig arbeiten zu können ist geradezu der Sinn von
Laptops, und den Verbrauch möglichst niedrig zu halten ist dabei ein
entscheidendes Merkmal eines guten Betriebssystems. Linux war lange dafür
bekannt, keinen optimalen Gebrauch von verschiedenen
Stromsparmöglichkeiten zu machen, aber das hat sich mittlerweile zum Glück
verbessert.
Eingebauter Akku
Die beschriebenen Laptops wurden mit einem Acer AD10D31
Lithium-Ionen-Akku mit 6 Zellen ausgeliefert. Daten über die Batterie lassen sich im
Verzeichnis /sys/class/power_supply/BAT0 auslesen. Auf dem noch recht
neuen Core i7-Modell wirft das System als Kapazität des eingebauten Akkus
4320 Milliamperestunden (mAH) aus (energy_full), was bei einer Spannung
von 12,2 Volt (voltage_now) eine Leistung von (4320 * 12,2) / 1000 = 52,7
Wattstunden (Wh) ergibt.
Standard-Verbrauch
Den Durchschnittsverbrauch im Batteriemodus ermittelt der Benutzer zum
Beispiel mit dem Programm Powerstat. Nach eigener Messung verbraucht das
installierte Debian GNU/Linux auf diesem Computer in einem schlichten
Arbeitsprofil mit einfachem Netzsurfen und Dateneingabe, vor allem aber
mit abgeschalteter NVIDIA-GPU (siehe oben) durchschnittlich etwa 15 Watt.
Das ergibt bei einer Kapazität von 52,7 Wh eine Gesamtlaufzeit von rund
3,5 Stunden.
Powertop
Welche Prozesse und welche Komponenten genau wie viel Energie verbrauchen,
lässt sich mit dem Tool Powertop detailliert nachvollziehen (siehe
„Stromdiebe entlarvt“, LinuxUser 10/2012 [23]).
Powertop wird einfach auf der Konsole aufgerufen und hat eine
Ncurses-Oberfläche, aber es kann seit Version 2.0 auch ein
Verbrauchsbericht in HTML damit angefertigt werden: powertop --html.
Feintuning
Unterhalb des fünften Tabs „Abstimmbare Optionen“ findet man eine Sammlung
von verschiedenen Feineinstellungen für einen optimierten Stromverbrauch.
Suboptimales wird dabei automatisch nach oben sortiert und kann direkt
mit „Eingabe“ umgestellt werden. Diese Einstellungen gehen beim
Computer-Neustart normalerweise verloren, aber wie folgt kann
der Benutzer sie aus dem erstellten HTML-Report extrahieren:
$ grep 'echo' powertop.html | sed 's/.*\(echo.*\);.*/\1/' | sed 's/>/>/'
Das Ergebnis muss dann noch (mit Root-Rechten) in die Datei
/etc/rc.local eingetragen werden, allerdings unbedingt vor dem dort
stehenden exit 0. Auch wenn sich der damit erreichbare Stromspareffekt
meistens doch in Grenzen hält (siehe „Stromfresser entlarven“,
Linux-Magazin 03/2012 [24]),
so ließ sich damit auf dem Core i7-Modell mit Debian Testing der gemessene Durchschnittsverbrauch um ungefähr ein Watt
senken.

Powertop schlägt zusätzliche Feintuningmaßnahmen vor.
Zusammenfassung
Die besprochenen Acer-Laptops der Baureihe Aspire kann man aus
Linux-Perspektive durchaus empfehlen, es handelt sich um zufriedenstellende
Geräte, die rundherum einwandfrei funktionieren.
Die Frage nach der optimalen Einstellung des Mainboards für das
Linux-Booten mit UEFI stellt sich auch Desktop-Benutzern. Allerdings hat
es gerade auf Laptops immer wieder gravierende Schwierigkeiten mit UEFI
gegeben, die sich aber durch das Booten im CSM-Modus verhindern lassen.
Die spezielle Optimus-Grafikhardware von Laptops wird mittlerweile von
Linux unterstützt, auch wenn die dGPU bisher immer noch manuell
hinzugeschaltet werden muss.
Beim Booten mit CSM bietet es sich an, eine MBR-Partitionstabelle auf der
Festplatte anzulegen.
Festplatten in Laptops sind nicht immer gut eingestellt, das lässt sich
aber schnell überprüfen und mit ein paar Handgriffen beheben.
Und für einen optimierten Stromverbrauch hat man mit dem Tool Powertop
schnell eine Sammlung von Feintuning-Maßnahmen zusammengestellt.
    Links
        
[1] http://www.seagate.com/files/staticfiles/support/docs/samsung-ds/100698122c.pdf
[2] http://storage.toshiba.eu/cms/en/hdd/computing/product_detail.jsp?productid=409
[3] http://www.acer.de/ac/de/DE/content/models/notebooks
[4] https://de.wikipedia.org/wiki/Linux_Mint
[5] https://de.wikipedia.org/wiki/Debian
[6] https://de.wikipedia.org/wiki/Advanced_Host_Controller_Interface
[7] http://www.uefi.org/
[8] http://www.pro-linux.de/news/1/20743/uefi-fehler-in-aktuellen-thinkpads.html
[9] http://grml.org/
[10] http://www.thomas-krenn.com/de/wiki/GUID_Partition_Table
[11] http://www.linuxjournal.com/rc2013?page=49
[12] http://www.heise.de/ct/hotline/FAQ-Festplatten-mit-4K-Sektoren-1378642.html
[13] http://de.wikipedia.org/wiki/Nvidia_Optimus
[14] http://www.youtube.com/watch?v=O0r6Pr_mdio
[15] http://www.linux-community.de/Internal/Artikel/Print-Artikel/LinuxUser/2011/08/Optimus-Grafikkarten-unter-Linux
[16] https://wiki.ubuntuusers.de/Bootoptionen
[17] http://bumblebee-project.org/
[18] http://www.notebookcheck.net/Intel-HD-Graphics-4000.69168.0.html
[19] http://www.freiesmagazin.de/freiesMagazin-2013-12
[20] http://www.heise.de/open/artikel/Die-Neuerungen-von-Linux-3-12-1981573.html
[21] http://www.linux-community.de/Internal/Artikel/Print-Artikel/LinuxUser/2012/10/Laufwerke-abfragen-und-steuern-mit-Hdparm
[22] http://www.linux-community.de/Internal/Artikel/Print-Artikel/LinuxUser/2012/01/Linux-fuer-Notebooks-anpassen
[23] http://www.linux-community.de/Internal/Artikel/Print-Artikel/LinuxUser/2012/10/Energiesparen-mit-Powertop-2.0
[24] http://www.linux-magazin.de/Ausgaben/2012/03/Rat-und-Tat
    
        
| Autoreninformation | 
| Daniel Stender (Webseite)
entwickelt im Bereich
Dokumentenanalyse und OCR, Digital Humanities und Medienherstellung. | 
        Diesen Artikel kommentieren
    Zum Index
    
von Dominik Wagenführ
    Kleine elektronische Geräte wie der Raspberry
Pi [1] und das
BeagleBone [2] erfreuen
sich immer größerer Beliebtheit in der technik-affinen Bastlergemeinde.
Dennoch ist es nicht immer leicht, den Einstieg zu finden. Das Buch
„BeagleBone für Einsteiger“ soll dabei helfen.
Redaktioneller Hinweis: Wir danken O'Reilly für die Bereitstellung eines Rezensionsexemplares.
Siehe hierzu auch den Artikel über das BeagleBone Black.
Inhalt des Buches
Das Buch ist mit etwas über 130 Seiten sehr dünn, versucht aber dennoch
viele Bereiche abzudecken. Nach dem Vorwort lernt der Leser das BeagleBone
und seine Schnittstellen kennen. In diesem Kapitel ist auch beschrieben, wie
man sich mit dem Gerät unter Windows, MacOS X und Linux verbindet, um damit
arbeiten zu können.
Nach einem kurzen Einstieg in Linux (auf dem BeagleBone wird
Ångström-Linux [3] eingesetzt), wird
auch gleich mit dem BeagleBone gearbeitet. Alle Anweisungen beziehen sich
sowohl auf das originale BeagleBone als auch auf das BeagleBone Black.
So lernt man, wie man im Terminal über das Dateisystem die
GPIOs [4] anspricht und damit eine LED
am BeagleBone leuchten lässt. Die notwendigen Materialien wie Widerstände
und LEDs sowohl der Versuchsaufbau mit allen Anschlüssen werden vor jeder
Übung aufgelistet.
Danach geht es an die Hochsprache Python, mit der man dann neben der
Ansprache einer LED auch einen digitalen Taster und analoge Eingabewerte
eines Potentiometers einliest.
Ebenso wird die Pulsweitenmodulation (kurz
PWM) und wie man
eine LED damit dimmen kann erklärt.
Nach einigen weiteren Beispielen (wie beispielsweise der Benutzung des
Python-Webframeworks Flask [5]) wird
Bonescript [6] vorgestellt. Dabei
handelt es sich um eine JavaScript-Bibliothek für
Node.js [7]. Mit dieser werden dann im Schnelldurchgang
die gleichen Beispiele wie mit Python durchgespielt.
Am Ende des Buches wird noch kurz auf die GNOME2-Desktop-Oberfläche von
Ångström-Linux eingegangen und darauf, wo man weitere Referenzen findet. Die drei
Anhänge erklären das Aufspielen eines aktuellen Images, wie man
systemd-Systemdienste in Linux einrichtet und eine Kurzreferenz der
GPIO-Ansteuerung.
Zielgruppe
Der Titel des Buches sagt aus, dass sich der Inhalt an Einsteiger
richtet. Hierbei muss aber ganz klar gesagt werden, dass es sich nicht um
Elektronik-Einsteiger handelt. Wer von Steckbrettern, Widerständen, LEDs und
Potentiometer keinerlei Ahnung hat, tut sich schwer, auch nur das erste
Beispiel nachzuvollziehen. Der Autor setzt viel Wissen in dieser Materie
voraus.
Dass der Autor etwas erfahrene Elektronik-Bastler ansprechen will, merkt
man auch bereits am zweiten Beispiel, in welchem man eine 240V-Lampe mit dem
BeagleBone steuern soll. Da fragt man sich, was dieses Beispiel in einem
Einsteigerbuch verloren hat.
Wer ein BeagleBone Bacon
Cape [8] sein Eigen
nennt, kann sich aber entspannen. Selbst ohne Elektronik-Wissen kann man
dank der Steckplatine sehr leicht die Beispiele nachvollziehen, da das Cape
alle benötigten Elemente wie LEDs, Taster und Potentiometer zur Verfügung
stellt.
Aber auch für Elektronik-Einsteiger, die kein Bacon Cape haben, werden die
ersten Beispiele anschaulich erklärt, zum Beispiel an welchem Pin auf dem Steckbrett man
genau wo welches Element anschließen muss. Neben der Erklärung gibt es auch
noch eine Bebilderung, die beim Aufbau hilft. Dennoch gilt: Wenn man nicht
weiß, wofür Widerstände da sind und was eine Anode und eine Kathode sind,
sollte man sich zuerst eine grobe Einführung in Elektronik besorgen, ehe man
sich selbst oder dem BeagleBone schadet.
Da das BeagleBone ein Linux als Betriebssystem einsetzt, ist es gut, dass es
ein kurzes Kapitel zur Umgang mit der Konsole gibt. Auch wenn dort nur
einfache Befehle wie cd, ls oder rm erklärt werden, reicht es, um
die Skripte abzutippen und auszuführen. Als Konsoleneditor wird der
anwenderfreundliche nano benutzt und nicht
Vi, was sehr gut ist, da die richtige Benutzung von Vi ganze Bücher füllen
kann.
Kritik
Das Buch ist sehr dünn und kann dementsprechend nur eine kurze Einführung in
das BeagleBone geben. Mehr will der Autor Matt Richardson aber auch nicht.
Zahlreiche Referenzen am Ende zeigen, wo man Hilfe finden und sich weiter
informieren kann.
Ein Einsteiger ohne Elektronik-Erfahrung kann mit dem Buch erst einmal
nichts anfangen. Die Grundlagen der Elektronik werden nicht erklärt. Wenn
man aber etwas Grundlagenwissen hat oder, wie oben beschrieben, ein Bacon
Cape besitzt, ist es sehr leicht, die Beispiele nachzuvollziehen.
Der Aufbau des BeagleBone am Anfang und die Referenz am Ende erklären sehr
gut, was man mit dem Board machen kann und wozu die einzelnen Pinsteckplätze
in den Steckleisten gut sind. So 
sollte es prinzipiell keine Probleme beim
Verständnis geben.
Auch wenn es für die Benutzung der Python- oder Bonescript-Schnittstelle
nicht zwingend notwendig ist, ist es sinnvoll zu wissen, wie das Ansprechen
der GPIO-Pins im Dateisystem funktioniert. Wenn es im Skript mal einen
Fehler gibt, kann man so zumindest auf einem niedrigeren Level prüfen, woran
es hängt.
Linux-Anfänger werden wiederum ganz gut an die Hand genommen. Das Terminal
als primäre Eingabequelle wird erklärt und in den einzelnen Kapiteln gibt es
immer wieder Exkurse zu den Linux-Eigenheiten wie z. B. das Ausführbarmachen
eines Skriptes, Pfad-Variablen oder cron.
Die Python- und Bonescript-Listings im Buch werden sehr ausführlich Zeile
für Zeile erklärt, sodass man immer genau weiß, was man tut. Die Listings
sind auch immer so kurz, dass man sie noch ohne Probleme abtippen kann.
Schade ist, dass bei der deutschen Übersetzung Umlaute in die Listings
eingebaut wurden, die aber nano und Python (in der Standardeinstellung)
nicht beherrschen. Hier ist man als Linux-Anfänger etwas aufgeschmissen,
weil man nicht sofort weiß, was man falsch gemacht hat.
Fazit
Das Buch richtet sich vor allem an
BeagleBone-Einsteiger, die etwas
Elektronik-Erfahrungen mitbringen. Die Besonderheiten und Schnittstellen des
BeagleBone werden gut erklärt.
Wer selbst mit einem BeagleBone herumspielen will, findet mit dem Buch einen
guten Einstieg. Spätestens, wenn es aber an eigene, größere Projekte geht, sollte man sich
die BeagleBone-Dokumentation sehr ausführlich durchlesen und vor allem
eine Menge Elektronik-Erfahrung mitbringen.
        
| Buchinformationen | 
| Titel | BeagleBone für Einsteiger [9] | 
| Autor | Matt Richardson | 
| Verlag | O'Reilly, Januar 2014 | 
| Umfang | 135 Seiten | 
| ISBN | 14,90 € (Druck), 12,00 € (PDF) | 
| Preis | 978-3-95561-409-6 | 
    Links
        
[1] http://www.raspberrypi.org/
[2] http://beagleboard.org/Products/BeagleBone Black
[3] http://www.angstrom-distribution.org/
[4] https://en.wikipedia.org/wiki/GPIO
[5] http://flask.pocoo.org/
[6] http://beagleboard.org/Support/BoneScript
[7] http://nodejs.org/
[8] http://beagleboard.org/support/BoneScript/cape_bacon/
[9] http://www.oreilly.de/catalog/getstartbeagleboneger/index.html
    
        
| Autoreninformation | 
| Dominik Wagenführ (Webseite)
wollte schon länger mit einem BeagleBone herumspielen. Das Buch gab ihm dabei einen guten Einstieg. | 
        Diesen Artikel kommentieren
    Zum Index
von Jochen Schnelle
    JavaScript als Programmiersprache hatte schon diverse Höhen und Tiefen. Die
aktuelle Hochphase dauert schon ein wenig länger an, was den Verlag Galileo
Computing vielleicht auch dazu motiviert hat, die 11. Auflage des Buchs
„JavaScript – Grundlagen, Programmierung, Praxis“ von Autor Christian Wenz zu
veröffentlichen.
Redaktioneller Hinweis: Wir danken dem Verlag Galileo Computing für die Bereitstellung eines Rezensionsexemplares.
Elf Auflagen sind für Bücher generell schon eine sehr reife Leistung und im
Bereich der (schnelllebigen) IT erst recht. Auch in der 11. Auflage sind – laut
Autor – wieder diverse Dinge überarbeitet und ergänzt worden.
Vergangenheit
Zu Beginn wird, wie bei vielen anderen Werken zum diesem Thema auch, zuerst auf
die Historie von JavaScript eingegangen. Wo immer nötig bzw. passend wird diese
auch im Buch immer wieder kurz aufgriffen. Stellenweise ist es aber auch
vielleicht ein bisschen zu viel, da heutzutage historische Fakten zum Netscape
Browser nicht mehr relevant sind.
Grundlagen
Danach geht es dann mit dem eigentlichen Thema „Programmierung“ mit JavaScript
los. Behandelt werden Variablen, Kontrollstrukturen usw., bevor mit Themen wie
Ereignisbehandlung und dem DOM-Baum fortgefahren wird.
Weiter geht es dann mit allen (grundlegenden) Themen, die für den Einsatz von
JavaScript im Webbrowser wichtig sind. Dazu gehören z. B. der Umgang mit Fenstern,
Formulare und deren Validierung, Grafiken und natürlich auch AJAX.
Aktuelles
Das folgende Kapitel geht dann mit 10 Seiten relativ kurz auf die im Web
omnipräsente JavaScript Bibliothek jQuery ein. Danach werden die mit der
Einführung von HTML5 relevant gewordenen Themen wie z. B. Audio und Video API,
Zeichnen mittels Canvas, Offline Applikation, WebSockets usw. besprochen.
Weiterführendes
Außerdem findet man im Buch ein Kapitel zum Debugging von JavaScript sowie Tipps
und Tricks rund um die Themen Sicherheit, „Best Practices“ für AJAX sowie
Performance. Der Abschluss des Buches bietet dann einen Ausblick auf
aktuelle und zukünftige JavaScript-Versionen, die die aktuellen Browser nur
teilweise umsetzen.
Überholtes
An der einen oder anderen Stelle merkt man dem Buch sein Alter aber dann doch an.
So gibt es noch ein Beispiel, das einen Währungsrechner zur Konvertierung
von D-Mark in Euro in JavaScript implementiert.
Fokussiert
Der klare und eindeutige Fokus des Buchs liegt auf JavaScript an sich. Während
andere Bücher hier gerne schon mal größere Exkurse in die Welten von HTML und
CSS durchführen, wird dies hier so gering wie nötig gehalten.
Dadurch wird der Leser nicht vom Kernthema „abgelenkt”.
Schreibstil & Beispiele
Der Schreibstil des Autors ist aber alles andere als angestaubt. Vielmehr lässt
sich das Buch sehr flüssig lesen; es ist auch gut und kompakt beschrieben.
Auch mit Beispielen geizt der Autor nicht. Alles Erklärte wird anhand von
praktischen Beispielen gezeigt. Die zugehörigen Listings sind alle komplett im
Buch abgedruckt, so dass das Werk auch problemlos „offline“ gelesen werden kann.
Fazit
Insgesamt ist das vorliegende Buch „JavaScript – Grundlagen, Programmierung,
Praxis“ ein gelungenes Werk, das besonders Einsteigern einen fundierten, verständlichen und praxisnahen Einstieg
bietet. Für fortgeschrittene JavaScript-Programmierung bietet das Buch
tendenziell zu wenig Tiefgang und kann aufgrund von Aufbau und Struktur auch
nicht als Referenzwerk dienen. Einsteiger können aber ziemlich
bedenkenlos auch bei der 11. Auflage zugreifen.
Redaktioneller Hinweis:  Da es schade wäre, wenn das Buch bei Jochen Schnelle im Regal
verstaubt, soll es verlost werden. Dazu ist folgende Frage zu beantworten:
„JavaScript hieß nicht von Anfang an so, die
Programmiersprache hatte ursprünglich einen anderen Namen. Wie lautet dieser?“
Die Antwort kann bis zum 11. Mai 2014, 23:59 Uhr, über die 
Kommentarfunktion oder per E-Mail an  geschickt 
werden. Die Kommentare werden bis zum Ende der Verlosung nicht 
freigeschaltet. Das Buch wird unter allen Einsendern, die die Frage richtig 
beantworten konnten, verlost.
 geschickt 
werden. Die Kommentare werden bis zum Ende der Verlosung nicht 
freigeschaltet. Das Buch wird unter allen Einsendern, die die Frage richtig 
beantworten konnten, verlost.
        
| Buchinformationen | 
| Titel | JavaScript – Grundlagen, Programmierung, Praxis [1] | 
| Autor | Christian Wenz | 
| Verlag | Galileo Computing, 2014 | 
| Umfang | 542 Seiten | 
| ISBN | 978-3-8362-1979-2 | 
| Preis | 39,90 € (Print), 34,90 € (PDF) | 
    Links
        
[1] http://www.galileocomputing.de/katalog/buecher/titel/gp/titelID-3209
    
        
| Autoreninformation | 
| Jochen Schnelle (Webseite)
interessiert sich generell für Programmiersprachen und verwendet JavaScript für
eigene, web-basierte Programme. | 
        Diesen Artikel kommentieren
    Zum Index
von Michael Niedermair
    Das Buch ist eine umfangreiche Einführung für Java-Entwickler, die mit der
Entwicklungsumgebung Eclipse arbeiten. Das Buch ist in Englisch geschrieben und
behandelt die Eclipse-Versionen 4.2 und 4.3.
Redaktioneller Hinweis: Wir danken dem vogella-Verlag für die Bereitstellung eines Rezensionsexemplares.
Der Autor Lars Vogel ist Berater und Trainer u. a. für die Bereiche Java, Eclipse
und Android. Er hat bereits mehrere Bücher zu diesen Themen veröffentlicht und
ist regelmäßig als Sprecher auf diversen Konferenzen anzutreffen. Er wurde zum
„Java-Champion“ ernannt und ist seit 2012 Committer im Eclipse-4-Projekt und
erhielt 2012 den „Eclipse-Top Newcomer Evangelist-Award“.
Was steht drin?
Das Buch ist in insgesamt 16 Kapitel mit Vorspann, Vorwort, Anhang und
Stichwortverzeichnis unterteilt. 
Das erste Kapitel (24 Seiten) gibt einen Überblick über Eclipse, welche Lizenz
hier zum Tragen kommt, wie man Eclipse installiert und startet. Anschließend
werden die verschiedenen Bereiche, wie beispielsweise Workspace, Projekt,
Perspektiven und die verschiedenen Views  besprochen. Abgeschlossen wird das
Kapitel mit den Speichereinstellungen und den Startparametern für Eclipse.
Kapitel 2 (19 Seiten) zeigt, wie man die erste Java-Applikation (mit Paketen,
Klassen, …) in einem Java-Projekt erstellt und wie man dieses über einen
jar-Export außerhalb von Eclipse verwenden kann. Anschließend geht es um den
Import bereits erstellter Projekte.
Das dritte Kapitel (15 Seiten) erläutert als Erstes, wie man sich im
Package-Explorer bewegt, diesen konfiguriert und beispielsweise Filter setzt.
Danach geht es an den Sourcecode, wie man eine Klasse öffnet, die Outline nutzt
und verschiedene Dinge (Zeichenketten, Methoden, …), abhängig vom Kontext suchen
kann.
Im nächsten Kapitel (15 Seiten) wird gezeigt, wie man Code über diverse
Assistenten generieren kann. Abgeschlossen wird das Kapitel mit einer Übung zu
Refactoring.
Das fünfte Kapitel (20 Seiten) behandelt die Feineinstellung von Eclipse,
beispielsweise das Hervorheben von Klammern, die zusätzlichen Aktionen beim
Speichern des Codes, den Import und Export von Einstellungen, … 
Kapitel 6 (5 Seiten) zeigt den Bereich der Code-Templates, gefolgt von der
History und dem Task-Management im Kapitel sieben (9 Seiten).
Das achte Kapitel (13 Seiten) widmet sich den Projektabhängigkeiten und den
Bibliotheken mit einem kurzen Ausflug zu SWT.
Im neunten Kapitel (18 Seiten) wird an vielen kleinen Beispielen und Übungen das
Arbeiten mit Eclipse gezeigt. Die Themen dabei sind u. a. Collections, IO,
Netzwerk, Annotations und Patterns.
Der Update-Manager und seine Funktionalität steht im Mittelpunkt des zehnten
Kapitels (9 Seiten).
Im nächsten Kapitel (20 Seiten) geht es um das Debuggen. Vom Starten des
Debuggers, Setzen von Breakpoints, Kontrolle der Programmausführung, über das
Anzeigen und Ändern von Variablen etc. wird hier die Funktionalität gezeigt.
Abgeschlossen wird das Kapitel mit einer kleinen Übung.
Testen mit JUnit ist der Schwerpunkt des zwölften Kapitels (29 Seiten), das die
Möglichkeiten beschreibt und mit einer Übung gleich vertieft. Am Ende folgen die
Mock-Objekte mit einem kleinen Tutorial.
Kapitel 13 (9 Seiten) zeigt die Möglichkeiten des Taskmanagements mit Mylyn
auf, gefolgt von Kapitel 14 (64 Seiten), das sich sehr ausführlich mit dem
Codeverwaltungssystem GIT beschäftigt. Dabei wird nicht nur die Bedienung von
GIT erläutert und gezeigt, sondern auch die Funktionsweise und die Mechanismen
von GIT erläutert.
In Kapitel 15 (25 Seiten) geht es darum, selbst ein kleines Plug-in für Eclipse
zu entwickeln etc. und was notwendig ist, dass andere das Plug-in über eine
entsprechende Update-Seite nutzen können.
Kapitel 16 (5 Seiten) fasst kurz die Themen Online-Dokumentation, Bug Reporting
etc. zusammen.
Im Anhang findet sich eine Übersicht von Tastenkürzeln gefolgt von einem
dreiseitigen Stichwortverzeichnis. 
Wie liest es sich?
Das Buch ist in Englisch geschrieben und lässt sich mit normalem Wortschatz sehr
gut lesen. Es ist für den Eclipse-Anfänger geschrieben, der aber auf jeden Fall
Java-Kenntnisse haben sollte. Der Text ist mit anschaulichen Bildern,
Codestücken und Bildschirmausschnitten gemischt, sodass der Inhalt sehr klar
und deutlich dargestellt wird. Die Beispiele lassen sich sehr gut
nachvollziehen. 
Auch der schon erfahrene Leser findet das eine oder andere Interessante in den
Kapiteln, was auch bei schon längerem Arbeiten mit Eclipse meist verborgen
bleibt. Kennt man sich mit dem Inhalt eines Kapitels schon aus, kann man dieses
ohne Probleme überspringen und mit dem nächsten Kapitel weiter machen.
Kritik
Das Buch ist in erster Linie für den Eclipse-Anfänger geschrieben und dafür auch sehr gut geeignet.
Einzig gewöhnungsbedürftig sind die teilweise sehr kurzen Kapitel. Eine
Zusammenfassung in mehrere größere Bereiche wäre hier schöner, beispielsweise
die Kombination von Einstellungen, Projektabhängigkeiten, Bibliotheken  und dem
Update. Im Gegensatz zu manch anderem Eclipse-Buch werden hier die älteren
Versionsdienste wie CSV oder Subversion sinnigerweise nicht mehr behandelt,
dafür aber das aktuelle System GIT.
Das Stichwortverzeichnis von drei Seiten bei einem Buchumfang von 350 Seiten ist
hier deutlich zu kurz. Hier hätte ich mir mehr gewünscht. Das Buch hat ein
Softcover und behält auch bei längerem Arbeiten mit dem Buch die Seiten, ohne
dass diese herausfallen.
Das Preis-Leistungsverhältnis (Buch, Umfang und Preis) macht noch einen guten Eindruck.
Insgesamt betrachtet muss man das Buch trotz der kleinen Schönheitsfehler als noch
sehr gut für
den Einstieg in Eclipse bewerten. Arbeitet man sich aber tiefer in
die einzelnen Gebiete ein, vor allem die eigene Plug-in-Entwicklung und SWT, dann ist
sehr schnell vertiefende Zusatzliteratur notwendig.
        
| Buchinformationen | 
| Titel | Eclipse IDE [1] | 
| Autor | Lars Vogel | 
| Verlag | vogella, 2013 | 
| Umfang | 349 Seiten | 
| ISBN | ISBN 978-3943747041 | 
| Preis | 37,44 € (Print) | 
    Links
        
[1] http://www.vogella.com/books/eclipseide.html
    
        
| Autoreninformation | 
| Michael Niedermair
ist Lehrer an der Münchener IT-Schule und
unterrichtet seit vielen Jahren Java und Eclipse. | 
        Diesen Artikel kommentieren
    Zum Index
    
    
Ein Leser fragte uns kürzlich, wie das Magazin denn als HTML und EPUB 
erstellt wird. Den prinzipiellen Ablauf hatten wir in freiesMagazin 
11/2012 [1] bereits 
beschrieben, aber es gab kein konkretes Beispiel. Dies wollen wir in diesem 
Artikel nachreichen.
Hinweis: Der Ablauf wurde unter Xubuntu 12.04 LTS getestet, sollte auf 
anderen Distributionen bzw. neueren Ubuntu-Versionen aber genauso 
funktionieren, solange sich die Funktionalität der verwendeten Programme 
nicht geändert hat.
Vorbereitung
Es sind ein paar Vorbereitungen notwendig, ehe man das gleiche EPUB erhält, 
wie es bei freiesMagazin jeden Monat veröffentlicht wird.
Notwendige Programme
Wichtig sind vor allem ein C- und C++-Compiler wie der 
GCC [2] (zum Test wurde Version 4.6.3 benutzt) sowie 
TCL [3] (in Version 8.5) und 
Ruby [4] (in Version 1.9.1).
Wer das Magazin neben HTML und EPUB auch als originales PDF erzeugen will, 
benötigt noch eine LaTeX-Distribution wie TeX 
Live [5]. Wichtig ist hierbei, dass für den 
Test die ziemliche alte Version von 2009 benutzt wurde. Es ist bekannt, dass 
sich in der Version 2011 das Paket colortbl geändert hat, sodass die 
farbigen Tabellen nicht korrekt dargestellt 
werden [6]. Daneben 
haben sich in Version 2013 auch die Trennmuster geändert, sodass der 
Beispielartikel vielleicht nicht überall „ordentlich“ aussieht.
Beispiel herunterladen
Als Beispiel wurde ein Teil aus freiesMagazin 
04/2014 [7] genommen. Um die 
Downloadgröße gering zu halten, sind aber nur zwei Artikel enthalten und 
auch die Leserbriefe fehlen. Für die Darstellung der HTML- und 
EPUB-Erstellung reicht dies aber.
Hinweis: Da die Ausgabeformate alle automatisiert über Konsolenskripte 
erstellt werden, wird ein Großteil der Anleitung im Terminal stattfinden.
Zuerst lädt man sich das Beispiel herunter und entpackt es. Am besten macht 
man dies im /tmp-Verzeichnis:
$ cd /tmp
$ wget http://www.freiesmagazin.de/ftp/freiesMagazin-beispiel.tar.gz
$ tar -xzf freiesMagazin-beispiel.tar.gz
Als nächstes muss man eine Umgebungsvariable setzen, die bei den 
freiesMagazin-Teammitgliedern gesetzt ist:
$ FM_SVNPATH=/tmp/freiesMagazin
$ export FM_SVNPATH
Sigil kompilieren
Der größte Aufwand ist die Kompilierung von 
Sigil [8]. Sigil ist ein 
EPUB-Erzeugungsprogramm. In der Version 0.5 gab es noch eine 
undokumentierte Konsolenanbindung, die leider in späteren Versionen 
entfallen ist. Diese Anbindung benötigt man aber zwingend, wenn man das 
Magazin automatisiert auf der Konsole erstellen will.
Das ist der Grund, wieso man nicht eine neuere Sigil-Version aus den 
Paketquellen nutzen sollte. Zusätzlich wurde der Quellcode noch etwas 
angepasst, sodass das erstellte EPUB besser aussieht.
Zuerst lädt man sich den Quellcode von Sigil 0.5.0 herunter und entpackt 
diesen:
$ cd /tmp
$ wget http://sigil.googlecode.com/files/Sigil-0.5.0-Code.zip
$ unzip -d Sigil Sigil-0.5.0-Code.zip
Danach muss man den freiesMagazin-Patch einspielen, der die
Konsolenausgabe korrigiert:
$ patch Sigil/src/Sigil/main.cpp $FM_SVNPATH_RED/skripte/Sigil0.5.0.patch
patching file Sigil/src/Sigil/main.cpp
Um Sigil zu kompilieren, sollte man sich auch die Datei INSTALL.txt im
Sigil-Ordner durchlesen. Man benötigt zahlreiche Pakete, die dort beschrieben
sind.
Wenn diese installiert sind, kann man den Make-Ordner anlegen und
Sigil kompilieren:
$ cd /tmp
$ mkdir SigilMake
$ cd SigilMake
$ cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release /tmp/Sigil
$ make
Die Generierung setzt dabei auf CMake [9], was ebenfalls
zuvor installiert werden muss.
Die Kompilierung dauert eine ganze Weile. Wenn sie fehlerfrei abgeschlossen 
ist, muss man das kompilierte Programm noch an eine Stelle im Pfad legen, an der 
es gefunden wird. Das ist beispielsweise /usr/local/bin/ oder ohne 
Root-Rechte unter ~/bin/:
$ mkdir -p ~/bin/
$ cp bin/sigil ~/bin/
Das war auch schon die Vorbereitung, die man nur einmalig machen muss.
PDF-Ausgabe erstellen (optional)
Das Erstellen der PDF-Ausgabe ist optional und nicht notwendig, wenn man nur 
an HTML oder EPUB interessiert ist. Für die Übersetzung benötigt man nur 
eine TeX-Distribution:
$ cd $FM_SVNPATH/2014-04
$ pdflatex 04-2014.tex
Den pdflatex-Lauf sollte man aufgrund der Verweise im Dokument noch 
einmal wiederholen. Danach kann man die Datei 04-2014.pdf im 
PDF-Betrachter seiner Wahl anschauen.
HTML-Ausgabe erstellen
Die HTML-Version dient zum einen der Anzeige im Browser, zum anderen aber auch
zwingend als Vorlage für das EPUB, sodass dieser Schritt nicht optional ist.
Die Konvertierung geht per Skript, wobei für die Konvertierung von LaTeX nach
HTML das Programm TTH [10] benutzt wird:
$ cd $FM_SVNPATH/verwaltung/skripte
$ ./convert_html.sh 04 2014
Als Ergebnis findet man im Ordner 2014-04 zwei HTML-Dateien: 
freiesMagazin-2014-04.html für die HTML-Version ohne Bilder und 
freiesMagazin-2014-04-bilder.html für die Version mit Bildern.
EPUB-Ausgabe erstellen
Für die Erstellung des EPUB ist es zwingend Voraussetzung, dass zum einen 
die HTML-Ausgabe erstellt wurde und auch das gepatchte Sigil im Pfad zu 
finden ist:
$ cd $FM_SVNPATH/skripte
$ ./convert_epub.sh 04 2014
Als Ergebnis erhält man eine EPUB-Version ohne Bilder, 
freiesMagazin-2014-04.epub, und eine mit Bildern, 
freiesMagazin-2014-04-bilder.epub.
Fazit
Dies war es auch schon. Sieht man von der Kompilierung der gepatchten 
Sigil-Version ab, ist die Erstellung von HTML und EPUB aus dem LaTeX-Code 
ziemlich einfach. In der Redaktion ist natürlich alles so voreingestellt, 
dass die vorbereiteten Schritte nicht mehr getan werden müssen.
    Links
        
[1] http://www.freiesmagazin.de/freiesMagazin-2012-11
[2] http://gcc.gnu.org/
[3] http://www.tcl.tk/
[4] https://www.ruby-lang.org/de/
[5] https://www.tug.org/texlive/
[6] http://www.deesaster.org/blog/index.php?/archives/1998
[7] http://www.freiesmagazin.de/freiesMagazin-2014-04
[8] http://code.google.com/p/sigil/
[9] http://www.cmake.org/
[10] http://hutchinson.belmont.ma.us/tth/
    
        Diesen Artikel kommentieren
    Zum Index
            Für Leserbriefe steht unsere E-Mailadresse
             zur Verfügung - wir freuen uns über Lob,
            Kritik und Anregungen zum Magazin.
        An dieser Stelle möchten wir alle Leser ausdrücklich ermuntern,
        uns auch zu schreiben, was nicht so gut gefällt. Wir bekommen
        sehr viel Lob (was uns natürlich freut), aber vor allem durch
        Kritik und neue Ideen können wir uns verbessern.
 zur Verfügung - wir freuen uns über Lob,
            Kritik und Anregungen zum Magazin.
        An dieser Stelle möchten wir alle Leser ausdrücklich ermuntern,
        uns auch zu schreiben, was nicht so gut gefällt. Wir bekommen
        sehr viel Lob (was uns natürlich freut), aber vor allem durch
        Kritik und neue Ideen können wir uns verbessern.
    
Leserbriefe und Anmerkungen
Alternative zu Irfanview
            ->
Ich beziehe mich auf zwei Leserbriefe (ersteren in der
Februarausgabe [1],
zweiteren in der
Aprilausgabe [2]), 
in denen nach einer würdigen Alternative zum allseits bekannten
Alleskönner „IrfanView“ gesucht wird. Auch ich suchte – seitdem ich mit Ubuntu
08.04 zu Linux wechselte – nach einer Alternative mit ähnlichem Funktionsumfang
(was sich als schwieriger herausstellte, als ich mir anfangs vorgestellt hatte):
Über viele Umwege (Mirage, XnViewMP, Shotwell, F-Spot, …) endete mein Weg
stets wieder beim mittels Wine installierten IrfanView (die portable zip-Version
auf der offiziellen Homepage lässt sich sehr unproblematisch mittels Wine
ausführen).
Vor Kurzem aber habe ich in „ShowFoto“ [3] endlich eine ebenbürtige Alternative
gefunden, mit der sich alle von mir vormals in IrfanView genutzten Funktionen
für schnelle Bildverbesserung zuverlässig erledigen lassen.
Showfoto (welches Teil des KDE-Programm „DigiKam“ [4] ist, jedoch auch
eingenständig installiert werden kann), beherrscht neben den üblichen
Standardfunktionen (Zuschneiden, Farbanpassungen, Automatische
Korrekturen, Größenänderungen, usw.) auch die Bearbeitung des
Weißabgleiches, Tonwertkurven und verschiedenste Effektfilter.
Besonders praktisch finde ich die Vorschaufunktion, bei der man durch
Positionieren des Mauszeigers auf dem Bild den Vorher-Nachher
Unterschied sofort sehen kann. Auch für die Entwicklung von RAW-Fotos
möchte ich ShowFoto nicht mehr missen.
        
Erwin Feichter 
elementary OS
            ->
Ich habe es [(elementary OS)] auch für mich entdeckt, arbeite erst seit 
kurzen damit und bin begeistert, denn ich habe schon sehr viele 
Linux-Versionen getestet, aber entweder waren sie zu aufgebläht oder 
entsprachen nicht den Vorstellungen eines modernen Linux-Systems. Bei mir 
laufen sie auf einem älteren HP-Desktop und auf einem ebenfalls recht 
betagten IBM-Thinkpad und trotzdem laufen die Systeme sehr flüssig.
        
Detlef Schneider  (Kommentar)
Netzlaufwerke ausspähsicher nutzen
            ->
Sehr schöner Artikel über encfs. Leider ergeben sich durch dessen Nutzung auch
ein paar Nachteile. Zum Beispiel, dass man encfs nicht ohne Weiteres unter
proprietären Betriebssystemen nutzen kann. Falls man also mal nur einen PC mit
Microsoft-Betriebssystem zur Verfügung hat oder auf dem Smartphone/Tablet
arbeiten möchte bekommt man Probleme.
        
txt.file  (Kommentar)
Ein Blick auf Octave 3.8
            ->
Vielen Dank für den Octave-Artikel. Ich persönlich verwende lieber
Freemat [5]. Das ist nicht so groß. Oder man kann
auch Scilab [6] nehmen, ist aber nicht so gut im Lesen von Matlab-Code.
        
Matthias Kühmsted 
            ->
Nach dem Artikel über Octave ist mir aufgefallen, dass bislang kein Artikel 
die schöne Welt von SciPy [7] beschrieben hat. 
Zwar gab es Artikel über Python als Programmiersprache, jedoch bietet es 
sich an, auch über die entsprechenden Tools zu sprechen, mit welchen viele 
Studenten kostenlos arbeiten könnten. 
        
Daniel Wehner 
PyLadies Vienna – Interview mit Floor Drees
            ->
Mir ist sofort der Artikel über die pyLadies ins Auge gestochen und ich frage
mich, was dieses Interview für einen Sinn hat. Wieso wird da eine Grafikerin zu
einer Programmiersprache befragt, wieso kein Experte? Wenn ich mich über meine
Autoreparatur beraten lassen will, gehe ich doch auch nicht zum Bäcker.
Und dieser inflationär benutzte Begriff „Manager“ ist auch ganz schrecklich.
Community-Manager ist nichts anderes als ein Forum-Admin o. ä. Genauso eine
triviale Tätigkeit wie Unkraut jäten. Wieso muss das im Interview mehrfach
großspurig erwähnt werden?
Wieso Frauen in der Informatik gebraucht werden kann die Gute – außer mit einer
Phrase von wg. Vielfalt – auch nicht beantworten. Wieso spricht ein Grafikmensch
von Dingen aus der Informatik von denen er keine Ahnung hat? Ich frag ja auch
nicht meinen Bäcker …
Hätte den Platz, den das Interview verbraucht hat, lieber mit besseren Inhalten
vorgefunden.
        
Ein Leser  (Kommentar)
        <-    
Der Platz wäre leer geblieben bzw. das Magazin hätte weniger Seiten gehabt,
wenn der Artikel nicht enthalten gewesen wäre.
„Bessere“ Inhalte können aber gerne über  beigesteuert werden.
 beigesteuert werden.
        
Dominik Wagenführ 
            ->
Ich fand das Interview mit Floor Drees super. Ich finde es toll, wenn Menschen
von ihrem zum allergrößten Teil freiwilligem Engagement für die FLOSS-Community
erzählen. Dieses Engagement ist nicht selbstverständlich und erst recht nicht
trivial. Wenn sich Menschen für andere engagieren und sich für die Idee von
FLOSS einsetzen, kann ich nur meinen Hut davor ziehen. In dieser Hinsicht fand
ich es interessant zu lesen, wie sie Ruby on Rails gelernt hat und mit den
PyLadies sich Python aneignet.
Floors Antwort, warum jeder Mensch (speziell Mädchen) das Programmieren lernen
sollte, ist übrigens: „Ich denke, die Fähigkeit zu programmieren ist der „Skill“
der Zukunft. So, wie die Baby-Boomer lernen mussten, mit all den Computern um
sie herum umzugehen. Wer das nicht macht, würde sich selbst vom Arbeitsmarkt
ausschließen.“ Ich finde, dass es noch stärkere Argumente dafür gibt, warum
jeder Mensch lernen sollte, zu programmieren, außer den Erhalt der eigenen Ware
Arbeitskraft auf dem Arbeitsmarkt, trotzdem trifft sie damit einen wichtigen
Punkt.
[…]
Ich hoffe, dass es noch mehr Interviews wie das mit Floor in freiesMagazin geben
wird. 
        
Christian Imhorst  (Kommentar)
Einstieg in LIRC
            ->
Habe schon länger Flirc [8] und bin damit sehr zufrieden.
        
Sasch  (Kommentar)
            ->
Ich möchte auf diesem Wege noch eine abstrakte Darstellung zu inputlirc/LIRC
nachreichen, die im Artikel entfallen ist. [Diese enthalten die] Rohdaten
in LibreOffice Draw, PNG und SVG [9].
        
Inne aka. Steffen Rumberger  (Kommentar)
Artikelwünsche
            ->
Ich wollte mal anfragen, ob sich jemand findet, der eine Anleitung zum
Audio-Streaming über Bluetooth schreibt. Als Ziel nehme ich einen JVC
RV-NB90B. Bluetooth geht schon mal, aber das AVRCP- und A2DP-Profil
bekomme ich nicht zum Laufen.
        
Matthias Kühmsted 
            ->
Ich möchte das Programm Adlib Tracker II [10] in der SDL-Version für einen
Test vorschlagen. Die SDL-Version hat eine sehr gute FM-Emulation, die selbst
unter Windows 98 noch sehr gut funktioniert. Leider ist es nur ein Programm für die
Tastatur. Ob man es auf neuen Linux-Versionen übersetzen kann, habe ich noch
nicht probiert. Meine Version hat den seltsamen Fehler, dass immer eine
Diskette im Laufwerk sein muss. Das kann man aber wegdrücken. Mal sehen, ob man es
unter Beos Version 5 noch übersetzen kann.
        
Matthias Kühmsted 
        <-    
Wir nehmen den Adlib Tracker II mit auf unsere Wunschliste [11]. Der
Quellcode liegt ja offen, scheint aber nicht einfach kompilierbar zu
sein aufgrund einiger Fehler. Zusätzlich scheint es mit 64 Bit Probleme
zu geben [12].
        
Dominik Wagenführ 
Magazin erstellen
            ->
Ich finde Ihre Latex-Vorlage sehr schön und interessiere mich vor allem für den
„LaTeX Pfeil rechts HTML Pfeil rechts EPUB“-Workflow.
Mich würde interessieren, ob Sie mir eventuell den LaTeX-Quelltext der aktuellen
Ausgabe zukommen lassen könnten (um vor allem einen Überblick zu bekommen, wie
das Dokument vorbereitet werden muss, um eine Ausgabe in PDF und HTML generieren
zu können).
Des Weiteren würden mich die drei Skripte (Vor- und Nachbereitungsskripte) aus
dem Workflow, der im Artikel „E-Book Erstellung“ beschrieben wird,
interessieren. Gibt es eine Möglichkeit diese der Öffentlichkeit zugänglich zu
machen?
        
Wolfgang Dichler 
        <-    
Vielen Dank für die Anfrage. Da es unsinnig wäre, wenn nur Sie von dem
Ergebnis profitieren, habe ich eine kurze Anleitung mit Beispielen
beschrieben, wie wir das Magazin konkret von LaTeX nach HTML und EPUB
wandeln. Sie finden die Anleitung auf unserer 
Webseite [13]
oder auch in dieser Ausgabe.
        
Dominik Wagenführ 
PocketBook Touch 622
            ->
Vielen Dank für die Rezension, die Aussagen decken sich sehr weitgehend mit
meinen Erfahrungen. Zur Ergänzung: Zur Nutzung DRM-geschützter Bücher benötigt
man zwar (bedauerlicherweise) eine Adobe-ID, aber nicht zwangsläufig das
Programm „Digital Editions“. Man kann gekaufte Bücher z. B. per W-LAN laden. Nur
beim ersten Mal muss man die Adobe-ID eingeben, die das Gerät dann speichert.
        
Hubert Schäferhoff 
    Links
        
[1] http://freemat.sourceforge.net/
[2] http://www.scilab.org/
[3] http://www.scipy.org/
[4] http://www.freiesmagazin.de/20140202-februarausgabe-erschienen#comment-3067
[5] http://www.freiesmagazin.de/mobil/freiesMagazin-2014-04-bilder.html#fm_14_04_leserbriefe
[6] http://www.digikam.org/drupal/node/326
[7] http://www.digikam.org/
[8] http://flirc.tv/
[9] http://inne.sdf-eu.org/docs/inputlirc/
[10] http://adlibtracker.net/
[11] http://www.freiesmagazin.de/artikelwuensche
[12] http://adlibtracker.net/messageboard.php
[13] http://www.freiesmagazin.de/20140420-freiesmagazin-als-html-und-epub-erstellen
    
            Die Redaktion behält sich vor, Leserbriefe gegebenenfalls zu
        kürzen. Redaktionelle Ergänzungen finden sich in eckigen Klammern.
    
        Die Leserbriefe kommentieren
    Zum Index
                                                
        
    (Alle Angaben ohne Gewähr!)
    Sie kennen eine Linux-Messe, welche noch nicht auf der Liste zu
    finden ist? Dann schreiben Sie eine E-Mail mit den Informationen zu
    Datum und Ort an  .
 
Zum Index
.
 
Zum Index
                        
freiesMagazin erscheint am ersten Sonntag eines Monats. Die Juni-Ausgabe
wird voraussichtlich am 1. Juni u. a. mit folgenden Themen veröffentlicht:
-  Torify: Programme im Terminal anonymisieren
-  Tracks und Routen erstellen mit QLandkarte GT
Es kann leider vorkommen, dass wir aus internen Gründen angekündigte Artikel verschieben müssen. Wir bitten dafür um Verständnis.
Zum Index
                                                            
    An einigen Stellen benutzen wir Sonderzeichen mit einer bestimmten
    Bedeutung. Diese sind hier zusammengefasst:
        
| $: | Shell-Prompt | 
| #: | Prompt einer Root-Shell – Ubuntu-Nutzer können
                      hier auch einfach in einer normalen Shell ein
                      sudo vor die Befehle setzen. | 
| ~: | Abkürzung für das eigene Benutzerverzeichnis
                      /home/BENUTZERNAME | 
            Zum Index
                                    
    freiesMagazin erscheint als PDF, EPUB und HTML einmal monatlich.
    Erscheinungsdatum: 4. Mai 2014
    
    Dieses Magazin wurde mit LaTeX erstellt. Mit vollem Namen
    gekennzeichnete Beiträge geben nicht notwendigerweise die Meinung
    der Redaktion wieder. Wenn Sie freiesMagazin ausdrucken möchten, dann
    denken Sie bitte an die Umwelt und drucken Sie nur im Notfall. Die
    Bäume werden es Ihnen danken. ;-) 
        Soweit nicht anders angegeben, stehen alle Artikel, Beiträge und Bilder in
    freiesMagazin unter der Creative-Commons-Lizenz CC-BY-SA 4.0 International. Das Copyright liegt
    beim jeweiligen Autor. freiesMagazin unterliegt als Gesamtwerk ebenso
    der Creative-Commons-Lizenz CC-BY-SA 3.0 Unported mit Ausnahme der
    Inhalte, die unter einer anderen Lizenz hierin veröffentlicht
    werden. Das Copyright liegt bei Dominik Wagenführ. Es wird erlaubt,
    das Werk/die Werke unter den Bestimmungen der Creative-Commons-Lizenz
    zu kopieren, zu verteilen und/oder zu modifizieren.
    Die xkcd-Comics stehen separat unter der Creative-Commons-Lizenz CC-BY-NC 2.5 Generic. Das Copyright liegt
    bei Randall Munroe.
    Zum Index
File translated from
TEX
by 
TTH,
version 3.89.
On 18 May 2014, 10:42.