ubuntuusers.de

9. Januar 2012

TuxMichael Larabel von Phoronix macht wenig Hoffnung, dass Unterstützung für Microsofts exFAT-Dateisystem im Linux-Kernel 3.3 landet. Extended File Allocation Table (exFAT) wurde von Microsoft speziell für Flash-Speicher-Geräte geschaffen, auf denen FAT32 oder NTFS nicht ideal ist. Die Linux-Unterstützung hat sich seit 2009 auch nicht wirklich verbessert.

Es gab Arbeiten an einem Kernel-Modul, dass nur Lese-Zugriff bieten sollte. Daran wird aber nicht aktiv gearbeitet. Es gibt allerdings ein FUSE-Modul für exFAT. Du findest es auf Google Code. Natürlich bringt es die selben Vor- und Nachteile wie andere FUSE-Dateisysteme mit sich.

Tuxera, die behaupten ihre NTFS-Lösung ist das Schnellste unter Linux, bietet ebenfalls eine Lösung an exFAT Embedded. Tuxera ist den legalen Weg gegangen und hat die entsprechenden Lizenzen besorgt. Die Firma bietet exFAT auch für Android-Geräte an.

Die Frage ist natürlich, ob es das wirklich braucht und man proprietäre Dateisysteme auf Linux nutzen muss oder möchte. Bei einer maximalen Größe von exFAT bis 64 Zebibyte (empfohlen 512 TByte) geht das derzeit eher in Richtung Server oder Cluster. Wenn ich aber einen Linux-Cluster habe, werde ich kein Microsoft-Dateisystem einsetzen. Man weiß nie, was die zukunft bringen wird. Aber sich darüber große Gedanken machen scheint derzeit etwas übertrieben.

Vielleicht kann mich ja jemand erleuchten, der mehr Einblick hat als ich, wofür man exFAT in Linux braucht.


Jürgen (jdo) für bitblokes.de, 2012. | Permalink | Twitter

Porteus Logo 150x150Die Porteus Community hat eine neue Version des auf Slackware basierten Betriebssystem zur Verfügung gestellt. Porteus 1.1 gibt es für die Architekturen x86 und x86_64. Laut eigener Aussage wurden Fehler bereinigt und es gibt diverse neue Funktionen. Dazu gehören ein neuer grafischer Installer und ein komplett überarbeiteter Porteus Paket-Manager. Dadurch haben Anwender Zugriff auf hunderte weiterer Software-Pakete. Die Abhängigkeiten werden automatisch aufgelöst.

Als Herzstück dient Linux-Kernel 3.1.8 mit BFS Scheduler und ASPM-Patch. Die Broadcom-Treiber wurden entfernt, da der Kernel die meisten Geräte unterstützt. Ndiswrapper wurde ein Update auf die neueste Version spendiert. Der Standard-Runlevel ist nun 4 und die Boot-Scripte wurden optimiert.

Des Weiteren kamen neue Cheatcodes hinzu. Mit vga-detect wird die GPU entdeckt und gegebenenfalls ein proprietärer Treiber geladen. Anwender können mittels kmap eine Tastatur-Belegung bestimmen. Via mopt kannst Du die Standard-Mount-Optionen beeinflussen. Alle Netzwerkverbindungen deaktivierst Du mittels nonetwork. Weitere Informationen und eine Liste mit allen verfügbaren Cheatcodes gibt es in dieser Liste.

Die Entwickler haben KDE, LXDE und Firefox Updates spendiert. Der Speicherverbrauch in KDE 4 konnte von 340 auf 250 MByte reduziert werden. Innerhalb LXDE werden Geräte automatisch eingebunden. Das komplette Changelog findest Du hier.

ISO-Abbilder gibt es im Download-Bereich der Projektseite: Porteus-v1.1-i486.iso (255 MByte), Porteus-v1.1-x86_64.iso (264 MByte)

Porteus 1.1

Basiert auf Slackware ...

5 Fotos


Jürgen (jdo) für bitblokes.de, 2012. | Permalink | Twitter

Heute hat Canonical Ubuntu TV offiziell auf der CES vorgestellt. Auch hat man eine eigene Webseite unter dem Motto TV for human beings eingerichtet, auf der es unter anderem ein kleines Vorstellungsvideo zu sehen gibt:

Die Software sieht ja schon recht nett aus. Was noch fehlt, sind Verträge mit Hardware-Herstellern: So befindet sich Canonical zwar bereits mit einigen in Kontakt, Ergebnisse gibt es bisher jedoch nicht. Noch vor ersten Geräten dürfte man von daher mit dem Betriebssystem selbst rechnen können, das man sich dann auf dem eigenen Medien-PC installieren kann – immerhin wird auch Ubuntu TV natürlich als Open Source Software veröffentlicht.

Das System soll ein angepasstes Unity mit speziellen Linsen und Anwendungen beispielsweise für Youtube sein. Bei der Hardware gibt Canonical einige Mindestanforderungen vor: 2GB Speicher, 1GB RAM, HDMI sowie einen Digitalen Audioausgang. Zusätzlich darf es auch noch W-Lan n, USB-Unterstützung als Host, Bluetooth und ein Tuner für Kabel, Satellit und DVB-T sein. Geräte aus dem Niedrigpreissektor dürften mit den Anforderungen schwierig zu realisieren sein.

Ausserdem soll ein Ubuntu TV auch mit mobilen Geräten zusammenarbeiten. So werden “Ubuntu TV apps” für Android, iOS und natürlich Ubuntu versprochen.

Diese sollen Informationen zum laufenden Film anzeigen und Interaktion ermöglichen. Als Beispiel wird hier die Anzeige von Tweets bei Live-Sendungen oder von anderen Filmem des Regisseurs genannt. Auch soll man auf dem Smartphone einen Film anfangen und dann auf dem Fernseher nahtlos weiterschauen können.
Eine Integration von Ubuntu One wird natürlich auch mit an Bord sein.

Nun kann man nur noch darauf hoffen, dass Canonical mit Erfolg aus den Verhandlungen mit den Hardware-Herstellern herausgeht. Ohne diese dürfte es sehr schwierig sein, den Massenmarkt zu erreichen. Von offizeller Seite wird damit gerechnet, bis Ende diesen Jahres erste Geräte ausliefern zu können.

via OMG!Ubuntu!

Hinweis: Dieser Artikel erschien erstmals in freiesMagazin 01/2012.

Egal ob im Open-Source-Umfeld oder im Business Bereich. Überall dominiert in irgendeiner Form das Thema Cloud-Computing die Medien. Deren unschätzbare Vorteile, durch geschickte Marketingaktivitäten oft besonders hervorgehoben, sollte man natürlich auch einer kritischen Analyse für den jeweiligen Einsatzzweck unterziehen.
Im privaten Umfeld nutzt sicher der eine oder andere diverse Cloud – Lösungen, die direkt an den einfachen Privatanwender gerichtet sind (man denke an Google Mail, Dropbox, Evernote usw.)
Diese Lösungen fasst man alle unter der Rubrik Software as a Service (SaaS)  zusammen.

Dieser Beitrag richtet sich jedoch an einer eher technisch orientierten Sichtweise des Cloud-Computing, nämlich dem sogenannten Platform as a Service (PaaS), mit denen der normale Anwender standardmäßig eher wenig in Berührung kommt, die aber für Entwickler durchaus von Interesse sein können.
Ein interessantes Angebot liefert hierfür der Softwarehersteller Red Hat mit seinem Angebot OpenShift.

Kurzer Exkurs PaaS

Um den Nutzen von Openshift im folgenden besser nachvollziehen zu können, hier ein kurzer Exkurs, was unter PaaS  zu verstehen ist und wie man dessen Vorteile für seine eigenen Softwareprojekte nutzen kann.

Bereits jetzt sind fast alle wesentlichen Komponenten von Open-Source Technologien als Fundament der Cloud-Technologien zu sehen. Sie beruhen auf dem Linux-Kernel, Virtualisierungstechnologien wie Xen oder KVM, Datenbanklösungen wie PostgreSQL oder MySQL. (siehe hierzu auch  http://openstack.org/).
Wollte man bisher auf herkömmliche Weise, z.B. eine Webanwendung, bereitstellen, musste man sich i.d.R. im Vorfeld bereits gründlich Gedanken machen, auf welcher Basis man diese Software entwickeln und anschließend zur Verfügung stellen wollte. Es war also notwendig bereits vor dem Bereitstellen seiner Webanwendung eine eigene Plattform einzurichten, über die man diese den Benutzern zugänglich machen kann. Das heißt es wurden meist Webserver benötigt, Programmierumgebungen wie PHP, JEE uvm. mussten installiert und konfiguriert werden und wenn eine Anwendung sehr schnell populär wurde reichten die Ressourcen nicht aus, wodurch wieder Anpassungen in der Skalierung/Optimierung etc. notwendig waren.

In der Idee von PaaS soll diese Arbeit nun durch die Cloud wahrgenommen werden. Der Entwickler soll sich einzig um das Entwickeln seiner Anwendung kümmern, der gesamte Administrationsaufwand, die Arbeiten vorab zur Installation, Wartung, sowie Backuparbeiten werden durch den Anbieter übernommen, wodurch mehr Zeit für die eigentliche Entwicklung der Software bleibt.

PaaS in der Praxis am Beispiel von Openshift

Die Vorteile des Konzeptes sollen im Folgenden am Beispiel von Openshift vorgestellt werden. Der Grund ist, dass Red Hat für kleine Entwicklungsprojekte eine Variante komplett kostenlos anbietet mit dem Namen Openshift Express.
In der Praxis reserviert hier Red Hat bei Amazon Web Services EC2 eine Instanz auf der dann die Anwendung später läuft.
Hat man im späteren Verlauf zusätzliche Wünsche, kann man auch in ein kostenpflichtiges Modul namens Flex upgraden (bietet u.a. Clustererstellung, Benutzeroberfläche statt Kommandozeile usw., näheres hierzu.
Für den Anfang reicht aber die kostenlose Lösung zum Einstieg in das Thema vollkommen aus.

Zur Programmierung stehen folgende Sprachen zur Verfügung:

  • Java 6 EE
  • PHP
  • Perl
  • Python
  • Ruby

Verfügbare Datenbanken im Backendbereich sind entweder MySQL oder SQLite. Mit 500 MB Festplattenkapazität und 300 MB RAM sollten für kleine Applikationen zunächst genug Ressourcen zur Verfügung stehen.

Installation der Client-Tools

Um mit der Entwicklung zu beginnen, ist es vorab notwendig die Client-Tools (diese werden aktiv auf github gehostet) zu installieren, die in der Dokumentation nach der Registrierung beschrieben ist.
Für die Installation (die unter den gängigen Linux-Distributionen, Mac OS X, und Windows mit Cygwin möglich ist) werden, wenn noch nicht installiert die Pakete ruby in Version 1.8, rubygems und ruby-dev Pakete benötigt, die unter Ubuntu 11.10 alle unter diesem Namen problemlos über den Paketmanager installiert werden können.
Eine detaillierte Installationsanleitung für die einzelnen Systeme liefert die Webseite von Openshift.
Die Client-Tools belaufen sich beim Download auf maximal 2MB und basieren vollständig auf Ruby. Die Entwicklung erfolgt aktiv auf Github unter einer Red Hat – Lizenz.

Von nun an sind alle folgenden Befehle nur möglich, wenn die Client-Tools im vorigen Schritt erfolgreich installiert worden sind. Anschließend muss man sich überlegen welchen Namen die Anwendung bekommen soll und mit welcher Programmiersprache man sie umsetzen möchte. Hierfür legt man sich zunächst eine Domain an, welches man mit folgendem Befehl in der Konsole erreicht:

$ rhc-create-domain -n Domänenname -l Loginname
Reservierung eigener Domain für die Anwendung

Reservierung eigener Domain für die Anwendung

Nun kann man endlich seine erste eigene Anwendung erstellen, wobei man nun angeben muss in welcher Programmiersprache und in welcher Version der Programmiersprache man seine Anwendung entwickelt, da man natürlich nicht möchte, dass man seine Anwendung für PHP 5.3 entwickelt, der Server aber nur PHP 5.2 als Laufzeitumgebung bietet.

Folgender Konsolenbefehl ist nötig:

$ rhc-create-app -a fMBeispiel -t php-5.3

Anwendung erstellen, Programmiersprache definieren

Anwendung erstellen, Programmiersprache definieren

Nach Eingabe des vorab festgelegten Passwortes wird nun im Hintergrund ein Git-Repository, also eine verteilte Versionsverwaltung, eingerichtet, welcher eine vorgegebene Ordnerstruktur besitzt.
Dies kann unter Umständen ein paar Minuten dauern, bis alles im Hintergrund eingerichtet wurde, zum Abschluss erhält man im Erfolgsfall jedoch die Meldung, dass die Anwendung erfolgreich erstellt wurde und man bekommt eine Git-URL zu seinem weltweit erreichbaren Repository.
Im aktuellen Verzeichnis, in dem man den Befehl ausgeführt hat findet man nun auch seine Anwendung wieder.
Projektordner

Projektordner

Im Ordner php (je nach Programmiersprache auch ein anderer Ordner, z.B. phython etc.) werden die eigentlichen Quelldateien angelegt, im Ordner libs zusätzliche Bibliotheken, die man verwenden möchte. Was in einzelne Ordner gehört und welche zusätzlichen Verzeichnisse z.B. für persistente Daten (Umgebungsvariablen u.ä.) angelegt werden können, listet die beiliegende README-Datei sehr übersichtlich auf.

Anwendung per Git auf den Server laden

Nachdem man seine Quellcodes erstellt hat ist man nun in der Lage die Anwendung über Git in das Git-Repository zu heben.

Dazu wechselt man zunächst in den Ordner der Anwendung:

$ cd Anwendungsname

Über den Befehl
$ git commit -a -m “Meine erste Aenderung”

landen die Dateien im lokalen Git-Repository und mittels
$ git push

werden die Dateien auf das entfernte Repository in der Cloud übertragen.
Von jetzt an ist jeder in der Lage die Anwendung von überall aufrufen zu können. Wenn man die URL zur Anwendung oder zu Git nicht mehr weiß hilft der Befehl:

$ rhc-user-info

Informationen zur Anwendung

Informationen zur Anwendung

Ruft man nun die URL im Browser auf bekommt man seine Webseite mit den durchgeführten Änderungen zu sehen (Beispiel für diesen Artikel: http://fmbeispiel-freiesmagazinbsp.rhcloud.com/)
Erstellte Webseite in der Cloud - Beispiel

Erstellte Webseite in der Cloud - Beispiel

Erstellung einer zugehörigen Datenbank

Für fast jede größere Applikation die man entwickelt oder die man einfach in der Cloud laufen lassen möchte, wird früher oder später eine Datenbank benötigt. So verlangen beliebte Open – Source -Projekte, wie Joomla, WordPress, Dupal u.v.m. in der Regel eine MySQL – Datenbank, in der notwendige Informationen performant abgespeichert werden können.

In einer frühen Version von OpenShift war es lediglich möglich eine SQLite – Datenbank der Anwendung hinzuzufügen, was aber außer für Beispiele wie Mediawiki zu wenig praktikabel in der Anwendung war, weshalb Red Hat hier schnell eingelenkt hat und nauch MySQL in die kostenlose Lösung der Express – Version integriert hat.

Mittels des Befehls
rhc-ctl-app -a”fMBeispiel” -e add-mysql-5.1

wird hier eine MySQL – Datenbank in der Version 5.1 installiert und nach kurzer Wartezeit erhält man die Bestätigung, dass die Datenbank erfolgreich erstellt werden konnte. Zusätzlich erhält man die benötigten Login – Daten für den Administrator der Datenbank.

Viele bevorzugen zum Verwalten ihrer Datenbank, d.h. Anlegen von Tabellen, Spaltendefinitionen u.v.m. eine grafische Benutzeroberfläche, damit nicht alles über die Standard – Konsolenbefehle von MySQL durchgeführt werden muss. Auch hierfür gibt es wiederum einen kurzen Befehl, der phpMyAdmin innerhalb von Openshift installiert.

$ rhc-ctl-app -a “fMBeispiel” -e add-phpmyadmin-3.4

Danach steht unter der Adresse: http://URLdesProjektes/phpmyadmin die Loginseite zur Verfügung, wo man sich nun mit dem MySQL – Administrator anmelden kann.
phpmyadmin

phpmyadmin

Somit ist es nun möglich, z.B. ein WordPress – Blog wie auf einem gewöhnlichen Webspace zu installieren, in dem man einfach die Installationsdateien von WordPress in das Anwendungsverzeichnis legt und mittels den oben erwähnten Git – Befehlen in die Cloud lädt.

Alternativen

Wenn man bei seiner Anwendung an die Grenzen dieser kostenlosen Lösung von Openshift Express kommt, ist man natürlich nicht zwangsläufig an Red Hat gebunden, sondern kann sich inzwischen zwischen mehreren guten Anbietern entscheiden, je nachdem was man für seine Bedürfnisse benötigt.

Populäre und weit verbreitete Lösungen haben z.B. die bekannten Firmen mit Angeboten wie:

  • Google App Engine
  • Windows Azure
  • Morph Application Platform
  • Amazon Elastic Beanstalk

Dies sind nur einige der inzwischen zahlreichen Vertreter, bei dem man im Einzelnen die Angebote für seine spezifischen Vorgaben vergleichen sollte.

Fazit

PaaS kann eine große Hilfe für diejenigen Entwickler sein, die schnell eine funktionierende Plattform mit allen notwendigen Tools und Programmierungebungen benötigen und sich nicht leisten können selber die komplette Installation und Wartung von Hand vorzunehmen.

Mit Openshift ist ein kostenloser Einstieg in diese Form des Cloud-Computing sehr leicht möglich, man sollte aber beachten, dass man je nach Größe des Projektes schnell mit den Restriktionen der Ressourcen an Grenzen stoßen kann.
Zudem begibt man sich wie bei allen Cloud-Formen in eine gewisse Abhängigkeit des Anbieters, dass dieser die bereitgestellte Plattform auch korrekt verwaltet und diese tatsächlich so performant und sicher zur Verfügung steht, wie versprochen.
Man sollte daher stets abwägen, ob man die Risiken des Fremdhosting auf sich nehmen will. Entschließt man sich für einen PaaS – Anbieter stehen einem durchaus neue Wege der Softwareentwicklung zur Verfügung.

Lizenz des Artikels CC-BY-SA-3.0 Unported

    Heutzutage hat fast jeder Mensch eine Digitalkamera, die eine ungeheure Bilderflut auf der Festplatte verursachen. Es gibt in Linux/Ubuntu einfache Wege, mit denen man die Bilder auf der Festplatte organisieren kann, oder wie man daraus schöne Slideshows oder Effekte erzielt. Aber wenn man Menschen abseits des PCs die Urlaubsfotos zeigen möchte, kommt man oftmals um Abzüge nicht herum.

    Besonders hübsch und praktisch sind die so genannten Fotobücher, in die die Bilder gleich gedruckt werden. Anbieter gibt es hier wie Sand am Meer, ich habe mal exemplarisch den Fotoservice von DM herausgesucht. Bisher bin ich nicht davon ausgegangen, dass auch Software für Linux/Ubuntu bereitsteht, aber hier habe ich mich getäuscht. Zu meiner Überraschung haben einige Fotoanbieter tatsächlich Software für Linux online.

    Die Installationsdatei findet man auf der Homepage des Anbieters. Hier die Schritte zur Installation:

    1. Das Archiv herunterladen
    2. Das Archiv entpacken (Ort erstmal nebensächlich)
    3. Mit dem Terminal ins das Verzeichnis wechseln
    4. ./install.pl

      für Einbenutzersystem, oder

      sudo ./install.pl

      für Mehrbenutzersystem ausführen

    5. Installationsanleitung folgen (es werden über 200MB an Daten aus dem Internet geladen)
    6. Starter anlegen (siehe unten)
    7. optional für 64 Bit-Systeme: ia32-libs und lib32gomp1 nachinstallieren

    Um einen Starter anzulegen, startet man einen Editor mit Rootrechten und legt eine .desktop Datei an. Am besten geht das aus dem Terminal heraus, mit folgender Eingabe:

    gksu gedit /usr/share/applications/dm.desktop

    Im nun erscheinenden Fenster gibt man folgenden Text ein (gilt für die Installation mit sudo, ansonsten die Pfade anpassen*)
    [Desktop Entry]
    Name=DM Fotoservice
    Terminal=false
    X-MultipleArgs=false
    Type=Application
    Comment=Ein Fotobuch erstellen
    Exec="/opt/dm/dm-Fotowelt/dm-Fotowelt"
    Categories=Graphics;
    Icon=/opt/dm/dm-Fotowelt/Resources/guiwidgets/icons/Symb_HardCover_01.png

    Und schon kann das Fotobuchgestalten losgehen!

    *) Das war der/die/das Icon, das mir am besten gefallen hat. Wer ein besseres findet – schreibts in die Kommentare!

    Beispielgestaltung einer Doppelseite im Fotobuch

    Wenn man Ubuntu mittels VirtualBox auf einer virtuellen Maschine installiert hat und dort die Auflösung nicht auf die maximale Bildschirmauflösung einstellen kann, so liegt dies meistens an den fehlenden Gasterweiterungen welche im Terminal mittels:

    sudo apt-get install virtualbox-ose-guest-x11

    installiert werden können. Danach sollte man die Auflösung problemlos einstellen können.

    Weitereinformationen gibt es unter:
    http://wiki.ubuntuusers.de/virtualbox

    GhostBSD Logo 150x150Die Entwickler des auf FreeBSD basierenden Betriebssystems GhostBSD haben einen weiteren Ausgabe-Kandidaten der Version 2.5 zur Verfügung gestellt. Das OS wird mit dem Ziel entwickelt, ein Anwender-freundliches BSD-System zur Verfügung zu stellen. Im Gegensatz zu PC-BSD setzt GhostBSD nicht KDE, sondern GNOME als Desktop-Umgebung ein.

    Im dritten Release-Kandidaten sollte CUPS laut eigener Aussage nun mit den meisten Druckern funktionieren. Seit dieser Ausgabe gibt es nun auch eine Variante mit LXDE als Desktop-Umgebung. GDM erlaubt es Anwendern ab sofort, die Sprache für die GNOME-Sitzung zu wählen. Die Anmeldedaten sind ghostbsd mit Passwort ghostbsd.

    Der Live-Sitzung wurde eine vernünftige Lösung in Sachen Herunterfahren und Neustart verpasst. Ebenso tritt eine Nachricht über Mount-Probleme beim Einrichten von GNOME nicht mehr auf. Um die ISO-Abbilder zu generieren wurde mkisofs verwendet.

    Dennoch sind noch nicht alle Fehler ausgemerzt. Brasero schließt sich in der amd64-Ausgabe immer noch selbst, wenn ein Anwender Daten hinzufügt. GDM zeigt unter amd64-Live-Sitzung keine vernünftige Meldung. Nach einer Installation funktioniert dies allerdings. Die Entwickler wollen noch diverse Fehler in LXDE bereinigen.

    Wer einen Fehler findet kann diesen gerne mittels Trac und Forum melden. Herunterladen kannst Du den neuesten Test-Kandidaten für die Architekturen i386 und amd64 aus dem Download-Bereich der Projektseite: GhostBSD-2.5-RC3-gnome-i386.iso (1,1 GByte), GhostBSD-2.5-RC3-lxde-i386.iso (602 MByte), GhostBSD-2.5-RC3-gnome-amd64.iso (1,15 GByte), GhostBSD-2.5-RC3-lxde-amd64.iso (682 MByte).

    GhostBSD 2.0

    Basiert auf FreeBSD 8.2 und bringt GNOME 2.32 mit sich

    6 Fotos


    Jürgen (jdo) für bitblokes.de, 2012. | Permalink | Twitter

    8. Januar 2012

    Ein untrügliches Zeichen, dass ich mich an Unity gewöhnt habe: habe gerade unter Ubuntu 10.04 Lucid den Mauszeiger an den linken Bildschirmrand gefahren und gewartet, dass das Menü ausklappt. Oh Mann... Der Mensch ist halt ein Gewohnheitstier. ;-)

    Für alle die sich jetzt wundern, wieso Lucid: Ich nutze Lucid zum Programmieren, weil die meisten Programme später auch auf einem Server unter Lucid laufen. Der aktuelle Ubuntu-Release (im Moment also Oneiric) wird für die "tägliche Arbeit" genutzt.

    BTW: Das mit dem Mauszeiger und kein Menü kommt ist eine wahre Begebenheit.

    Humble Savegame Backup – das ist der Name eines kleinen Skriptes, das ich mir zum Sichern und Wiederherstellen von Spielständen gebastelt habe. Der Name ist natürlich angelehnt an die Humble Bundles. Grundsätzlich ist das Skript aber offen für andere Spiele.

    Funktionsweise

    Bevor es um die Installation u.ä. geht, möchte ich zunächst kurz zeigen, wie das Shellskript i.d.R. zu verwenden ist. Dazu reicht es aus, das Skript ohne Optionen zu starten:

    ./humblesb.sh

    Schritt 1: Aktion auswählen...

    Daraufhin öffnet sich ein Dialog (siehe Abbildung: Schritt 1), in dem zunächst einmal die Wahl zwischen Sicherung und Wiederherstellung getroffen wird.

    Nachdem dieser Dialog mit OK bestätigt wurde, folgt als nächstes die Frage, ob man die Spielstände aller Spiele sichern bzw. wiederherstellen möchte (siehe Abbildung: Schritt 2).

    Die Auswahl beeinflusst dabei allerdings nur die Vorbesetzung für den darauf folgenden Dialog (siehe Abbildung: Schritt 3, unten). Hier kann man nun jedes Spiel einzeln anhaken.

    Schritt 2: Alle Spiele?

    Das Skript hat zu diesem Zeitpunkt übrigens schon geprüft, welche Spiele überhaupt installiert sind. Es werden somit nur Spiele zur Auswahl angezeigt, die für eine Sicherung bzw. Wiederherstellung überhaupt in Frage kommen (es wird nicht wirklich geprüft, ob das Spiel tatsächlich installiert ist, sondern ob das Spielstand-Verzeichnis des Spiels an der erwarteten Stelle existiert).

    Wird dieser Dialog nun auch mit OK bestätigt, wird die Verarbeitung für die gewählten Spiele gestartet. Währenddessen wird ein weiteres Fenster mit einem Laufbalken angezeigt (dessen Abbildung ich mir hier aber spare).

    Welche Spiele werden unterstützt?

    Schritt 3: Spiele-Auswahl

    In der ersten Version werden die folgenden Spiele OOTB unterstützt:

    • And Yet It Moves
    • Aquaria
    • Atom Zombie Smasher
    • Blocks That Matter
    • Braid
    • Cogs
    • Crayon Physics Deluxe
    • Darwinia
    • DEFCON
    • Dungeons of Dredmor
    • Frozen Synapse
    • Gratuitous Space Battles
    • Hammerfight
    • Jamestown
    • Jasper’s Journeys
    • Lugaru – The Rabbit’s Foot
    • Machinarium
    • Multiwinia
    • Osmos
    • Penumbra: Overture
    • Shadowgrounds
    • Shadowgrounds – Survivor
    • Shank
    • SpaceChem
    • SteelStorm
    • Super Meat Boy
    • Trauma
    • Trine
    • Uplink
    • Voxatron
    • VVVVVV
    • World of Goo

    Es ist aber zu beachten, dass grundsätzlich jedes Spiel eingebunden werden kann, sofern die Voraussetzungen gegeben sind: das Spielstand-Verzeichnis kann automatisch ermittelt werden (oder ist fix). Es wird dann immer ein komplettes Verzeichnis gesichert.

    Installation

    Das Skript kann hier heruntergeladen werden. Es verwendet Zenity für die GUI-Teile (Dialog und Meldungsfenster). Daher muss zunächst einmal Zenity installiert werden, was aber über folgendes Kommando sehr einfach geht:

    sudo apt-get install zenity

    Darauf kann unter Verwendung bestimmter Aufruf-Optionen verzichtet werden (siehe Abschnitt Automatisierungen).

    Ansonsten muss nichts weiter installiert werden. Es wird nun die .sh-Datei aus dem heruntergeladenen Paket benötigt. Das Skript kann in ein beliebiges Verzeichnis verschoben werden. Natürlich muss die Datei ausführbar sein, was folgendermaßen sichergestellt werden kann:

    chmod +x humblesb.sh

    Ggfs. werde ich demnächst noch ein Sprachpaket anbieten, so dass das Skript zumindest auch in englischer Sprache verwendet werden kann. Die Vorbereitungen dafür sind im Skript schon getroffen. Dieses Paket wird dann aber optional bleiben.

    Humble Savegame Backup im Unity-Panel

    Außerdem gibt es einen weiteren Download (ebenfalls auf der Downloadseite, ganz unten) für die Einbindung des Skriptes in das Unity-Panel. In diesem Download-Paket findet sich einerseits ein Logo (im .svg-Format) und eine .desktop-Datei. In der Desktop-Datei müssen zwei Zeilen angepasst werden:

    In der ersten der beiden Zeilen muss der Pfad zur .sh-Datei angegeben werden. In der zweiten der Pfad zur .svg-Logodatei. Sind beide Anpassungen erledigt, kann das Skript per Doppelklick auf die .desktop-Datei gestartet werden. Im Unity-Panel genügt dann ein Rechtsklick auf das Icon und dann Im Starter behalten, um das Symbol dauerhaft im Panel zu behalten.

    Exec=/path/to/humblesb.sh
    Icon=/path/to/humblesb.svg

    (Gezeigt wird hier nur der relevante Ausschnitt aus der Datei)

    Automatisierungen

    Durch die Verwendung von Aufruf-Optionen können die einzelnen Dialog-Teile automatisiert werden. Wenn alle Teile automatisiert werden und zusätzlich die Option -t verwendet wird, wird Zenity praktisch nicht mehr benötigt. Die Optionen im Einzelnen:

    • -b gibt an, dass Spielstände gesichert werden sollen.
    • -r gibt an, dass Spielstände wiederhergestellt werden sollen.
    • -a gibt an, dass alle Spielstände (bzw. die Spielstände aller installierten Spiele) zurückgesichert werden sollen.
    • -g LISTE gibt an, von welchen Spielen die Spielstände zurückgesichert werden sollen. Auf das -g folgt eine Liste von Spielenamen, die durch Kommata getrennt werden müssen. Die Liste darf keine Leerzeichen enthalten. Die Namen der Spiele muss man derzeit noch dem Skript entnehmen. Dort findet man für jedes Spiel eine Funktion, die mit hsbg_ beginnt. Das, was darauf folgt (bis zum ()), ist der hier erwartete Spielename.
    • -d VERZEICHNIS gibt an, in welchem Verzeichnis die Sicherungen gespeichert bzw. von woher sie wiederhergestellt werden sollen.
    • -t gibt an, dass Abfragen und Ausgaben per Zenity vermieden werden sollen.

    Natürlich schließen sich -b und -r gegenseitig aus, genauso wie -a und -g. Für die Verwendung von -t gilt, dass entweder (-b oder -r) und (-a oder -g) angegeben sein müssen.

    Beispiele:

    • ./humblesb.sh -b -a -t – Sichert die Spielstände aller Spiele ohne Nachfrage und Ausgabe per GUI.
    • ./humblesb.sh -r -g Osmos,Frozen_Synapse -d /home/me/humblesb.save – Stellt die Spielstände von Osmos und Frozen Synapse wieder her.

    Sicherung in die Cloud

    Natürlich macht es Sinn, das Backup-Verzeichnis (mit -d) anzugeben und so dafür zu sorgen, dass die Sicherung der Spielstände in einen Ordner erfolgt, der z.B. automatisch per Ubuntu One oder SparkleShare (darüber habe ich hier auch schon einmal eine Artikel-Serie geschrieben) abgeglichen wird.

    pssst, weitersagen!
    • Facebook
    • Twitter

    Installiert man die Gasterweiterungen nach erfolgreicher Installation von Kubuntu 11.10 in einer Oracle VirtualBox, so funktionieren diese leider nicht. Dieses Problem lässt sich aber ganz einfach lösen. Es muss nämlich nur vor der Installation noch ein weiteres Paket installiert werden

    sudo apt-get install dkms
    

    Anschließend hängt man wieder das virtuelle Image mit den Gasterweiterungen ein und startet die Installation:

    cd /media/VBOXADDITIONS_4.1.8_*
    sudo ./VBoxLinuxAdditions.run
    

    Nach einen Neustart des virtuellen Kubuntu’s sollten nun die Gasterweiterung perfekt laufen.

    http://maroony.de/wp-content/uploads/2012/01/wpid-virtualbox.png

    Bildquelle(n):

    Vom GNU Parallel Projekt habe ich vor einiger Zeit in der Arbeit so am Rande etwas mitbekommen. Nachdem ich mir die gute Dokumentation etwas angeschaut habe, hab ich Lust bekommen das mal selbst auszuprobieren.

    Ich dachte es wäre eine gute Idee einfach ein paar md5 Summen zu bilden.

    $ time seq 1 10000 | parallel 'echo {}| md5sum &> /dev/null ' real 0m20.102s user 0m35.082s sys 0m24.918s

    Nun. Ich bilde nicht so oft 10.000 md5 Summen. War das jetzt viel? Oder wenig? Um einen Vergleichswert zu haben sollte ich wohl auch mal nachsehen, wie das ohne Parallel so aussieht.

    $ time for x in $(seq 1 10000); do echo $x | md5sum &> /dev/null; done real 0m13.504s user 0m2.368s sys 0m3.948s

    Ziemlich seltsam. Obwohl ich 10.000 md5 Summen gebildet habe war die sequenzielle Methode schneller als die Parallele. Zumindest dachte ich zu dem Punkt noch das es seltsam ist. Aber an was lag das. Ich hab mir dann überlegt ob ich nicht vielleicht doch noch eine andere Aufgabe als md5 Summenbildung abbilden sollte. Ich entschied mich dazu 1000 mal eine 100.000 Zeichen lange Zeichenkette durch gzip zu schubsen.

    $ time seq 1 1000 | parallel 'cat /dev/urandom | head -c 100000 | gzip &> /dev/null' real 0m7.845s user 0m4.064s sys 0m20.485s

    7 Sekunden. Sieht eigentlich ganz nett aus. Und in der Schleife sequenziell?

    $ time for x in $(seq 1 1000); do cat /dev/urandom | head -c 100000 | gzip &> /dev/null; done real 0m31.869s user 0m8.301s sys 0m33.658s

    Okay. Jetzt weiss ich, das GNU Parallel eher was für (rechen-)intensivere Aufgaben ist als für viele kleine Prozesse. Anscheinend braucht das Parsing des zusätzlichen Binaries doch etwas zu lange um einen Prozess zu ordnen der sowieso nach sehr kurzer Zeit wieder beendet ist. Alles in allem gefällt mir GNU Parallel aber sehr gut wenn man weiss für was man es einsetzen muss :)

    Vom GNU Parallel Projekt habe ich vor einiger Zeit in der Arbeit so am Rande etwas mitbekommen. Nachdem ich mir die gute Dokumentation etwas angeschaut habe, hab ich Lust bekommen das mal selbst auszuprobieren.

    Ich dachte es wäre eine gute Idee einfach ein paar md5 Summen zu bilden.

    $ time seq 1 10000 | parallel 'echo {}| md5sum &> /dev/null '
    real 0m20.102s
    user 0m35.082s
    sys 0m24.918s

    Nun. Ich bilde nicht so oft 10.000 md5 Summen. War das jetzt viel? Oder wenig? Um einen Vergleichswert zu haben sollte ich wohl auch mal nachsehen, wie das ohne Parallel so aussieht.

    $ time for x in $(seq 1 10000); do echo $x | md5sum &> /dev/null; done
    real 0m13.504s
    user 0m2.368s
    sys 0m3.948s

    Ziemlich seltsam. Obwohl ich 10.000 md5 Summen gebildet habe war die sequenzielle Methode schneller als die Parallele. Zumindest dachte ich zu dem Punkt noch das es seltsam ist. Aber an was lag das. Ich hab mir dann überlegt ob ich nicht vielleicht doch noch eine andere Aufgabe als md5 Summenbildung abbilden sollte. Ich entschied mich dazu 1000 mal eine 100.000 Zeichen lange Zeichenkette durch gzip zu schubsen.

    $ time seq 1 1000 | parallel 'cat /dev/urandom | head -c 100000 | gzip &> /dev/null'
    real 0m7.845s
    user 0m4.064s
    sys 0m20.485s

    7 Sekunden. Sieht eigentlich ganz nett aus. Und in der Schleife sequenziell?

    $ time for x in $(seq 1 1000); do cat /dev/urandom | head -c 100000 | gzip &> /dev/null; done
    real 0m31.869s
    user 0m8.301s
    sys 0m33.658s

    Okay. Jetzt weiss ich, das GNU Parallel eher was für (rechen-)intensivere Aufgaben ist als für viele kleine Prozesse. Anscheinend braucht das Parsing des zusätzlichen Binaries doch etwas zu lange um einen Prozess zu ordnen der sowieso nach sehr kurzer Zeit wieder beendet ist. Alles in allem gefällt mir GNU Parallel aber sehr gut wenn man weiss für was man es einsetzen muss :)

    Ich bin heute auf ein interessante Software gestoßen. Sie ist in der Version 8 verfügbar und sehr fortgeschritten. Das FreeNAS Projekt basiert auf FreeBSD und ist für einen eigenen NAS gedacht. NAS heißt Network Attached Storage, übersetzt heißt es soviel wie “an Netzwerk angefügter Speicher”. FreeNAS gibt es auch in deutscher Fassung (Webinterface).

    FreeNAS versucht es, einem Otto Normaltechniker zu ermöglichen, einen Computer hinzustellen, FreeNAS draufzuspielen und über ein Webinterface einzurichten. Das Webinterface scheint nach einigen Analysen auf Django aufzubauen. 
    FreeNAS bringt einige Features mit. Unter anderem Active Directory und NFS Unterstützung. Um FreeNAS zu benutzen, eben als Speicher, wird eine zweite Festplatte oder Partition vorrausgesetzt. Damit soll verhindert werden, dass eine Software auf die systemkritischen Prozesse zugreifen kann.

      Hier sieht man das Webinterface. Es ist sehr strukturiert und lässt einem den Zugriff auf alle möglichen Menüpunkte sehr schnell zu. 
    Es verfügt über ein Tabsystem und bedient sich der AJAX-Methode um ohne Reload eine flüssige Anwendung darzustellen.

    Das Webinterface lässt sogar das tracken des Netzwerks und systemkritischer Programme zu.

     

    Die Einrichtung des Netzwerks ist denkbar einfach. Nach dem Booten wird man aufgefordert, die einzelnen Punkte abzuarbeiten und eine Verbindung zum Netzwerk herzustellen.

    Was einem vielleicht auffällt, ist, dass dieses Setup in englischer Sprache gehalten ist, also nicht multilingual. Das macht aber nichts, da jeder normale Systemadministrator sich damit auseinandersetzen müsste können.

    Fazit

    Mein Fazit lautet, dass ich die Distribution nur empfehlen kann. Ich werde mir in den nächsten Monaten auf jedenfall einen Computer hinstellen, der sparsam im Verbrauch ist und FreeNAS aufspielen. Dieser Computer fungiert sogleich auch als Webserver. Sollte jedenfalls.

    In dieser Hinsicht möchte ich meinem Bruder nochmal herzlich für den Hinweis danken. Man erreicht ihn unter folgenden Adressen:

    •  http://youtube.com/user/screenmediacast

    Will man schnell mal eben eine gute lesbar Liste seiner Musiksammlung erstellen zu empfiehlt sich das kleine Programm tree.

    http://maroony.de/wp-content/uploads/2012/01/wpid-tree.png

    Hier ein Beispielaufruf, der nur Ordner einer maximalen Tiefe von 3 berücksichtigt und das Ergebnis in eine Datei schreibt:

    tree -d -L 3 /dev > list.txt
    

    Die Datei list.txt sieht dann so aus:

    /dev
    ├── block
    ├── bsg
    ├── bus
    │   └── usb
    ├── char
    ├── cpu
    ├── disk
    │   ├── by-id
    │   ├── by-label
    │   ├── by-path
    │   └── by-uuid
    ├── fd -> /proc/self/fd
    ├── input
    │   ├── by-id
    │   └── by-path
    ├── mapper
    ├── net
    ├── pts
    ├── shm -> /run/shm
    ├── snd
    │   └── by-path
    └── usb
    
    22 directories
    

    Will man mehr über das Programm erfahren, so ist

    man tree
    

    wie immer die erste Anlaufstelle.

    Um beim Boot-Loader GRUB 2 das Standard-Timeout (10 Sekunden) zu verändern muss einfach in der Datei

    /etc/default/grub
    

    der Wert GRUB_TIMEOUT angepasst werden. Anschließend muss man GRUB 2 diese Änderungen noch mitteilen mit

    sudo update-grub
    

    Mehr zu den neuen Konfigurationsmöglichkeiten von GRUB 2 findet man auf ubuntu.com.

    http://maroony.de/wp-content/uploads/2012/01/wpid-grub.png

    Update:

    Wie ich heute mitbekommen habe gibt es auch einen grafische GRUB2 Editor, der momentan in der Version 0.5.5 zu haben ist. Die Screenshots sehen ziemlich viel versprechend aus

    http://maroony.de/wp-content/uploads/2012/01/wpid-grub2Editor.png

    Bildquelle(n):

      Metapixel
      Genre Bildbearbeitung
      Preis kostenlos
      Homepage complang.tuwien.ac.at

      In der heutigen App der Woche geht es um ein Programm, mit dem man Mosaikbilder erstellen kann. Grundlage ist ein digitales Bild, das durch einzelne Mosaiksteine (die wiederum digitale Bilder sind) dargestellt wird. Eine praktische Anwendung ist z.B. das erstellen eines großformatigen Posters als kreatives Fotogeschenk.

      Installation

      Metapixel ist in den Paketquellen von Ubuntu vorhanden (universe) und kann dementsprechend über das Softwarecenter installiert werden.

      Benutzung

      Zunächst legt man den versteckten Ordner .metapixel im Homeverzeichnis an und lässt das Programm alle vorhandenen Digitalfotos für die Mosaikbilder einlesen:

      metapixel-prepare -r pictures_folder .metapixel

      Das dauert je nach Umfang der Digitalbilder relativ lange (ist aber einmaliger Aufwand). Danach kann man ein beliebiges Bild in ein Mosaik umwandeln lassen:

      metapixel --metapixel input_file.jpg output_file.jpg -l ~/.metapixel/ --cheat=30 --width=35 --height=35 --metric=wavelet --distance=20

      Mehr Infos: http://wiki.ubuntuusers.de/Metapixel

      Beispiel

      Hier noch ein kleines Beispiel für ein Ergebnis:
      Mosaikbild: Klein Venedig

      7. Januar 2012

      Eines der großen Vorteile gegenüber Windows ist bei Linux die Shell. Öffnet man ein Terminal, eröffnet sich gleichzeitig eine ganz neue Welt der Möglichkeiten, um Aufgaben automatisiert zu lösen. Da man für produktives Arbeiten aber einige Befehle und Tricks kennen sollte, hatte ich schonmal in einem früheren Blogartikel über nützliche Kniffe geschrieben. In diesem Artikel soll es nun um empfehlenswerte Terminalanwendungen gehen.

      Warum Terminalanwendungen?

      Zunächst einmal: Die unten stehende Liste will natürlich in keinster Weise vollständig sein, es handelt sich dabei nur um persönliche Empfehlungen zu Terminalanwendungen (also keine Befehle, die nur eine Sache tun), über Ergänzungen jeder Art freue ich mich natürlich.

      Warum setze ich überhaupt Terminalanwendungen ein?

      Terminalanwendungen…

      • …machen verstärkt Gebrauch von Tastaturkürzeln => das ist schnell & produktiv, wenn man sich daran gewöhnt hat
      • …sind i.d.R. ressourcenschonend und laufen gut unter Linux (Linux ist in erster Linie als OS ohne GUI konzipiert)
      • … haben oft einfache, d.h. nicht überladene Oberflächen, die meist auch sehr gut anpassbar sind
      • …können auch problemlos von entfernten Rechnern per SSH genutzt werden, da keine grafische Oberfläche notwendig ist

      Meine Grundausstattung

      urxvt - schneller Terminal-Emulator

      Seit einiger Zeit benutze ich nicht mehr das Standardterminal von Gnome, sondern urxvt. Dabei handelt es sich um einen schnellen Terminal-Emulator, der durch die Konfigurationsdatei (~/.Xdefaults) sehr gut anpassbar und mittels Perl-Plugins erweiterbar ist. Besonders gefällt mir dabei das Tabplugin (urxvt-tabbedex), mit dem ich mit Tastenkombinationen (Shift+Pfeiltaste_nach_unten = Neuer Tab, Navigation mit Shift+Pfeiltasten_links_rechts, Tabbenennung mit Shift+Pfeiltaste nach oben, Verschieben der Tabs mit Strg+Pfeiltasten) sehr leicht mehrere Terminals verwalten kann. Meine Konfiguration befindet sich übrigens auch auf github, zusammen mit Einstellungen zu anderen hier angesprochenen Tools (z.B. zsh) in meinem dotfiles Repository.

      Installation - Archlinux:

      $ sudo pacman -S rxvt-unicode
      

      Installation - Ubuntu/Debian (universe):

      $ sudo apt-get install rxvt-unicode-256color
      

      zsh - die bessere Shell

      Ich benutze statt der Bash die zsh zusammen mit oh-my-zsh. Letzteres ist eine Community-Sammlung an Einstellungen, Plugins und Themes für zsh. Die Z-Shell selbst hat viele Vorteile gegenüber bash und ist gleichzeitig dazu kompatibel, sodass man auf keine bash-Features verzichten muss. So bietet zsh beispielsweise umfangreichere Tab-Vervollständigungen und Komfortfunktionen wie die Korrektur von Tippfehlern oder das Nachfragen beim Löschen vieler Dateien. Die Screenshots unten zeigen einige Beispiele. Falls du noch nie von zsh gehört haben solltest, lohnt es sich auf jeden Fall, sich einmal damit zu beschäftigen!

      zsh screenshot

      Tab-Verfollständigungs-Beispiele bei zsh:

      zsh screenshot tab completion

      tmux

      Mitlerweile verwende ich es wegen urxvt zwar seltener, allerdings ist auch tmux (eine screen-Alternative) allemal eine Erwähnung wert. Ich verweise hier mal auf einen älteren Artikel zu tmux.

      yaourt für Archlinux (Arch User Repository)

      Ich benutze yaourt als AUR-Paketmanager bei Archlinux, in meinem ”Warum Arch…“-Artikel hatte ich darüber schonmal geschrieben.

      yaourt screen

      vim als Editor & zum Programmieren

      Vim ist ein sehr anpassungsfähiger Terminal-Editor, der bei richtiger Konfiguration auch and umfangreiche IDEs herankommen kann. Der Nachteil ist, dass etwas Einarbeitung notwendig ist, damit man die Stärken von vim erkennt. Empfehlen kann ich als Einstieg den Artikel vim HowTo aus dem Suckup.de-Blog von Lars und den Artikel Überblick: vim-Plug-ins aus dem Blog von DSIW. Meine eigene vim-Konfiguration und die von mir verwendeten Plugins findet man auf github im dotfiles bzw. vim Repository.

      git als Versionsverwaltung für Projekte

      Besonders bei der Programmierung, aber auch bei anderen textbasierten Projekten hilft git als Versionsverwaltungstool ungemein. Als Einstieg eignet sich beispielsweise githowto.com. Da die Community von git stetig wächst, gibt es aber auch sonst genügend Anlaufstellen im Netz, um die einigen git-Kenntnisse zu verbessern. Einfach mal die Suchmaschine des Vertrauens fragen! Auch ist es selbstverständlich am produktivsten, git durch learning by doing zu erlernen, indem man z.B. mit einem eigenen Git-Projekt auf github.com arbeitet.

      Systemtools

      htop

      Viele werden das Tool top kennen, das die laufenden Prozesse, sowie deren Auslastung im System anzeigt. htop ist im Prinzip das selbe, aber besser! htop bietet weitere Optionen per Tastaturkürzel an, wie z.B. die Unterschiedliche Sortierung nach bestimmten Kriterien.

      htop screen

      iostat

      iostat liefert ausführliche Informationen über CPU- und Festplattenauslastung.

      Powertop (2)

      Powertop bietet einige Tipps und Tweaks, um den Energieverbrauch unter Linux zu reduzieren. Besonders Laptop-Nutzer sollten dieses Tool auf der Liste haben. Die stable-Version von Powertop ist bereits recht alt, die Beta von Powertop 2 funktioniert bei mir jedoch reibungslos und hat sich auch in Sachen Übersichtlichkeit verbessert.

      lsof

      lsof listet die geöffneten Dateien aller Prozesse auf, kann aber auch verwendet werden, um offene Netzwerkverbindungen anzuzeigen. Beispielsweise zeigt der nachfolgende Befehl die offenen Verbindungen des Benutzers http (der Benutzer des Apache Webservers unter Archlinux) an:

      $ sudo lsof -a -i -u http    
      

      pmap

      pmap listet bei Angabe der Prozess-ID die Belegung des Arbeitsspeichers der jeweiligen Task auf. Besonders hilfreich ist das, wenn Prozesse Amok laufen und viel zu viel Speicher belegen.

      Resourcenhunger von Prozessen begrenzen

      Manche Prozesse haben das Bedürfniss, grundlos möglichst viele Ressourcen im System zu belegen. Flash und Java fallen mir in dieser Hinsicht häufiger negativ auf. Mit CPULimit lässt sich der CPU-Konsum solcher Prozesse glücklicherweise in die Schranken weisen. Auch beim I/O-intensiven Prozessen, z.B. dem Kopieren von Dateien geht das System manchmal in die Knie. Hier kann ionice helfen (Artikel dazu).

      Auch kann es helfen, sich den Fortschritt beim Kopieren von Daten ausgeben zu lassen, um zu erkennen, ob der Prozess überhaupt noch reagiert. Dafür eignet sich beispielsweise pv. Ich setze gerne pycp/pymv statt cp/mv beim Kopieren/Verschieben größerer Dateien ein, denn das zeigt mir den Fortschritt direkt beim Kopierprozess:

      pycp screen

      Dateitools

      Bilder: imagemagick, exif und jhead

      Mit imagemagick steht ein ganzes Paket an Befehlen zur Verfügung, um Bilder per Kommandozeile zu bearbeiten. Gerade wenn man häufig Bilder in andere Formate umwandeln muss, bietet es sich hier an, die Website und die man-Pages von imagemagick anzuschauen und entsprechende Scripts zur Automatisierung solche Prozesse zu schreiben.

      Exif kann Metadaten von JPEG-Bildern auslesen und auf der Konsole ausgeben. Zusammen mit jhead kann man es beispielsweise dazu verwenden, Fotos automatisiert umzubennen.

      PDF-Dateien: pdfjam & pdftk

      Wer wie ich in einer von Windows beherrschten Welt unbeirrrt Linux als Hauptsystem einsetzt, hat bei Worddokumenten das Problem, dass diese auf jedem System verschieden aussehen können. Glücklicherweise kann mit Dateien im PDF-Format nicht viel schief gehen, weshalb das mein beforzugtes Format ist, wenn ich Dokumente an andere Personen schicke. Das Bearbeiten oder Zusammenstellen von PDFs geht oft über die Kommandozeile am schnellsten. Ich benutze dabei pdfjam und pdftk, wobei sich pdfjam sehr gut eignet, um aus Bilddateien eine PDF zu bauen:

      $ pdfjam *.jpg --outfile test.pdf
      

      Das oben genannte imagemagick kann solche Dinge zwar auch, allerdings war bei mir Dateigröße und Qualität nie so zufriedenstellend wie bei pdfjam. pdftk ist ein recht umfangreiches Toolkit für typische Anwendungsfälle mit PDFs. (weitere Infos gibt’s auf der Homepage)

      Löschen / Wiederherstellung

      extundelete kann gelöschte Dateien von ext3 und ext4-Partitionen wiederherstellen. Den entsprechenden Gegenpart bildet shred, ein Tool mit dem Daten beim Löschen mehrfach überschrieben werden können und somit nur sehr schwer wiederherstellbar sind. Menschen mit noch größerem Hang zu Paranoia, sollten vermutlich secure-delete verwenden.

      Multimedia

      abcde

      A better CD Encoder, kurz abcde ist eine Script-/Toolsammlung, die dazu benutzt werden kann, um auf simple Art und Weise Audio-CDs zu encodieren und taggen. Über die Konfigurationsdatei kann das Toolset recht gut angepasst werden. (meine .abcde.conf)

      bashburn

      bashburn ist ein simples & übersichtliches Brennprogramm für die Shell.

      bashburn screen

      moc und mocp

      moc (bzw. den mocp Player, einen guten Überblick gibt es im ArchWiki) benutze ich als simplen Audioplayer. Moc besteht aus einem Client (mocp), mit dem man den Player steuert, und einem Daemon, der im Hintergrund läuft. Dadurch ist es auch leicht möglich, die Playlist von anderen Rechnern aus per ssh zu verändern, da der Clientprozess weitgehend unabhängig vom Daemon ist.

      Internet

      (open)ssh + scp + sshfs

      Es gehört zwar schon fast zur Standardausstattung, dennoch will ich ssh, scp (Dateien über ssh kopieren) und sshfs (Dateisysteme von entfernten Rechnern lokal mounten) hier nicht unerwähnt lassen. Wenn man mit mehreren Rechnern zu tun hat, bietet openssh eine gute Möglichkeit, auf sichere Weise auf entfernte Systeme zuzugreifen.

      wget

      Auch der Befehl wget sollte den meisten ein Begriff sein. Wget ist ein gutes Download-Tool, das auch in Shell-Script oft sehr gut zu gebrauchen ist.

      mutt

      mutt ist ein Mailclient, den ich wegen seiner Übersichtlichkeit und der simplen Handhabung schätze. Es gilt das Motto: “All mail clients suck. This one just sucks less.” - ganz so schlimm ist es aber doch nicht! ;)

      Twitter-Client tyrs

      tyrs (Homepage) ist ein feiner Microblogging-Client für Twitter und Identica, den man sehr gut nebenher im Hintergrund laufen lassen kann! Er basiert auf ncurse.

      tyrs twitter screen

      irssi

      Irssi ist ein sehr anpassungsfähiger IRC-Client der Zukunft!

      finch

      Finch ist quasi Pidgin (Instant Meeaging Client) für die Konsole: Es handelt sich um ein Frontend für libpurple. Hilfreich ist, sich vor der Benutzung die Tastaturkürzel mit man finch anzuschauen.

      Netzwerkanalyse: tcpdump, nmap

      Mit Tcpdump lässt sich - ählich wie mit dem GUI-Tool Wireshark der Netzwerkverkehr ausgeben und analysieren. Dank der Konsole kann man hier die Ergebnisse auf einfach Weise filtern. Beispielsweise könnte man den Verkehr auf Port 80 (HTTP Protokoll) überwachen mit:

      $ tcpdump -i eth0 'port 80'
      

      Mit nmap steht auf der Konsole ein guter Portscanner zur Verfügung.

      Kleine Helfer

      bc

      Die Linux Shell eignet sich leider nicht sonderlich gut als Taschenrechner. Diese Lücke schließt das Tool bc, mit dem man gängige Rechnungen sehr gut auch mit der Kommandozeile lösen kann.

      bashmount

      bashmount ist ein kleines mount-Verwaltungs Tool, das gemoutete Laufwerke sowie Informationen zu ihnen anzeigt. Das ist ganz nützlich, wenn man mit vielen verschiedenen Laufenwerken zu tun hat, um schnell einen Überblick zu bekommen.

      watch

      watch startet einen festgelegten Befehl im Terminal und führt diesen alle x Sekunden erneut aus. Damit lassen sich also sehr einfach Dinge überwachen, ohne extra Bashscripts mit for-schleifen anlegen zu müssen.

      autojump

      Einer der häufigsten Befehle die man auf der Kommandozeile eintippt, dürfte der cd-Befehl zum Wechseln von Verzeichnissen sein. Oft arbeitet man aber dennoch in den gleichen Unterverzeichnissen. Autojump ist eine super Sache, denn das Tool merkt sich die benutzen Verzeichnisse beim cd-Befehl. (jumpstat zeigt die gespeicherten Pfade an) Die Verzeichnisse erreicht man anschließend direkt ein einziges Schlüsselwort, das in dem Pfad vorkommt. Beispiel: Um neue Beiträge für dieses Blog zu schreiben, muss ich häufig in den Ordner /srv/http/jekyll/_posts wechseln. Nachdem ich das ein paar Mal getan habe, kennt autojump diesen Pfad und ich kann künftig einfach per

      $ j posts
      

      in diesen Ordner springen.

      logger

      Will man für eigene Scripts Logs nach /var/log schreiben, so ist das mit dem Befehl logger sehr einfach möglich. Durch ein simples

      logger "Script xy war erfolgreich."
      

      Wird z.B. eine passende Meldung mit der Nennung des aktuellen Benutzers an die /var/log/messages.log angehängt.

      w3m

      Bei w3m handelt es sich um einen sehr simplen Webbrowser, mit dem man sich z.B. den Text einer Website auf der Konsole ausgeben lassen kann. Beispiel:

      $ w3m -dump istwulffnochimamt.de | head -3
      Ist Wulff noch im Amt?
      
      Ja.
      

      Damit lassen sich aber natürlich auch sehr viel sinnvollere Dinge anstellen. Eine interessante Idee habe ich z.B. bei Natenom´s Blog gefunden, nämlich die Umsetzung von Wörterbuchabfragen über die Konsole mittels w3m. Dafür habe ich folgende Funktionen in meine ~/.zshrc (benutzt man Bash als Shell wäre es die ~/.bashrc) eingetragen:

      function dict() {
       w3m -dump "http://pocket.dict.cc?s=\"$*\"" | sed -r -e '/^([ ]{5,}.*)$/d' -e '1,2d' -e '/^$/d' -e '/^\[/d'
      }
      
      function leo() {
       w3m -dump "http://pda.leo.org/?search=\"$*\"" | sed -n -e :a -e '1,9!{P;N;D;};N;ba' | sed -e '1,14d'
      }
      
      function leofr(){
       w3m -dump "http://pda.leo.org/?lp=frde&search=\"$*\"" | sed -n -e :a -e '1,9!{P;N;D;};N;ba' | sed -e '1,14d'
      }
      

      Somit kann ich nun komfortabel und schnell nach Begriffen suchen, ohne extra die jeweilige Seite im Browser ansteuern zu müssen:

      cli dictionary screen

      Eigene Aliase und Funktionen sind eine weitere gute Möglichkeit, produktiver mit der Shell zu arbeiten. (=> meine .zshrc)

      sed

      Da bei der Wörterbuch-Funktion von oben auch der Befehl sed benutzt wird, will ich auch diesen noch empfehlen. Es handelt sich dabei um einen Stream Editor, mit dem man z.B. den Text der Standardaußgabe verändern kann. Das Tools ist sehr mächtig, setzt aber etwas Einarbeitung voraus. Eine ausführliche Einführung gibt es z.B. bei grymoire.com, außerdem kann ich die “Sed-Onliners explained”-Serie und die Beispiele bei sed.sourceforge.net (auch dort gibt es eine interessante SED 1-Liner-Zusammenstellung) empfehlen.

      Eure Lieblingstools?

      Wie eingangs schon geschrieben, enthält dieser Artikel nur die von mir (mehr oder weniger) regelmäßig verwendeten Tools. Über eure Kommentare und Ergänzungen bin ich deshalb gespannt! Welche CLI-Anwendungen setzt ihr ein und welche Produktivitäts-Tipps habt ihr noch für den Terminal-Bereich?

      Wie OMGUbuntu erfahren haben will, soll ein von Ubuntu angetriebener Internet-Fernseher schon nächste Woche auf der CES in New York vorgestellt werden. Beim “Ubuntu TV” soll es sich um das Projekt handeln, das bislang als “Ubuntu Concept Design” die Runde machte.

      Canonical CEO Jane Silber sagte im Interview mit der BBC folgendes über die CES [Übersetzung]:

      “Wir sind dabei ein paar neue Produkte mit dem Schwerpunkt auf Consumer Devices zu veröffentlichen und die CES ist offen gesagt der Ort, um das zu tun,”

      “Es ist eine große Show und das hat Vor- und Nachteile. Einerseits ist es leicht, sich im Lärm zu verirren. Auf der anderen Seite ist es im Grunde das Event der Industrie.”

      Ich persönlich finde das Projekt sehr interessant und bin gespannt darauf, was der “Ubuntu TV” bieten wird. Ich werde, sobald es Neuigkeiten gibt, darüber berichten.

      Als ich gestern mal wieder ein frisches Kubuntu 11.10 aufsetze und anschließend einen Testbenutzer anlegte, bemerkte ich, dass es nicht mehr ohne weiteres möglich ist ein einfaches und kurzes Passwort zu vergeben. Jedenfalls kann der jeweilige Benutzer sich nicht selbst ein zu einfaches Passwort geben.

      Anders der Admin. Er kann auch weiterhin jedes Passwort einen Benutzer zuteilen. Das ganze geht dann mit

      sudo passwd <username>

      Und schon hat mein Testbenutzer ein simples Kennwort erhalten. Natürlich ist es dabei auch wichtig, dass dieser dann eben nicht zur Gruppe sudo gehört!

      http://maroony.de/wp-content/uploads/2012/01/wpid-lock.png

      Bildquelle(n):

      Canonical wird dieses Jahr das erste Mal auf der Consumer Electronics Show (CES) in Las Vegas anwesend sein, auf der es ab dem 10. Januar die neuesten Entwicklungen aus der Welt der Unterhaltunselektronik zu sehen gibt.

      In einem Gespräch mit dem BBC äusserte sich Canonical’s CEO Jane Silber dazu, was dort gezeigt wird: Einen Netzwerkfähigen Prototyp eines Ubuntu-basierten TV-Geräts.

      Also in etwa das, was viele andere, darunter auch Google mit Google TV, schon seit Jahren erfolglos versuchen am Markt zu etablieren. Ob Canonical eine Idee erfolgreich vermarkten wird, an der schon andere vorher gescheitert sind, ist fraglich. Aber allein das Auftreten auf der CES dürfte Ubuntu selbst ein wenig mehr in den Fokus des Massenmarkts rücken, was ich für eine gute Sache halte.

      via OMG!Ubuntu!

      rsync for Android Logo HiDrive 150x150Ich habe bereits über rsync for Android geschrieben und wie man seinen kleinen Droiden via SSH auf einen Linux-Server sichern kann. Nun habe ich mich erinnert, dass Stratos HiDrive ebenfalls die Möglichkeit von rsync via SSH anbietet und mir gedacht, ich müsste meine Daten eigentlich auch dort hinsichern können. Um die Spannung vorweg zu nehmen - es funktioniert. Allerdings stand ich mit Stratos Anleitung ziemlich im Regen da, die funktioniert nämlich so nicht.

      rsync for Android Strato HiDrive

      OpenSSH - ja gerne, aber wo?

      Der Witz an der FAQ ist, dass Strato mir vorschlägt, mich in HiDrives Kundenbereich anzumelden und dann unter Einstellungen -> Kontoverwaltung rsync zunächst aktiviere. Danach kann ich laut Anleitung den öffentlichen Schlüssel dort hochladen. Wenn man sich nun den Screenshot links neben diesem Text ansieht, fragt man sich sicher: Wo denn? Ich hab es nicht gefunden - konnte ich auch nicht.

      rsync for Android Strato HiDrive Kundennummer verwalten

      Gut versteckt ...

      Des Rätsels Lösung in meinem Fall war: Da ich bitblokes.de ebenfalls auf Strato hosten lasse, habe ich mehr als ein Paket dort und muss mich mit meiner Kundennummer im Strato Kundenservice (nicht HiDrive Kundenservice) anmelden. Nun kann ich das HiDrive-Paket auswählen (Einstellungen) und unter Informationen zu Ihren technischen Features auf verwalten klicken. Wenn ich mich nun noch mal auf Einstellungen -> Kontoverwaltung begebe, habe ich plötzlich viel mehr Auswahl und auch die Möglichkeit, einen OpenSSH-Schlüssel zu hinterlegen. Ab dann stimmt auch die Aleitung in der FAQ wieder.

      rsync for Android Strato HiDrive

      Nun steht einem verschlüsseltem Backup nichts mehr im Wege.

      Nun funktioniert alles wie bei rsync for Android mit dem beschriebenen Linux-Server. Die Datei dss_key.pub lädst Du nun bei Strato hoch. Als Server-Adresse trägst Du rsync.hidrive.strato.com und als Benutzer natürlich Deinen HiDrive-Benutzernamen ein. Nun sollte das rsyncen mit HiDrive ohne Probleme funktionieren.

      Nachdem ich mir auch schon Ubuntu One Files angesehen habe und mir da das gezielte Synchronisieren eines Ordners fehlt, kann ich das mittels rsync for Android und HiDrive realisieren. Ich brauche es in erster Linie in einer Richtung - also vom Droiden in die Cloud. Unter free-hidrive.com gibt es übrigens 5 GByte Speicherplatz kostenlos!


      Jürgen (jdo) für bitblokes.de, 2012. | Permalink | Twitter

      Wie es scheint, wird Unity für die kommende Version 12.04 nun doch noch konfigurierbar, zumindest ein wenig. Das lässt sich einem vor kurzem von einem Canonical-Mitarbeiter veröffentlichten Dokument entnehmen, welches eine Art Zusammenfassung der internen Kommunikation darstellt.

      Darin werden recht umfangreiche Änderungen vorgeschlagen, beispielsweise ein neuer, im Unity-Design gehaltener Dialog zum Herunterfahren bzw. Neustarten:

      Herunterfahren Dialog

      Ausserdem soll der Ruhezustand künftig nur noch angeboten werden, wenn sich der eigene Rechner auf der Liste der für Ubuntu zertifizierten Hardware befindet. Dadurch kann man zwar einerseits sicherstellen, dass der Ruhezustand garantiert funktioniert, wenn er überhaupt angeboten wird. Auf der anderen Seite ist diese Liste sehr weit davon entfernt, vollständig zu sein. Dell-Geräte sind noch recht gut vertreten, aber gerade mal 8 Asus-Rechner und nicht ein einziges HP-Notebook? Von selbst zusammengebauten Rechnern ganz zu schweigen.

      Einerseits schließt diese einige Probleme aus, auf der anderen Seite dürften sehr viele Nutzer zu Unrecht von der Deaktivierung betroffen sein. Denn um eine Zertifizierung für eine Hardware zu bekommen, müssen bei Desktops Ausnahmslos quasi alle eingebauten Geräte funktionieren. Wenn also die W-Lan-Karte oder die Webcam aufgrund nicht erhätlicher Linux-Treiber nicht läuft, bekommt das Gerät keine Zertifizierung und folglich auch keinen automatisch aktivierten Ruhemodus, selbst wenn dieser funktionieren würde. Also: Datenbank mit wenig Einträgen und selbst wenn Ruhemodus getestet wurde und funktioniert, garantiert das noch lange nicht, dass er auch wirklich verfügbar ist. Vermutlich lässt dieser sich auch von Hand aktivieren, aber ob das der richtige Weg ist, wage ich zu bezweifeln.

      Aber zurück zum Hauptthema der Änderungen: So ist eine Umstrukturierung der Übersicht des Gnome-Programms mit den Systemeinstellungen geplant. Derzeit sieht der Entwurf folgendermaßen aus:

      Systemeinstellungen

      Ja, man muss genauer hinschauen um die Unterschiede zu finden. :)
      Interessant ist auch die von Nautilus gewohnte Brotkrümelnavigation, welche nun auch bei den Systemeinstellungen eingeführt werden soll.

      Brotkrümelnavigation

      Ein meiner Meinung nach generell in Gnome 3 längst überfälliges neues Feature ist die Option zum Ändern des Themes direkt über die Systemeinstellungen:

      User Interface

      Und ich habe ja Versprochen, dass Unity auch konfigurierbarer werden soll. Ok, viel ist es nicht, aber hey, immerhin. ;)

      User Interface

      Auch die Einstellungsmöglichkeiten bei der Verwendung von mehreren Monitoren sollen vergrößert werden, das hatte ich an anderer Stelle schon erwähnt.

      Zu guter Letzt sollen auch noch einige Privatsphärenoptionen für Zeitgeist integriert werden.

      6. Januar 2012

      Es wird oft über GIMP geredet, wenn es um die Manipulation von Bildern geht. Ohne Frage ich mag GIMP und halte es für ein hervorragendes Programm. Ich denke nur, viele Menschen kommen schon mit sehr viel weniger Funktionen aus. Gerade für Standardaufgaben mit Bildern hat Lubuntu mit mtPaint ein kompaktes, schnelles und vielseitiges Bildbearbeitungsprogramm vorinstalliert, welches nicht nur einige der am häufigsten wiederkehrenden Probleme löst, sondern auch vollkommen anspruchslos an die Hardware ist und bei mir auf einem 10 Jahre alten Laptop noch eine Startzeit von weniger als 2 Sekunden hat.

      Mit dem folgenden kleinen Tutorial möchte ich zeigen, wie man einige typische Basisaufgaben mit Hilfe von mtPaint bewältigen kann. Mein Beispiel dreht sich um das Aufnehmen eines Bildschirmfotos, dem Zurechtschneiden des Bildes und der Markierung und Beschriftung von Objekten.

      In Lubuntu 11.10 ist das ressourcenschonende scrot zum Aufnehmen von Screenshots voreingestellt. Seine vielfältigen Funktionen und wie man es in ein Openbox-Menü einbindet, hatte ich vor ein paar Monaten vorgestellt.

      In der Regel wird durch Drücken der Druck-Taste der gesamte Bildschirm aufgenommen. Durch die Kombination Alt+Druck und ein paar anschließenden Mausbewegungen hat man die Möglichkeit einen Ausschnitt des Bildschirms als Bild festzuhalten. Dieser wird dann standardmäßig im Home Ordner gespeichert.

      Wovon kaum jemand Gebrauch macht: mtPaint, Mark Tylers Painting Program, kann ebenfalls Bildschirmfotos schießen. Dazu gibt es drei Möglichkeiten

      Ein Bildschirmfoto aufnehmen

      1. Terminalemulator

        In Lubuntu 11.10 das LXTerminal aufrufen und

        mtpaint -s

        eingeben.

      2. Tastaturkürzel

        Die Datei ~/.config/openbox/lubuntu-rc.xml öffnen und nach dem Eintrag für scrot suchen. Erstellt euch danach wie folgt ein Tastenkürzel für STRG+Druck und mtPaint.

        <keybind key="C-Print">
             <action name="Execute">
              <execute>mtpaint -s</execute>
             </action>
        </keybind>
        
        

        Damit die Bildschirmaufnahme um 5 Sekunden verzögert wird, kann man anstelle von mtpaint -s auch

        sleep 5; mtpaint -s

        schreiben und natürlich je nach Wunsch die Anzahl der Sekunden variieren.

      3. Innerhalb von mtPaint

        Klickt auf Datei -> Neu -> Erzeuge Screenshot

      Ein Bildschirmfoto manipulieren

      Vorbemerkung: Solltet ihr Probleme mit einem Werkzeug haben, könnt ihr mit der ESC-Taste die Funktion abwählen. Falls ihr einen Schritt rückgängig machen wollt, hilft wie immer STRG+z, STRG+r holt ihn wieder hervor.

      Ausgangsbild

      Zurechtschneiden

      Egal für welche Methode ihr euch entschieden habt, das Bildschirmfoto sollte nun direkt in mtPaint geöffnet sein. Wer nur an einem Vollbild interessiert war, kann jetzt schon zu “Datei -> Speichern als” springen und den gewünschten Dateityp wählen. Anderenfalls könnt ihr jetzt noch einen Teil des Bildes ausschneiden. Dadurch wird die Bilddatei auch kleiner, was Bandbreite spart und Ladezeiten von Webseiten verbessert.

      Um das Objekt zu markieren, wählt ihr das Auswählen -Werkzeug. Damit lässt sich z.B ein Rechteck um das mtPaint-Programm ziehen, welches für dieses Beispiel im Fokus stehen soll.

      Für mich ging es am schnellsten, wenn man mit dem Auswahl-Werkzeug an der rechten unteren Ecke des Programmfensters beginnt, ein Rechteck beliebiger Größe aufzieht und an der gegenüberliegenden oberen linken Ecke, es auf die perfekte Größe zieht. Hat man die passende Auswahl gefunden, genügt das Drücken der Entf-Taste, um den Bildbereich auszuschneiden.

      Details hervorheben

      Shutter bietet z.B. die Möglichkeit eine elliptische Auswahl um einen Teilbereich zu ziehen, der dadurch besser visualisiert wird. Mit mtPaint lässt sich das ganz leicht so machen:

      Benutzt wieder das Auswahl Werkzeug, umrandet den zu markierenden Bereich und klickt auf Ellipse-Umriss .

      Die Strichstärke und die Farbe lässt sich links in der Palettenvorschau verändern. Das rote Quadrat repräsentiert Farbe A (rot), das zweite Quadrat Farbe B (blau), das rote Rechteck das Muster (keines) und der weiße Kreis die Größe und Form des Pinsels und in diesem Fall die Strichstärke unserer Ellipse.

      Text schreiben

      Mit Hilfe des Textwerkzeuges lässt sich noch ein erläuternder Text schreiben. Für mein Beispiel habe ich als Schriftart “Sans” und Schriftgröße “20″ gewählt. Nicht vergessen die “Antialias”-Checkbox für ein besseres Schriftbild zu selektieren (existiert nur bei Bildern im RGB-Format). Bei gedrückter linker Maustaste lässt sich die Textbox verschieben, ein Klick auf die rechte Maustaste fixiert den Text an der Stelle. Dieser Vorgang kann mehrmals wiederholt werden.

      Eine gerade Linie ziehen

      Schließlich lässt sich noch der Text und das mit der Ellipse umrandete Objekt mit einer geraden Linie verbinden, wozu ihr dieses Werkzeug braucht. Der Vorgang ist selbsterklärend. Anfangs- und Endpunkt bestimmen und mit Hilfe der Palette Farbe und Strichstärke festlegen.

      Optional: Bild skalieren

      Lässt sich im Menü unter Bild -> Größe der Zeichenfläche ändern einstellen oder mit der Taste Bild nach oben.

      Fazit

      Sowohl Shutter als auch GIMP hätten das Problem lösen können. Ich denke der Vorteil von mtPaint ist, dass es sich universell auf nahezu jedem Computer, der in den letzten 15 Jahren verkauft wurde, einsetzen lässt. Für eine leichtgewichtige Desktoplösung oder für Rechner mit begrenzten Ressourcen ist es eine gute Wahl und für all diejenigen, die nur alltägliche Aufgaben mit ihrem Bildbearbeitungsprogramm erledigen wollen, eine gute Alternative. Darüber hinaus bietet es noch die Arbeit mit Ebenen und eine Reihe von Effekten an. Hier aber ins Detail zu gehen, würde den Rahmen der Anleitung sprengen.

      Ergebnis

      Links

      mtPaint Dokumentation (Englisch)
      mtPaint Blog mit Tutorials, Beispielen, Tricks&Tipps (Englisch)
      Lubuntu Screencast: mtPaint create Wallpaper (Englisch)
      Lubuntu Screencast: mtPaint Basics (Englisch)

      Vor einiger Zeit bin ich auf einen Arch Linux ARM-Port für das Touchpad gestoßen. Ein “richtiges” Linux-Betriebssystem auf dem Tablet also, ohne mit irgendwelchen Apps hantieren zu müssen. Da mir das im Dualboot neben webOS derzeit installierte Cyanogenmod nicht wirklich gefällt, habe ich mich dazu entschlossen, es durch das derzeit in der zweiten Alpha befindlichen Arch zu ersetzen.

      Übrigens gibt es mittlerweile auch Ubuntu fürs Touchpad, aber der Arch-Port erschien mir ausgereifter und besser Dokumentiert. Vielleicht teste ich das Ubuntu mal in einem anderen Beitrag.

      Installation

      Wenn man wie in meinem Fall schon Cyanogenmod o.ä. installiert hat, sollte man dieses vorher entfernen (z.B. mit dem webOS Doctor; wie vollkommen richtig angemerkt in den Kommentaren angemerkt wurde, kann man natürlich auch einen Tripleboot einrichten, wenn man denn weiß wie). Auch möchte ich darauf hinweisen, dass man mit der Installation von alternativen Betriebssystemen auf den Touchpad vermutlich seinen Garantieanspruch verliert.

      Die Anweisungen zur Installation finden sich auf der Github-Seite des Ports in der Installation.md-Datei. Ich werde aus Akutalitätsgründen nur einen Teil des Installationsvorgangs beschreiben.

      Zuerst muss man in der “Einfach Lostippen”-Suchbox den Text webos20090606 eingeben. Dann wählt man den erscheinenden Developer Mode aus und bestätigt die Passwortabfrage, ohne eines einzugeben. Das war es auf dem Touchpad auch schon, nun steckt man das Touchpad per USB an einen gewünschten PC ein.

      Als nächstes braucht man ein kleines Programm namens novacom, welches Teil des webOS-SDK ist. Für Ubuntu/Debian gibt es auf der Download-Seite entsprechende Pakete, davon braucht man ausschließlich Novacom, den Rest kann man übergehen.

      Für andere Linux-Distributionen sieht es leider schlecht aus, man kann jedoch das Debian-Paket herunterladen und von Hand entpacken (die benötigten Binarys sind unter ./opt/Palm/novacom/). Für Windows und Mac gibt es Novacom soweit ich weiß nicht extra, sehr praktisch ist aber auch der universal-novacom-installer, welcher bei mir zumindest unter Windows prima funktioniert hat.

      Nachdem man Novacom installiert hat, muss man das beigelegte novaterm starten. Mit diesem erhält man direkten Zugriff auf das Linux des Touchpads mit Root-Rechten. Nun muss man eine ganze Reihe von Befehlen eingeben, die man unter oben verlinkter Installation.md-Datei findet. Es gibt schon genug veraltete Anleitungen im Internet, von daher verzichte ich darauf diese hier zu kopieren.

      Nur eine Anmerkung zur Partitionierung: Den Wert, den man bei ****M eintragen muss, bezeichnet die neue größe der Medien-Partition von webOS.

      Hat man die Befehle alle durch, kann man im Bootmenü mit den Lauter/Leiser-Tasten Arch Linux auswählen und mit dem Home-Button bestätigen.

      Das System

      Das System startet sehr schnell, weitaus schneller als webOS. Man wird direkt eingeloggt, die Passwörter sind zudem auch nicht gerade vorbildlich gewählt (linux/linux, root/root), wer den Zugriff also beschränken möchte, muss hier nochmal nachhelfen.

      Arch Linux für das Touchpad kommt Standardmäßig mit Gnome 3. Die Gnome-Shell hingegen wird nicht mitgeliefert, der Desktop erscheint in einem Gnome 2-ähnlichen Look. Der Mauszeiger wird übrigens nicht dargestellt und wird aus welchen Gründen auch immer nur auf Screenshots angezeigt.

      Arch Linux ARM Desktop

      Die Desktopumgebung

      Als erstes wollte ich nun die Verbindung zu meinem W-Lan herstellen. Dazu wird Wicd als Netzwerkmanager mitgeliefert, welcher mir trotz keine 2 Meter Entfernung nur eine Signalstärke von 58% bescheinigt. Reicht für mich aus, aber zu weit vom Router entfernen kann man sich derzeit noch nicht.

      Die Eingabe von Texten ist nicht wirklich optimal. Die Bildschirmtastatur muss man von Hand starten, und hält sich auch nicht automatisch im Vordergrund, besonders aufgrund der fummeligen Größenänderung von Fenstern ein Problem. Zudem sind die Tasten deutlich zu klein und nicht für größere Hände geeignet, ich habe mit ständigen Vertippern zu kämpfen. Immerhin das Menü zum starten von Anwendungen bereite mir keine Probleme, man findet die gewünschten Programme dank Kategorien weitaus schneller als unter webOS oder Android und eine Falschauswahl ist dank Umrahmung quasi unmöglich.

      Die Software

      Im Lieferumfang befinden sich die üblichen Gnome-Standardprogramme: Epiphany, Empathy, Evolution, Nautilus und Totem, ein extra Musikabspielprogramm fehlt aber ganz.

      Bevor man großartig Software installiert, sollte man erstmal ein Update durchführen. Das geht unter Arch Linux als root mit einem pacman -Syu. Wer neu bei ArchLinux ist, dem lege ich mal den Wiki-Artikel über pacman ans Herz.

      Die verfügbare Software fürs auf der ARM-Architektur basierende Touchpad ist natürlich deutlich niedriger als für normale, x86-basierte PCs. Gerade Nischenprogramme wird man höchstwahrscheinlich nicht vorfinden, selbst wenn einige Programme verfügbar sind, heißt das noch lange nicht das sie einwandfrei funktionieren. Ist eben einfach alles noch Alpha und nicht gerade erprobt.

      So findet man Chromium unter dem Namen chromium-dev, was vermutlich darauf hinweisen soll dass es sich um eine sehr instabile Entwicklerversion handelt (lief bei mir aber in einem kurzen Test ohne Probleme). Firefox gibt es erst garnicht.

      Flash steht auch zur Installation bereit, komischerweise funktioniert das aber weder mit Epiphany noch mit Chromium. Dokumentation habe ich dazu keine gefunden und laut dem Wiki reicht es unter einem normalen Arch auch aus, das flashplugin-Paket zu installieren. Auf Handarbeit habe ich aufgrund von Touch-Bedienung wenig Lust, von daher belasse ich es vorerst dabei, dass Flash nicht verfügbar ist. Wäre aber ein großer Pluspunkt, den ich auch an webOS sehr schätze. Ja, generell hasse ich Flash, aber ein Tablet ist einfach super zum Konsumieren von Medien und da wird eben leider sehr oft auf Flash gesetzt.

      Arch Linux ARM Flash

      Flash? Fehlanzeige

      Zur Installation von Software kann man übrigens auch den Grafischen Paketmanager gnome-packagekit nachinstallieren, welches sich mit dem Finger deutlich besser bedienen lässt als pacman über die Kommandozeile.

      Schattenseiten

      Auch wenn alles bisher recht stabil läuft, es ist eben eine Alpha-Version, und das aus gutem Grund. Eben wollte ich sehen, ob Multitouch funktioniert. Gibt zwar keine mir bekannten Programme mit dem man das vernünftig testen kann, aber der Versuch bei geöffnetem Chromium zwei Eingaben gleichzeitig zu tätigen, endete damit, dass Chromium den Fokus nicht mehr hergab und sich selbst auch nicht mehr bedienen lies. Half nur noch ein hartes Ausschalten durch das gleichzeitige drücken und halten von Power & Home.

      Die Hardware wird bisher längst nicht vollständig unterstützt. So funktioniert weder die Kamera, noch Audio oder Bluetooth. Auch die Grafikbeschleunigung ist derzeit nicht vorhanden, was der Grund für das fehlen der Gnome Shell ist. Hier kann man aber in künftigen Versionen mit Abhilfe rechnen, spätestens wenn HP den Quellcode für webOS veröffentlicht, dürfte die Hardwareunterstützung kein Problem mehr sein (falls das denn jemals geschieht).

      Das Ab- und Anmelden ist derzeit noch unmöglich: Man landet in einem LXDM-Anmeldebildschirm, jedoch ohne eine Bildschirmtastatur. Bleibt einem folglich nichts anderes als ein hartes Ausschalten übrig.
      Update: Das gleiche Problem besteht auch bei einem gesperrten Bildschirm, was nach ein paar Minuten automatisch geschieht, solange man das nicht deaktiviert.

      Fazit

      Wirklich tauglich ist Arch Linux ARM auf dem Touchpad bisher noch nicht. Die Bedienung ist zu kompliziert, die Hardware ist zu eingeschränkt. Im Grunde habe ich auch nichts anderes erwartet, wer also gerne herumexperementiert, wird hier sicher seine Freude haben. Denn immerhin hat mich nichts wirklich frustriert, da das Grundsystem doch überraschend stabil scheint. Ob das denn wirklich so ist, kann man natürlich erst im Langzeittest sagen, und da die Entwicklung sehr schnell voran geht, rechne ich damit dass sich die Situation nicht wirklich verschlechtern wird.

      Im Software-Bereich gibt es derzeit keine wirklichen Vorteile gegenüber webOS. Die Programme sind kaum angepasst und umständlich zu bedienen, den einzige Vorteil sehe ich in den verfügbaren Browsern. Mit dem Standardbrowser von webOS hatte ich desöfteren Darstellungsprobleme oder es haben mich die mangelhaften Anpassungsmöglichkeiten gestört (so lässt sich z.B. der User Agent nicht anpassen, sodass viele Webseiten mobile Versionen anzeigen). Mangels Flash hält sich der Vorteil aber auch in Grenzen.

      Wer also sein System einfach nur benutzen möchte, ist mit webOS derzeit noch besser dran. Das dürfte sich in Zukunft aber ändern, da sich Arch Linux anders als Andorid und webOS nicht das App-Modell zu eigen gemacht hat und deshalb die vollen Möglichkeiten bietet und quasi jedes beliebige Programm ausführen kann, sofern es für die Architektur erhältlich ist.

      So könnte ich mir gut vorstellen, dass man in Zukunft unter Arch Linux ein Android in einer virtuellen Maschine starten kann und dann auch Android-Apps nutzen kann. Es bleibt jedenfalls spannend um das schon mehrfach für tot erklärte HP Touchpad. :)

      Programme und Service, die während des Bootvorgangs gestartet werden, können entweder über die rc.local oder via Runlevel definiert werden. Software mit grafischer Oberfläche und Anwendungsprogramme, die erst nach dem Login des Users starten sollen, werden über die systemeigene Autostart Funktion gesteuert.

      Unter /etc/xdg/autostart liegen verschiedene .desktop Konfigurations Dateien, in denen die automatisch zu startenden Programme definiert sind.
      Die genaue Funktionsweise und Syntax ist hier beschrieben. Falls ein Programm den sauberen Start von Gnome verhindert, könnte man die .desktop Konfigdatei entfernen und somit den Autostart verhinden.

      Sowohl bei Linux Mint als auch bei Ubuntu wird eine grafische Oberfläche zur Konfiguration der Autostart Programme mitgeliefert. Bei Linux Mint kann man das Einstellungsfenster via Alt+F2 (öffnet das Befehlsfenster) und dann “gnome-session-properties” eingeben oder im Menü nach “Startup Applications” suchen. Standardmäßig werden hier die meißten Programme und Dienste ausgeblendet, entweder man konfiguriert den Autostart via Kommandozeile oder man ändert in den oben erwähnten .desktop Files die Zeile NoDisplay=true in NoDisplay=false, anschließend werden alle Einträge im “Startup Applications Preferences” Fenster angezeigt.

      Folgende Zeile ändert in allen .desktop Files den Wert NoDisplay=true in false.

      sudo sed -i 's/NoDisplay=true/NoDisplay=false/g' /etc/xdg/autostart/*.desktop
      

      Durch das Entfernen nicht benötigter Einträge im Autostart Menü lässt sich der Systemstart je nach Hardware deutliche beschleunigen. Vor einer Änderung bei den “Startup Application Settings” macht es Sinn, den gesamten /etc/xdg/autostart Ordner zu sichern.

      Weiterführende Informationen zur Autostartfunktion findet man im Ubuntuusers Wiki

      Screenshot: Anzeige aller Autostart Programme in Linux Mint
      Startup Preferences