ubuntuusers.de

8. Dezember 2010

Es ist jetzt schon eine weile her als ich das letzte mal etwas über Darktable geschrieben habe. Unterdessen ist die Entwicklung weit fortgeschrittenen. Es ist also Zeit wieder mal ein genaueren Blick darauf zu werfen.

Die auffälligste Änderung zu der Version 0.5 welche ich schon früher mal etwas genauer angeschaut habe findet sich im Entwicklungsmodul. Die verschiedenen Einstellungen sind jetzt gruppiert worden und nicht mehr einfach in einer lange Liste, dass macht die Arbeit schon um einiges übersichtlich.

Aber bevor ich weiter schreibe lasst uns doch mal meine Kritikpunkte vom Letzten Beitrag anschauen und sehen was sich da geändert hat. [stextbox id="grey"]1. Das Crop Plug in: Nun ist es möglich die Grösse und die Bildrotation einfach zu ändern.
2. Export Ort: Der Exportort kann nun selber bestimmt werden
3. Keine RGB Manipulation Kurven Werkzeug: Leider immer noch keine Möglichkeit die RGB Kurven direkt zu bearbeiten
4: Sidecar files sind nicht xmp. Die Sidcar files sind nun xmp[/stextbox]

Ja da hat sich doch einiges getan. So Schauen wir uns mal die, für mich wichtigsten neuen Plug ins an.

1. Das Zone System Plug In. Dieses baut auf dem Zonensystem von Ansel Adams auf. Dabei wird das Foto für die Bearbeitung in elf Belichtungszonen unterteilte. Diese Zonen können nun mittels eines Schiebers manipuliert werden. Ein Klasse Plugin gefällt mir sehr gut

Zonen

2. Das GND Plug In GND steht für Graduatet Neutral Density, was ein einfacher Verlaufsfilter ist. [stextbox id="grey" caption="Aus Wikipedia"] Grauverlauffilter oder GND-Filter (aus dem Englischen graduated neutral density filter) werden häufig in der Landschaftsfotografie eingesetzt, um eine Überbelichtung des Himmels bei korrekter Belichtung des Bodens zu vermeiden.[/stextbox] Damit ist auch schon alles über das Plug In gesagt für mich ein muss in der Digitalenbildbearbeitung. Beim Beispielbild habe ich die Bearbeitung etwas übertrieben damit man den Effekt auch gut sehen kann

3. Ein Wasserzeichen Plug damit könnt Ihr euer Fotos vor Diebstahl im Internet schützen. Offen gesagt ist es für mich nicht so wichtig, aber viele Fotografen wollen es halt haben. Wie man das Logo auswechselt habe ich noch nicht ausprobiert und da ich es selber nicht benutzen werde habe ich mich damit auch nicht näher befasste. So schaut dann das Foto mit dem Wasserzeichen aus.

Das Bildverwaltungmodul von Darktable habe ich noch nicht so genau angesehen und kann darüber noch nichts Schreiben,  aber wer mehr darüber erfahren möchte kann sich ein paar Screen Cast auf the p-Code Machine ansehen.  Da sind auch noch weiter filme vorhanden die die Bedienung von Darktable erklären. Wer Darktable mal ausprobieren möchte kann sich die Software mittels eines PPA installieren. Es werden 2 Verschieden PPA angeboten ein Stabel und eine Unstable Entwicklerversion.
[stextbox id="warning" caption="Hinweis!"]Zusätzliche Fremdquellen können das System gefährden[/stextbox]

Meine “Wünsche” für die Zukunft sind ein Plug In, um Sensorstaub und Flecken im Foto wegzustempeln und dass die Software noch schneller wird. Im Moment ist die Bedienung  auf einem etwas älter Computer noch etwas zäh.

Ich muss sagen für die Raw Bearbeitung hat man unter Linux unterdessen eine weite Wahl von  Software. Angefangen mit dem “Klassiker” UFRAW über RawTherapee welcher bald wohl in der überarbeitetn Version 3 vorliegt, Darktable und nicht zu vergessen RawStudio und auch das junge Projekt von Photivo. Damit sollte für jeden Geschmak etwas dabei  sein.

Leider zeichnet sich aber immer mehr ab das Gimp etwas zu Flaschenhals der Bildbearbeitung unter Linux wird. Es fehlt doch an einigen Sachen, wie z.B Einstellungsebenen, bessere Vorschauen für die Filter. Gimp sollte auch sorgsamer mit den  Exif und IPTC Daten umgehen  und die Geschwindigkeit im allgemeinen könnte besser sein (16bit und CMYK sind bei mir nicht so wichtig) .  Leider geht die Entwicklung und Integration von GEGL, welches die meisten Probleme von Gimp lösen könnte,   auch nur zögernd voran wie man hier (ganz unten) nachlesen kann.

Fünf lange Jahre sind vergangen seit ich mich aus dem rostigen Käfig meines Windows XP in die Freiheit die man Linux nennt begeben habe. Seitdem hatte ich mit Endnutzer-Lizenzvereinbarungen kaum etwas zu tun. Solange Java noch nicht geöffnet war musst eine Lizenz akzeptiert werden und auch OpenTTD wies darauf hin, dass man im Besitz des Originalspiels sein musste, da technische Abhängigkeiten zu ein paar der originalen Grafikdateien bestanden. Die EULAs, die in diversen virtuellen Maschinen weggeklickt werden mussten, oder die manchmal von in wine installierten Programmen angezeigt wurden sind meiner Ansicht nach vernachlässigbar.

Heute habe ich jedoch nicht schlecht gestaunt, als mir bei einem einfachen System-Update bei dem auch das Paket ttf-mscorefonts-installer aktualisiert wurde plötzlich diese EULA der relativ unbekannten Firma "Microsoft" angezeigt wurde:

MS EULA auf Ubuntu
Klick auf den Ausschnitt um das ganze Bild zu sehen.

Nun ist es selbstverständlich Microsofts gutes Recht eine solche Lizenzvereinbarung vorzugeben wenn man ihre Software benutzen möchte. Wenn. Ein ‘no’ und ein im Terminal eingegebenes

sudo apt-get purge ttf-mscorefonts-installer

später erkennt man, dass das Paket, welches zwar als Abhängigkeit (lt. Synaptic) von wine1.*, *ubuntu-restricted-extras und openoffice.org, um nur ein paar zu nennen, installiert wird, keinen weiteren Nutzen mit sich bringt. So ist es eben 1.) nur ein Installer und 2.) installiert es nur einen kleinen Haufen Schriftarten von denen die Wichtigsten ein Gegenstück im Paket ttf-liberation finden (z.B.: Arial, Times und Courier).

Natürlich bleibt Jedem die Freiheit diese EULA zu akzeptieren und unbeschwert das eigene Leben fortzusetzen. Den Anderen schlage ich vor einfach die oben beschriebenen Schritte durchzugehen.

[UPDATE]

Nachdem mich ein Kommentar darauf aufmerksam gemacht hat, dass durch das Verzichten auf die bei den mscorefonts enthaltenen Schriftarten Kompatibilitätsprobleme mit anderen Nutzern/Programmen auftreten können die z.B. auf Windows laufen, habe ich mir überlegt, dass die Schriftarten ja auch anders zu bekommen sein müssen. Die EULA muss nämlich nicht für die Schriftarten akzeptiert werden, sondern für den Installer. Die Verwendung der Schriftarten ist jedoch für jeden frei:

These fonts were provided by Microsoft "in the interest of cross-platform compatibility". This is no longer the case, but they are still available from third parties.
You are free to download these fonts and use them for your own use, but you may not redistribute them in modified form, including changes to the file name or packaging format.
Auszug aus dem Text des Install-Skripts.

Mit dem Befehl

apt-get source ttf-mscorefonts-installer

laden wir uns das Install-Skript herunter. Dabei wird es gleich entpackt und wir wechseln mit

cd msttcorefonts-3.2ubuntu2

in das neu erstellte Verzeichnis. Abhängig von der aktuellsten Version des Installers kann dieses Verzeichnis anders heißen. Hier finden wir die Datei update-ms-fonts welche die Schriftarten herunterlädt. Da die Datei unter der GPLv2 steht darf sie verändert und so weiterverbreitet werden. Die Datei löscht nämlich die Schriftarten sofort, wenn irgendetwas schief läuft. Wir wollen sie aber nur als Downloader verwenden, um die Installation kümmern wir uns selbst. Dazu müssen wir die Datei mit einem Editor öffnen.

Nahezu am Ende der Datei steht folgender Eintrag:

rm -rf $SCRATCHDIR

Dieser Befehl löscht nach Ablauf des Skriptes den Ordner mitsamt der Schriftdateien. Deshalb stellen wir ein # an den Anfang der Zeile, sodass sie danach so aussieht:

#rm -rf $SCRATCHDIR

Das verhindert die Auführung des Befehls, sprich: die Dateien bleiben nach Ablauf des Skripts erhalten. Am Besten schreibt man danach noch diesen Befehl in das Skript:

echo "SCRATCHDIR: "$SCRATCHDIR

Dieser Befehl gibt das Verzeichnis aus in welches die Schriftdateien heruntergeladen wurden. Jetzt speichern wir die Datei und führen sie in einem Terminal aus:

./update-ms-fonts

Gegen Ende des Skriptes kommt dann in etwa folgende Ausgabe:

SCRATCHDIR: /tmp/ttf-mscorefonts-installer.nnKObt

der Teil /tmp/ttf-mscorefonts-installer.nnKObt ist dann unser gesuchter Ordner und wir wechseln mit

cd /tmp/ttf-mscorefonts-installer.nnKObt

in denselben. Hier finden wir einen Haufen von *.exe-Dateien welche wir mit

cp *.exe <IrgendeinVerzeichnis>

in einen Ordner unserer Wahl kopieren. (Z.B. das Download-Verzeichnis im /home-Ordner.) Hier rufen wir das Programm cabextract auf:

cabextract *.exe

welches uns die ‘.exe-Dateien entpackt und die eigenlichen Schriftdateien preis gibt. Wenn es noch nicht installiert ist, kann cabextract ganz einfach mit

sudo apt-get install cabextract

oder über Synaptic installiert werden. Als Letztes führen wir noch folgenden Befehl aus um die Rechte der Dateien zu korrigieren:

chmod 644 *.ttf *.TTF

Nun können wir die Schriftarten ins System einbinden. Unter KDE funktioniert dies in folgender Weise: alt+F2 drücken, systemsettings eingeben und mit <Enter> bestätigen. Im neuen Fenster ganz unten, im Abschnitt Systemverwaltung, findet sich der Punkt Schriftarteninstallation. Diesen öffnen wir.

Daraufhin verändert sich das Fenster und wieder ganz unten finden wir eine Schaltfläche Hinzufügen auf welche wir klicken. Daraufhin öffnet sich ein Dialog welcher uns fragt in welchem Verzeichnis die Schriftdateien liegen die wir installieren wollen. Hier suchen wir uns den Ordner in welchen wir zuvor die *.exe-Dateien kopiert und entpackt haben. In dem Ordner werden uns ein Haufen *.TTF-Dateien angezeigt. Wir markieren all die Dateien die wir installieren möchten und klicken auf Öffnen. Dann werden wir noch gefragt, ob die Schriften nur für diesen Nutzer, oder systemweit installiert werden sollen. Wenn es keinen Grund dagegen gibt empfehle ich, die Schriftarten systemweit zu installieren.

Eventuell ist die eine oder andere Schrift bereits installiert, dann kann man einfach auf überspringen klicken, sofern ein solcher Dialog bei der Installation angezeigt wird.

Voila, die Schriftarten sind installiert ohne die EULA akzeptiert oder irgendetwas Illegales getan zu haben. Danke GPL!

[/UPDATE]

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.

=-=-=-=-=
Powered by Blogilo


Einsortiert unter:Computer, GNU/Linux, Microsoft, Ubuntuusers

Vor einer Weile hatte ich mal nachgefragt, ob denn Interesse an dem Installationsscript besteht, dass ich mir hier zusammen gestellt habe. Sinn und Zweck des ganzen ist es einfach, dass man nach einer Ubuntu-Neuinstallation mit einem Script die Software installieren kann, die man immer installiert ohne viel tippen oder ewig in Synaptic oder dem Software Center rumklicken zu müssen. Außerdem übernimmt das Script auch gleich das hinzufügen von Fremdquellen wie Medibuntu oder diversen PPAs. Hier sei mir noch der Hinweis gestattet, das Fremdpakete das System gefährden können. Mehr dazu im Wiki von ubuntuusers.de.

Da ich das Talent habe, nach einer Neuinstallation immer das eine oder andere Programm zu vergessen, spart mir dieses Script auch den Frust später Software installieren zu müssen, an die man eigentlich hätte denken müssen. Im Prinzip ist das ganze nichts anderes als eine Auflistung von Befehlen, die nacheinander abgearbeitet werden ohne dass bei jedem Befehl abgefragt wird, ob ich das wirklich möchte. Ich habe mich aber dagegen entschieden, mein Script einfach online zu stellen, sondern hier einen Beitrag mit ein paar Beispielen dazu zu schreiben. Ein Blick in den Bash-Skripting-Guide für Anfänger im Ubuntuusers-Wiki lohnt sich allerdings.

Das Script kann mit einem x-beliebigen Texteditor erstellt und bearbeitet werden. Ich nutze dafür gerne gedit, das standardmäßig mit Ubuntu installiert ist. Bei der Vergabe des Dateinamens dürfen keine Sonderzeichen verwendet werden und es sollte nicht wie ein gängiger Befehl heißen. Prüfen kann man das mit dem Befehl which Scriptname. Ausführbar macht man die Datei mit dem Befehl chmod +x /pfad/zum/Script/Scriptname, ausführt wird es mit ./Scriptname.

Vor den einzelnen Ausgaben kann man einen kleinen erklärenden Kommentar setzen, die das ganze übersichtlicher machen. Dazu setzt man am Anfang der Zeile einfach ein #-Zeichen. Zeilen, die so beginnen werden von der Bash ignorniert.

Mit der ersten Zeile des Scripts legt man Fest, mit welcher Shell das Script ausgeführt werden soll:

#!/bin/bash

Am Anfang soll geprüft werden, ob das Script auch mit root-Rechten ausgeführt wird. Erfüllt man diese Rechte beim Starten des Scriptes nicht, wird es einfach beendet. Das kann man mit folgendem Befehl abfragen:

# Check for admin rights
uid=$(/usr/bin/id -u) && [ "$uid" = "0" ] || { echo "You need to be root to run this script! Exiting.."; exit 1; }

Als nächstes kann man prüfen lassen, ob vielleicht noch ein anderes Programm läuft, dass das Ausführen des Scripts verhindert. Das können zum Beispiel Synaptic oder das Software-Center sein.

# Check if there are applications running which can interfere with the script
sleep 1
for lock in synaptic update-manager software-center apt-get dpkg aptitude
do
if ps -U root -u root u | grep $lock | grep -v grep > /dev/null;
       then
       echo "Installation won't work. Please close $lock first then try again.";
       exit
fi
done

Als nächstes sollen die Paketquellen aktualisiert und eventuelle Updates installiert werden. Hinterher wird aufgeräumt.

# Update the system sources and software
apt-get clean
apt-get update
apt-get --yes upgrade
apt-get --yes dist-upgrade
apt-get clean

Das --yes ist dafür zuständig, dass die Frage, ob man das auch wirklich machen möchte, gleich automatisch beantwortet wird. Je nach verwendeter Shell muss stattdessen --force-yes verwendet werden.

Als nächstes kann man einzelne Paketquellen hinzufügen lassen, bzw. auch gleich Pakete installieren. Bei mir fange ich dort mit Medibuntu an:

# Medibuntu
wget --output-document=/etc/apt/sources.list.d/medibuntu.list http://www.medibuntu.org/sources.list.d/$(lsb_release -cs).list && apt-get --quiet update && apt-get --yes --quiet --allow-unauthenticated install medibuntu-keyring && apt-get --quiet update

Dieser Befehl fügt die Paketquellen hinzu und installiert den Keyring.

Mit

apt-get --yes install app-install-data-medibuntu apport-hooks-medibuntu

werden Pakete installiert, die die in Medibuntu vorhandenen Pakete zum Software-Center hinzufügen und es erlauben an den Bugtracker des Projektes Fehler zu melden.

Zum Schluss werden dann die Pakete installiert, die man gerne haben möchte:

apt-get --yes install w32codecs libdvdcss2

In meinem Fall sind das die w32codecs und die libdvdcss2.

Beim Installieren mit der Desktop-CD kann man seit Ubuntu 10.10 auch mp3, Java. Flash etc. bei der Ubuntu-Installation über ein Metapaket mit installieren lassen. bei mir funktionierte dies allerdings nicht, also habe ich den Befehl dafür auch noch mit in das Script geschrieben:

# restricted extras (mp3, flash, etc.)
apt-get install ubuntu-restricted-extras

Als nächstes kann man die Paketquelle für Opera zur sources.list hinzufügen und das Paket installieren:

# Opera Stable Releases
sh -c 'echo "deb http://deb.opera.com/opera/ stable non-free" >> /etc/apt/sources.list.d/opera.list'
wget -O - http://deb.opera.com/archive.key | apt-key add -
apt-get update
apt-get --yes install opera

Als nächstes soll Google Chrome (32-bit) hinzugefügt werden:

# Google Chrome
wget https://dl-ssl.google.com/linux/direct/google-chrome-stable_current_i386.deb && dpkg -i google-chrome-stable_current_i386.deb && rm google-chrome-stable_current_i386.deb

Hier wird das Paket direkt vom Server geholt, installiert und die deb-Datei anschließend wieder von der Festplatte entfernt. Die Paketquelle wird während der Installation automatisch hinzugefügt. Für die 64-bit-Version muss der Befehl entsprechend angepasst werden.

Bei Dropbox ist das ganze ein wenig umständlicher, da das über wget heruntergeladene Paket komisch benannt wird. Deswegen wird im Befehl vorgegeben, wie die heruntergeladene Datei heißen soll:

# Dropbox
wget -O nautilus-dropbox_0.6.7_i386.deb "https://www.dropbox.com/download?dl=packages/nautilus-dropbox_0.6.7_i386.deb" && dpkg -i nautilus-dropbox_0.6.7_i386.deb && rm nautilus-dropbox_0.6.7_i386.deb

Auch hier wird das Paket nach dem Installieren wieder von der Festplatte entfernt. Die Paketquelle wird automatisch hinzugefügt. Auch hier handelt es sich wieder um die 32-bit-Version. Für 64-bit-Systeme muss der Befehl entsprechend angepasst werden. Nachdem nautilus-dropbox installiert wurde meldet sich das System und möchte nautilus neu gestartet haben. Außerdem erscheint dann der Installationsdialog für den Dropbox-client.

Ein PPA auf Launchpad möchte ich hier am Beispiel von Shutter hinzufügen. ppa:shutter/ppa muss gegen das jeweils gewünschte PPA ausgetauscht werden. Wie das PPA heißt findet man auf der jeweiligen Seite bei Lanchpad unter dem Punkt “Adding this PPA to your system” (Screenshot).

# Shutter
add-apt-repository ppa:shutter/ppa
apt-get update
apt-get --yes install shutter

Als zweites PPA-Beispiel hier noch das Equinox-Theme und die Faenza-Icons:

# Equinox-Theme and Faenza-Icons
add-apt-repository ppa:tiheum/equinox
apt-get update
apt-get --yes install equinox-theme equinox-ubuntu-theme faenza-icon-theme

Auch aus den offiziellen Paketquellen sollen noch ein paar Programme installiert werden. Diese fügt man auch einfach in das Script hinzu:

# Pidgin
apt-get --yes install pidgin
# Xchat
apt-get --yes install xchat
# Thunderbird
apt-get --yes install thunderbird thunderbird-locale-de thunderbird-gnome-support

Zum Abschluss möchte ich noch vorinstallierte Pakete wieder loswerden. Da ich für Instant Messaging Pidgin verwende benötige ich Empathy nicht. Bei vorinstallierten Programmen muss man ein bisschen aufpassen, dass man nicht Pakete deinstalliert, die von wichtigen anderen Paketen abhängen. Soweit ich sehen konnte kann man Empathy-Pakete problemlos deinstallieren:

# Removing Empathy
apt-get --yes remove empathy nautilus-sendto-empathy empathy-common

Am Ende des Scripts soll noch einmal nach Updates gesucht und ein wenig aufgeräumt…

# Check for updates again and cleanup after install
apt-get update
apt-get --yes upgrade
apt-get --yes dist-upgrade
apt-get clean

…und das Script beendet werden

exit

Damit man sich das ganze noch mal übersichtlicher ansehen kann habe ich die Beispiele mal in einer Beispieldatei zusammen gefasst.

Wie man sieht ist das lediglich eine Sammlung von Befehlen, die das Nachinstallieren von Software in einer frischen Ubuntu-Installation in meinen Augen schon sehr erleichtern und auch ein bisschen Zeit sparen. Ich hoffe der eine oder andere kann damit ein bisschen was anfangen.

Wer so etwas grafisch zum klicken möchte sollte mal bei webupd8.org vorbei schauen. Dieses Script ist allerdings für Ubuntu 10.04 Lucid Lynx erstellt und ich habe es nicht ausprobiert. Außerdem braucht man da erweiterte Kenntnisse in Sachen Bash-Skripting um sich dieses Script anzupassen.

Auf einem Ubuntu 10.04 (minimal) System hatte ich Probleme mit den Locales. Das äußerte sich z.B. bei einem svn update:
svn: warning: cannot set LC_CTYPE locale
svn: warning: environment variable LC_ALL is de_DE.utf8
svn: warning: please check that your locale name is correct
Die Lösung ist dazu ist glücklicherweise ganz einfach. Ein beherztes
locale-gen de_DE.UTF-8
im Terminal und schon funktioniert das ganze wieder :-)

Auf einem Ubuntu 10.04 (minimal) System hatte ich Probleme mit den Locales. Das äußerte sich z.B. bei einem svn update:

svn: warning: cannot set LC_CTYPE locale
svn: warning: environment variable LC_ALL is de_DE.utf8
svn: warning: please check that your locale name is correct

Die Lösung ist dazu ist glücklicherweise ganz einfach. Ein beherztes

locale-gen de_DE.UTF-8

im Terminal und schon funktioniert das ganze wieder :)

Erschrocken musste ich feststellen, das meine Festplatte im Tablet PC so langsam den Geist aufgibt. Aufgefallen war es beim kopieren einer größeren Datei, die massiv Lesefehler verursachte. Ach ja, am Sonntag früh hatte das booten länger als das Frühstück gedauert...  Das ist natürlich kein Zustand, deshalb musste eine SSD (Solid State Disc) her. Wenn mann keine allzu große Speichermengen benötigt, sind sie mittlerweile durchaus erschwinglich.

Ich habe mich für die ADATA S599 entschieden. Die Platte bekommt man mit 64GB für m die 100.- €

Allerdings gibt es bei den SSD so einiges beachten, schließlich sind SSD im Grunde genommen nur Flash Speicher, die sind nun mal nicht für unendlich viele Schreibvorgänge konzipiert.

Da wäre z.B. welches Dateisystem kann und sollte man verwenden, welche Optionen sind sinnvoll. Welche Bereiche gehören nach Möglichkeit nicht auf die SSD? Sollte man die SSD beim Partitionieren ausreizen, oder sollte man einen Bereich unpartioniert lassen? Welche Wear Leveling Technologie verwendet der Plattencontroller innerhalb der SSD?

Ich fange mal von hinten an.

Was ist überhaupt Wear Leveling?

Die geschriebenen Blöcke können in zwei Kategorien eingeteilt werden. zum Einen sind das Dateien, die sich selten oder nie ändern. Zum Beispiel Bilder, Filme oder Dateien vom Betriebssystem. Diese Blöcke, (für den Controller gibt es nur zu schreibene Blöcke, einzelne Bytes existieren in dieser Betrachtung nicht) werden geschrieben und liegen dann ewig im Speicher herum. Der interne Schreibcounter steht für diesen Block also für lange Zeit auf 1. Zum Anderen gibt es die Dateien, die sich häufig ändern, das sind zum Beispiel Textfiles, Logfiles, oder auch Status- Dateien usw. Diese Dateien, - besser die Blöcke, in denen diese Dateien residieren-, werden vom Controller anders behandelt. Wenn sich ein Block zum wiederholten Mal geändert hat, dann schreibt der Controller diesen geänderten Block an einen anderen Platz in der SSD auf einen Platz, der noch nie beschrieben worden ist. Das Ganze merkt sich der SSD-Controller in einer internen Übersetzungstabelle. Er würde, wenn man explizit diesen Block anfordert, z.B. mit einen dd Kommonado behaupten er liefere den Block von der Stelle, an der er zum allerersten Mal geschrieben worden ist, durch seine Tabelle liefert er natürlich aber den tatsächlichen Block, der physikalisch an einem ganz anderen Ort liegen kann.

Diese Mimik nennt der Hersteller Wear Leveling. Innerhalb dieser Strategie gibt es mehrere Varianten, schließlich haben unterschiedliche Firmen unterschiedliche Strategien. Der Controller sorgt also dadurch dafür, das die Blöcke gleichmäßig beschrieben werden und somit gleichzeitig altern. Jeder Block, der vom Betriebssystem jemals beschrieben wurde, gilt als belegt und der interne Schreibcounter geht um eins hoch.

Wenn man nun aber von vorn herein einen Bereich unpartitioniert gelassen hat, dann ist dieser Blockbereich für diesen Wear Leveling Mechanismus verfügbar und es dauert entsprechend lange, bis der Controller Blöcke benutzt, die bereits mehrfach beschrieben worden. Man verzögert also durch diese Maßnahme, den Zeitpunkt, an denen jeder Block eine gewisse Schreibzyklenanzahl überschritten hat. Die Flashzellen haben nämlich die unangenehme Eigenschaft, mit dem zunehmenden Schreibzyklen immer langsamer zu werden, sie altern.

Das beschreiben eines Blockes vom Betriebssystem hält der SSD Controller zwar fest, er kann jedoch nicht wissen, ob und wann dieser Block wieder freigegeben wurde. Denn die üblichen Filesysteme markieren Dateien, die nicht mehr benötigt werden nur als gelöscht, zwar auf gänzlich verschiedene Arten, aber es wird eben nicht der Block auf der Platte gelöscht.

Nun gibt es den neuen ATA Befehl TRIM. Der wird vom Linux Kernel ab 2.6.33 unterstützt. Bei Debian Kerneln ist auch der Kernel ab 2.6.32.5 gepatchet und kennt fortan den Befehl.E

Wenn jetzt das verwendete Filesystem bei löschen einer Datei das Kommando TRIM zum SD Controller sendet, kann der Controller ggfs. den betroffenen Block als wieder freigegeben markieren und im späteren Verlauf erneut allokieren.

Die Größe des Blockes, der einem Rutsch auf die SSD geschrieben wird ist vom Controller abhängig. Üblich sind 32K, wieviel es nun tatsächlich sind, steht nicht im Datenblatt und kann nur mit Benchmarks benchmarkreviews.com ausbaldovert werden.

Womit der nächste Punkt,

die Wahl des Dateisystems

eigentlich auch schon geklärt ist. Ext4 wird seit ein paar Kernelversionen als stabil  bezeichnet und bietet explizit die SSd Unterstüzung in Zusammenhang mit TRIM und  Block layer discard requests.

Sollte man die SSD beim Partitionieren ausreizen, oder sollte man einen Bereich unpartioniert lassen?

Um es kurz zu machen. Lässt man einen bestimmten Bereich unpartitioniert, dann kann sich das Betriebssystem auf den Kopf stellen, es wird nie diesen Bereich der SSD beschreiben können, sieht man vom mutwilligen Beschreiben auf das Raw Device mit dd einmal ab. Der Umkehr Schluss lautet also, dieser Bereich wird vorrangig vom SSD Controller für das Wear  Leveling benutzt werden. Meine SSD hat nun 64 GB, Es kursieren Empfehlungen einen Bereich von 10-20%  unpartitioniert zu lassen. Nun ich werde 14GB liegen lassen. Der Grund dafür ist noch einmal etwas weiter unten erläutert.

Vollverschlüsselung der SSD

Ich weiß selber nicht, ob ich mir da selber ein Ei lege. Der C'T Artikel SSD-verschlüsseln und auch hardwareluxx a-data-s599-was-kann-der-sandforce-controller erwähnen explizit die Sandforce Controller. Die haben nämlich eine sehr hohe Schreibrate, die vornehmlich durch Datenkompression erreicht wird. Verschlüsselte Daten sind aber nicht komprimierbar. Deshalb partitioniere ich nur 50GB der 64 GB Gesamtkapazität.

Weiterhin stellt sich die Frage, ob ich das bei der Erstellung der verschlüsselten Volumegroup durchgeführte beschreiben mit Zufallswerten nicht lieber abbrechen sollte, um so eine geringere Belastung zu erreichen. Ein brauchbarer Kompromiss wäre, das ich nur die /home Partition verschlüssele und das System ansonsten unverschlüsselt lasse.

Hier fehlt einfach die Erfahrung, vielleicht mache ich im ersten Schritt nur die Minimal Lösung mit verschlüsselter Home Partition.




Welche Bereiche gehören nicht auf einen ssd?

Das Runlevel System von Debian (andere Derivate und SysV kompatible natürlich auch) bieten die Möglichkeit in /etc/default/rcS diverse Einstellungen vorzunehmen.

Zwei interessante Möglichkeiten sind

RAMRUN=no
RAMLOCK=no

Die stehen per default auf no. RAMRUN betrifft die Dateien unter /var/run/ Dort sind nun nicht unbedingt viele Dateien gespeichert, allerdings sind es alles sehr kleine Dateien, die doch relativ oft upgedatet werden, damit sind sie prädestiniert für ein Filesystem im RAM. 

Die selben Argumente treffen auf RAMLOCK zu. Da handelt es sich um Dateien, die unter /var/lock/ gespeichert sind.

Ändert man die Parameter auf yes, werden vom nächsten Reboot an die beiden Verzeichnisse im RAM mittels tmpfs gehalten. Beide Verzeichnisse enthalten.

das Verzeichnis /tmp ist der Namensgeber für tmpfs, so nimmt es nicht Wunder, das man /tmp auch in der /etc/fstab zum tmpfs Filesystem erklären kann und damit seinem System u.U. erhebliche Writes ersparen kann.

Der folgende Eintrag in der /etc/fstab bewerkstelligt dies:

tmpfs /tmp tmpfs defaults,noatime,nodev,nosuid,mode=1777 0 0

Ein weitere Kandidat für die Auslagerung ins RAM ist /var/log

Nur ist es hier nicht mehr ganz so eindeutig, hat man seine Daemonen auf geschätzig gestellt, dann erntet man als Dank auch eine ständig wachsende Logdatei, z.B. messages. Hat man einen Webserver installiert, erübrigt sich die weitere Betrachtung, denn die sind immer geschwätzig.

Wenn man /var/log wirklich auslagern möchte, benötigt man also entsprechend reichlich RAM. Da muss ein Jeder für sich abwägen, was einem wichtiger ist...

tmpfs /var/log tmpfs defaults,noatime,nodev,nosuid,mode=1777 0 0

wäre demnach der korrekte Eintrag in der /etc/fstab, wenn man sich dafür entscheidet.

Man sollte aber bedenken, das damit Fehlersituationen nicht mehr so leicht zu lokalisieren sind, denn nach einem reboot sind die Logs weg. Man solte dann ggfs. den Eintrag zur Fehlersuche auskommentieren.

Bleibt noch

/swap.

Auf SSD oder im Ram  was  u.U. durchaus Sinn macht, betrachtet man CompCache bzw. zram oder evtl. ganz darauf verzichten?

Unbedingte Voraussetzung ist swap nur, wenn man nicht genug RAM zur Verfügung hat, oder wenn man suspend to Disk nutzen möchte. Man könnte auch ein File als Swapfile anlegen, die Priorität entsprechend niedrig ansetzen, so das es so gut wie nie, oder eben nur im Notfall benutzt wird.

Oder man definiert eine kleine swap Partition, die man auch mittels "swapiness" so schlecht beurteilt, das sie praktisch nie genutzt wird. Das ist eine Entscheidung, die nicht leicht zu fällen ist, will man ab- und zu auch mal Panorama Aufnahmen erzeugen und bearbeiten, sind 2GB Arbeitspeicher nicht zu reichlich bemessen. Da sollte man schon swap Space vorsehen.

Für die derzeit üblichen Games sind 2GB ausreichend. Auf meinem Tablet PC allemal, weil da eh nur eine integrierte Graphic vorhanden ist und Blockbuster wie Enemy Territory eh nicht in Frage kommen.

Da ich auf jeden Fall wieder ein vollverschlüsseltes System mit Volumegroup aufsetzen werde, ist es nicht so entscheidend, denn ich kann es im nach hinein jederzeit wieder ohne Probleme ändern.

Wer also Swap eingerichtet hat, sollte die Verwendung minimieren. das kann man dauerhaft  in der /etc/sysctl.conf einstellen.

Der Parameter vm.swappiness steht nach der default Installation auf 60.

Damit neigt der Kernel eher dazu Swap zu nutzen. Weil die ssd eigentlich schnell ist, ist das auch gar nicht so schlecht, nur wird die Hardware schneller altern.

Ich stelle einen Wert von 10 ein, damit beginnt der Kernel erst Prozesse oder Teile davon auszulagern, wenn alle Reserven bis auf einen kleinen Rest erschöpft sind.


Browser Cache.

Einer der meistgenutzten Anwendungen auf (m)einem Laptop ist der Webbrowser.

Ich benutzt nachezu ausschließlich den Iceweasel 3.5.x

Der Browser verwendet per default einen Festplatten Cache, dieser ist bei mir 50MB groß und wird seiner Natur gemäß auch laufend verändert. Der Firefox (oder Iceweasel) verwendet darüber hinaus aber auch noch einen Cache im RAM. Beim Schieb erfährt man darüber näheres.

Deshalb habe ich mich entschlossen, ganz auf Festplatten Cache zu verzichten, und ihn auf 0 gesetzt.

Natürlich könnte man den cache Ordner des Browsers auch nach /tmp verlinken, das müsste man mal in der Praxis untersuchen......

Dank eines Kommentars bin ich da inzwischen weiter: ich habe den Key in about:config eingerichtet browser.cache.disk.parent_directory;  /tmp/browser/

Hier mal der Smart Status;
smartctl 5.40 2010-07-12 r3124 [i686-pc-linux-gnu] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net

=== START OF INFORMATION SECTION ===
Device Model:     ADATA SSD S599 64GB
Serial Number:    00000000000000000462
Firmware Version: 3.1.0
User Capacity:    60.022.480.896 bytes
Device is:        Not in smartctl database [for details use: -P showall]
ATA Version is:   8
ATA Standard is:  ATA-8-ACS revision 6
Local Time is:    Wed Dec  8 16:41:57 2010 CET
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

Auffallend ist nicht nur die sehr kleine Seriennummer und der Firmware stand, sondern auch der niedrige nutzbare Speicher. Dabei steht in der Produktinfo doch 64MB. Sowas :-( Flattr this

7. Dezember 2010

In diesem Artikel stelle ich ein paar Erweiterungen für Thunderbird vor, die ich nutze. Natürlich gibt es die auch für Windows. Die vorgestellten funktionieren auch unter Ubuntu 10.10 64bit, das ich seit dem Wochenende auf meinem Subnotebook nutze.

Display Contact Photo

Dieser Erweiterung zeigt in den Mails das hinterlegte Foto des Kontakts, falls eines hinterlegt ist. Sehr hübsch wie ich finde:

Display Contact Photo & libnotify-mozilla

Enigmail

In Zeiten der steigenden Überwachungsmöglichkeiten ist eine sichere Kommunikation wichtig. Die Einrichtung von Einigmail hatte ich bereits heute Morgen beschrieben.

SmartTemplate

Wer den Antworttext “Am… schrieb…” auch langweilig findet, sollte sich das Addon SmartTemplate anschauen. Mit dieser Vorlage für Antworten und Weiterleitungen erhält man einen ähnlichen Antwort-Header wie bei Outlook:

<hr tabindex=-1 />
<b>Von:</b> %from%
<b>Gesendet:</b> %A%, %d%. %B% %Y% %I%:%M%:%S%
<b>An:</b> %to%
<b>Cc:</b> %cc%
<b>Betreff:</b> %subject%

libnotify-mozilla

Bei Ubuntu gibt es standardisierte Benachrichtigungen, das so genannte Indicator Applet. Leider integriert sich Thunderbird noch nicht von selbst. Wie man dies selbst hinbekommt, hatte ich schon vor einer Weile beschrieben.

Welche Addons könnt ihr empfehlen? Nutzt die Kommentarfunktion! :)

Auf der Suche nach einer Möglichkeit, alle JARs eines Verzeichnisses in das lokale Maven Repository zu schieben, bin ich auf dieses Script gestoßen:
A script to add 3rd party artifacts to your maven repository.
Diese Version habe ich leicht abgeändert, quick and dirty:


#!/bin/bash
# Add 3rd party jars to maven in a batch
# Usage: add2maven groupid directory
#
# Edit the mvn command as per your repo setup

if [ $# -lt 2 ]; then
echo Usage: $0 groupid directory
exit 1
fi

GROUPID=$1
shift

find $1 -name "*.jar" | while read f;
do
if [ ! -d $f ]; then
FILENAME=`echo $f | sed -e 's/\.jar//' | sed -e 's/.*\///'`
ARTIFACTID=`echo $FILENAME | sed -re 's/[_|-]([0-9]\.).*//g'`
VERSION=`echo $FILENAME | sed -re 's/.*[a-z][-|_]//'`
if [ "$VERSION" == "$FILENAME" ]; then
VERSION="unknown"
fi
mvn install:install-file -DgroupId=$GROUPID -DartifactId=$ARTIFACTID -Dversion=$VERSION -Dpackaging=jar -Dfile=$f
fi
done


Einsortiert unter:Bash, Maven, Ubuntuusers.de

Vor ein paar Tagen haben die Entwickler von Dropbox die Version 1.0 des Clients als Release Candidate freigegeben. Die Version brachte für manche Nutzer allerdings ein paar Probleme mit sich. Diese kamen wohl hauptsächlich vor, wenn man von einer 0.7.x-Version auf 1.0 aktualisieren wollte.

Der Fehler sollte nun mit der Version 1.0.1 beseitigt sein. Weitere Fehlerbereinigungen sind im Forum nachzulesen.

Download
Linux 32-bit: http://dl-web.dropbox.com/u/17/dropbox-lnx.x86-1.0.1.tar.gz
Linux 64-bit: http://dl-web.dropbox.com/u/17/dropbox-lnx.x86_64-1.0.1.tar.gz
Windows: http://dl-web.dropbox.com/u/17/Dropbox%201.0.1.exe
Mac OS X: http://dl-web.dropbox.com/u/17/Dropbox%201.0.1.dmg

Installation unter Linux
1. tar.gz von der Website herunterladen
2. Dropbox stoppen
3. den Ordner ~/.dropbox-dist umbennen
4. tar.gz ins Home-Verzeichnis entpacken
5. Dropbox wieder starten

Schon immer wollte ich eigene Videos mit Ubuntu erstellen und habe jetzt einen Weg dazu gefunden.

Ein älterer Artikel von Roman hat mich inspiriert, meine Basteltätigkeit ein wenig zu fördern. Auf den Seiten von Cubecraft gibt es Bastelbögen mit denen man sich bekannte Comic-Figuren aus Papier basteln kann. Runterladen, ausdrucken, ausschneiden und zusammen-stecken und schon hat man eine lustige Spielfigur. Leider hat sich das Ausschneiden ein wenig verzögert, denn das braucht doch recht viel Zeit.

Als nächsten stand dann die Idee, die Figur zu digitalisieren. Zuerst dachte ich nur an eine lose Reihenfolge von Bildern die man zusammen setzt und so z.B. eine GIF Animation erstellen kann. Ist aber eher langweilig und so hatte ich micht entschieden einen Film zu machen.

Voraussetzung

  • Einen tollen Darsteller (in meinem Fall Gangster-Hans)
  • Eine Aufnahme-Umgebung (Drehteller mit CD, ein Tuch als Hintergrund und etwas Licht von der Bürolampe)
  • Ubuntu 10.10 (oder so) mit Cheese, Desktop Recorder, Pitivi, einen Videoconverter und eine Webpräsenz

Die Aufnahme

Nachdem der Gangster-Hans richtig ins Bild geruckt war, startete ich Cheese und richtete meine Webcam auf Gangster-Hans. Nun startete ich eine Videoaufnahme und wurde schon bald entäuscht. Mit Chesse ruckelte alles ein wenig und zu Schluss war das Video unbrauchbar. So musste ich eine andere Applikation zur Hand nehmen. Für diesen Fall habe ich den Desktop Recorder genommen und einfach den Inhalt von Cheese aufgenommen. Geht auch, fühlt sich schon fast an wie auf dem Filmset. Ich habe dann den Gangster-Hans ein wenig tanzen und sich bewegen lassen und so etwa 50 Sekunden aufgenommen. Das ganze Video wurde dann im OGV Format abgespeichert.

Der Schnitt

Als nächstes musste ich einen Videoschnitt erstellen. Ich kenne mich ehrlich gesagt mit Videoschneiden gar nicht aus und hatte mich nun mit der Applikation Pitivi zu gute getan. Das Programm ist einfach zu bedienen und man kann Videos wie Audios importieren. In einer Art Zeitschiene stellt man dann das Video an den Anfang. Beim Audio hatte ich eigentlich noch keine Ahnung was man im Video hören sollte. Ich bin dann zum AT&T Labs Natural Voices® gegangen und hab mal versucht eine Art Konversation mit der Text-to-Speech Technik und der Stimme von Reiner zu gestalten. Das funktionierte eigentlich sehr gut. Leider ist in der Demoversion die Länge des Textes beschränkt und ich musste die 50 Sekunden in verschiedene Abschnitte unterteilen. Das Ergebnis waren 3 WAV Dateien die ich dann per Download zu meinem Projekt herunter laden konnte. Diese WAV Dateien habe ich dann in Audacity zusammen gesetzt, die Spielzeit gestreckt und die Tonlage ein wenig herunter genommen, damit der Gangster-Hans auch ein wenig gefährlicher wirkt. Die daraus resultierende Datei habe ich dann als mp3 exportiert und dem Pitivi hinzugefügt. Damit das ganze auch noch ein wenig Gefühl bekommt, habe ich eine startende Harley und einen tollen Pistolenschuss im WAV Format am Anfang des Videos hinzugefügt. Nachdem nun alles passte, hatte ich das Video mittels der Funktion Projekt erstellen, im Pitivi in eine OGV Datei konvertiert. Fertig !

Das Abspielen

Um das Video abspielen zu können braucht es eigentlich nur einen Video Player, z.B. Totem. Das geht sehr gut und Totem kennt auch das OGV Format. Ich wollte mein Video aber nicht nur für mich brauchen, sondern der grossen weiten Welt zur Verfügung stellen. Zum einen habe ich das Video auf meinem Webserver im OGV und im MP4 Format hochgeladen, und zum anderen bei Youtube eigestellt. Wie man mit Youtube zusammen arbeitet beschreibe ich hier nicht im Detail. Wer einen Google Account hat, der kann sich das selber einmal durchspielen. Leider hatte Youtube Probleme mit dem OGV Format, so dass ich das OGV mit traGtor in eine MP4 umwandeln musste. Na ja, hat nicht sehr lange gedauert und Youtube war zufrieden.

Fazit

Mit wenig Aufwand und nur mit meinem Ubuntu 10.10 Desktop Computer lassen sich einfach und schnell Videos für das Web, z.B. Youtube erstellen. Ich werde mal weiter die Cubecraft Figuren basteln, und wer weiss vielleicht entstehen daraus noch ganz witzige Geschichten

Podcast hören

Audio-Datei herunterladen (Video_erstellen_mit_Ubuntu.mp3)

oder im OGG, MP3 Format downloaden

PDF-Datei dieses Artikels erzeugen

Ähnliche Artikel

  • Keine ähnlichen Artikel vorhanden
campino2k 7. Dezember 2010 12:47

Fertig.

Vielleicht hat es der eine oder andere gestern mitbekommen: Mein Umzug auf den eigenen Server ist abgeschlossen. Dieses Blog läuft jetzt auf einem von mir betriebenen Debian-Lenny-vServer bei netcup. Damit hat sich für mich jetzt nicht unbedingt ein Traum erfüllt, aber ich denke, die Arbeit hat sich gelohnt.

Ich bin in Zukunft deutlich freier, was die Installationen angeht, kann meine Dinge per git und svn aktuell halten, was will man mehr?

Die Einrichtung des Servers hat sich bei mir so nach und nach über einen Monat verteilt, der eigentliche Umzug der “Nutzdaten” Blogs und Wiki war relativ easy und in einer halben Stunde erledigt. Lediglich das Nutzen von Imagemagick im DokuWiki hat sich etwas schwierig gestaltet, was aber an meiner etwas zu sicheren PHP-Konfig lag.

Was ich da so im einzelnen zusammengebaut habe, gibts hier demnächst auch nochmal etwas aufgedröselter Form zu lesen.

Diese Woche keine Überraschungen (no surprises this week) war Torvalds Einleitung zur aktuellen Entwicklerversion des Kernels.

Torvalds musste auch feststellen, dass die Patches für einen Fehler mit der Rückgabe von Verzeichnisinformationen aus dem Netzwerk-Dateisystem NFS, die noch in -rc4 eingebracht wurden, den Fehler nicht wirklich beheben konnten. Ein Heilmittel bringt auch diese Version nicht mit, jedoch liegen bereits Patches vor, die das Problem beheben. Sie sollen in Kürze in den aktiv entwickelten Kernel-Zweig aufgenommen werden.

Das Volumen der Änderungen hat um etwa ein Drittel abgenommen und von denen stechen nur wenige besonders hervor: Zum einen findet sich ein größeres Patch, das dem i915-Treiber ein bislang problematisches Verhalten austreiben soll. Zum anderen soll die Behandlung von Schnappschüssen des verteilten Dateisystems Ceph verbessert werden. Eine neue Schnittstelle bindet diese nun als Block-Devices in Unterverzeichnisse unterhalb der angebundenen Abbilder entsprechend den Sysfs-Richtlinien ein, wodurch die Übersichtlichkeit gesteigert werden soll. Ansonsten liegen noch einige Änderungen an der Standardkonfiguration im ARM-Umfeld vor und viele kleinere Korrekturen.

Quelle: Linux Kernel Mailing List

 

Fertige Ubuntu One-Installation

Mittlerweile ist es ja allgemein bekannt, dass Canonical den Cloud-Dienst Ubuntu One für Windows öffnet. Ich halte das für eine gute Idee, da nicht jeder über mehrere Ubuntu-PCs verfügt (ansonsten macht ein Cloudservice wenig Sinn, oder?) Ich erwarte allerdings nicht, dass man Ubuntu One unter Windows genauso gut in die tägliche Benutzung einbinden kann, wie es im dazugehörenden Betriebssystem der Fall ist. Zum einen liegt es ja schon allein daran, dass der Explorer komplett anders aufgebaut ist als Nautilus, zum anderen ist die Zielgruppe des Projektes auch eher auf der Linuxseite zu erwarten. Nun gut. Der Windowsclient befindet sich noch in einer Betaphase, zu der man eine Einladung benötigt. Wer bereits bei Ubuntu One registriert ist, kann sich für eine Einladung bewerben. Bei mir dauerte es etwa 3 Tage, bis die Bewerbung angenommen wurde, anschließend erhielt ich eine E-Mail, die mich darüber informierte.

Ubuntu One Client auf einem Windowsrechner installieren

Wenn die Einladung angenommen wurde, erhält man via E-Mail einen Direktlink auf die Installationsdatei. Diese liegt auf einem verhältnismäßig schnellen Server und umfasst eine Schwere von 12,5 MB.

Wie für Windowsinstallationen eigentlich untypisch verläuft die Installation ohne Lizenzvereinbarung und bis zu einem gewissen Punkt auch unproblematisch. Doch seht selbst auf dem Screenshot:

Es fehlt die Abhängigkeit von .NET, aber man gelangt direkt auf die Downloadseite

Es fehlt natürlich eine Abhängigkeit: .NET. Ok, eigentlich ist auch das kein Problem, man gelangt über das Dialogfenster auf die Downloadseite von .NET, und man lädt sich den Installer im Wert von über 48MB herunter. Allerdings kommt man hier bei der Installtion nicht um eine Lizenzvereinbarung rum ;-)

Das "Backend" von Ubuntu One

Wenn auch diese Installation abgeschlossen ist, kann man das Programm starten. Es verschwindet sofort in der Symbolleiste (oder wie man das dort nennt). Darüber kann man sich das Loginfenster organisieren. Mit seiner E-Mail Adresse und dem Passwort kann man sich nun anmelden und erhält sofort darauf eine weitere E-Mail von Canonical, diesmal um einen herzlich willkommen zu heißen.

Die Synchronisation kann man ebenfalls über das Kontextmenü vom Tray-Icon aus starten. Bei mir ging allerdings der Lüfter auf Hochtouren, als die Synchronisation gestartet wurde.

Der Austauschordner von Ubuntu One befindet sich übrigens in Eigene Dateien/Dokumente/Ubuntu One bzw. den jeweiligen Äquivalenten der Windowsversionen.

Weitere Informationen findet ihr im Wiki bei ubuntu.com.

E-Mails sind wie Postkarten. Sie werden von Briefkasten (Server) zu Briefkasten transportiert und wer darauf Zugriff hat kann sie lesen. Die Lösung: Verschlüsselung. Und mit Thunderbird geht das ganz einfach.

GnuPG

Zunächst muss GnuPG installiert werden, das die entsprechenden Funktionen im System zur Verfügung stellt:

  • Ubuntu: wie gewohnt aus den Repositories
  • Windows

Enigmail

Die Erweiterung Enigmail (dort gibt es auch eine 64bit-Version) stellt die Verschlüsselungsfunktion in Thunderbird zur Verfügung. Genutzt wird das Public-Key-Verfahren, bei dem man einen privaten und einen öffentlichen Schlüssel erstellt. Mit dem privaten Schlüssel entschlüsselt man, mit dem öffentlichen Schlüssel (des Empfängers) verschlüsselt man die E-Mails. Zusätzlich hat man die Möglichkeit E-Mails zu signieren. Aber der Reihe nach. Zuerst wird das Schlüsselpaar erzeugt: entweder über den Assistenten oder unter OpenPGP -> Schlüssel verwalten... -> Erzeugen -> Neues Schlüsselpaar... Dort wählt man die Identität und wie lange der Schlüssel gültig ist.
Wenn man in der Schlüsselverwaltung den Haken “Standardmäßig alle Schlüssel anzeigen” setzt, wird der eigene Schlüssel angezeigt. Über Rechtsklick -> Schlüsseleigenschaften kann man weitere Identitäten (E-Mail-Adressen) hinzufügen.
Ist der Schlüssel wie gewünscht fertig gestellt, kann man den öffentlichen Schlüssel auf die Server hochladen, so dass andere ihn finden und verschlüsselte E-Mails schicken können. Einfach den Schlüssel auswählen und Schlüssel-Server -> Schlüssel hochladen... auswählen. Welchen Server man wählt ist egal, da sich die Server austauschen. Damit es schneller geht, kann man natürlich nacheinander auf jeden Server hochladen. Damit sind die Vorbereitungen abgeschlossen.

Will man nun eine E-Mail verschlüsseln, kann man nach dem Klick auf Senden “Fehlende Schlüssel herunterladen”, sofern der Empfänger seinen öffentlichen Schlüssel auf die Server hochgeladen hat.

Edit:
Zuerst also Verschlüsseln und Signieren aktivieren:

Und anschließend den Schlüssel des Empfängers herunterladen (2) falls er noch nicht in der Liste der bekannten Schlüssel (1) vorhanden ist. Falls er vorhanden ist, kann man ihn natürlich einfach auswählen.

Welchen Server man wählt, ist egal. Der gesuchte Schlüssel sollte auf allen Servern verfügbar sein. Wird der gesuchte Schlüssel gefunden, kann man ihn auswählen und durch einen Klick auf Ok importieren. Anschließend kann man den Empfänger in der Liste auswählen und die E-Mail wird verschlüsselt und signiert versendet.

Erhält man eine verschlüsselte E-Mail kommt eine Aufforderung das Passwort einzugeben, das man beim Erstellen des Schlüsselpaars eingegeben hat.

Wer mir nun eine verschlüsselte E-Mail schicken möchte, findet hier meine Kontaktdaten. Ihr müsst nicht unbedingt den dort hinterlegten Schlüssel benutzen, ihr findet mich auch auf den Schlüsselservern. :)

6. Dezember 2010

Fofix ist ein Klon der erfolgreichen Guitar-Hero / Bandhero Spielereihe. Das Spiel ist Open Source und für Linux, Mac und Windows erhältlich.

1. Songs hinzufügen und finden

Im Internet gibt es tausende von vorgefertigten Frets-On-Fire Songs, einfach via Google suchen. Hat man einen passenden Song gefunden, wird dieser in den Songs-Ordner verschoben. Dort werden alle Titel abgespeichert, die man später dann rocken will.

Unter Ubuntu befindet sich dieser Pfad unter:

/home/user/.fofix/songs

Um den versteckten Ordner (durch den . gekennzeichnet), sichtbar zu machen, müsst ihr im Dateimanager “STRG+H” drücken ;) Dort kopiert man die Fofix-Songs rein, damit sie dann im Spiel verfügbar sind.

2. Controller / Steuermöglichkeiten für Fofix

Das Spiel kann mit der normalen Tastatur gesteuert werden. Die einzelnen Seiten werden durch die Tasten F1-F5 gehalten – Natürlich sollte man die Tastatur wie eine echte Gitarre halten . Die F-Tasten zeigen dabei zu Boden und man greift von unten auf die Tasten F1-F5.

Fofix unterstützt aber auch die offiziellen GuitarHero, Bandhero Controller. Diese sind ab 29,99 € aufwärts bei verschiedensten Anbietern erhältlich.

Ich persönlich spiele immer noch sehr gerne mit meiner Tastatur, sieht cool aus und funktioniert auch sehr gut ;) Eine Tastatur mit Kabel ist dabei zu empfehlen (sonst entleeren sich die Batterien ziemlich schnell) Video.

3. Schönere Designs / Skins für Fofix

In diversen Videos oder Bildern sieht man, dass Fofix auch mit einer schöneren Oberfläche ausgestattet werden kann. Dazu gibt es vom Frets On Fire Fanforum Designs, die man sich runterladen kann (Anmeldung erforderlich). In meinem Screenshot verwende ich das Design: Rock Band 2 : RBF

4. Fofix runterladen & installieren

Fofix ist seit Ubuntu 10.10 – Maverick Meerkat in den offiziellen Paketquellen enthalten und kann via:

sudo apt-get install fofix

oder via http://code.google.com/p/fofix/downloads/list
installiert werden.

Und nun spiele ich wieder “Breaking Benjamin – Blow Me Away” (einfach).  Fofix macht richtig viel Spaß ;) Ich hoffe euch auch.

7 Kommentare | Kommentar schreiben | Guitar Hero / Bandhero am PC abrocken !

Am vergangenen Samstag reisten Dirk und ich gen Norden nach Stuttgart und konnten dort im Shackspace zusammen mit Renée Bäcker die zwanzigste Folge unserer Podcasts DeimHart aufzeichnen. Erwartungsgemäss sprachen wir mit Renée über Perl und die Community. Dabei entstand eine sehr spannende und zugleich informative Episode. Linux und natürlich auch Ubuntu spielten dabei eine wesentliche Rolle.

Dabei wurden wir sehr freundlich und kompetent im Shackspace empfangen. Wir bekamen sogar eine extra Führung durch die Lokalitäten und erfuhren dabei, womit sich die Leute dort beschäftigen. Sehr spannend! Shackspace sucht sich zur Zeit neue Räumlichkeiten, da der Platz am bestehenden Ort knapp wird. Dabei sind die Jungs auf Unterstützung angewiesen. Wer sich dort engagieren möchte, findet hier die nötigen Infos.

Vielen Dank auch an den “Deutschen Perl-Papst” Renée Bäcker! Ich konnte viel lernen und die Aufzeichnung hat einmal mehr so richtig Spass gemacht. Hier ist unsere aktuelle Episode zu finden.

PDF-Datei dieses Artikels erzeugen

Ähnliche Artikel

Eine weitere Ubuntu-/GNOME-Standardeinstellung, die geändert werden muss, ist die Terminal-Größe, die für meinen Geschmack zu klein ausfällt.

Die Theorie

Die Syntax des GNOME-Terminals erlaubt es, beim Starten einer Instanz die gewünschten Geometrie-Einstellungen als Argument zu übergeben. Erwartet wird dabei folgende Form: BREITExHÖHE+XOFFSET+YOFFSET, wobei die Breite und Höhe in Buchstabenbreiten und -weiten interpretiert wird und die Offsets in Pixel. Meine Einstellung für ein angenehm großes Terminal sieht demnach so aus:

gnome-terminal --geometry=88x20+0+0

… für alle Terminals, bitte!

Natürlich möchte man ein solches Terminal nicht mit den genannten Werten aus einem anderen Terminal starten. Praktisch wäre es doch, wenn alle Terminals, auch die per Tastenkombination gestarteten, diese Einstellung standardmäßig und systemweit laden. Hier machen wir uns den GNOME-Dialog „Bevorzugte Anwendungen“ zu nutzen.
Terminal-Größe systemweit ändern
Trägt man hier im Reiter „System“ unter „Befehl“ unseren Befehl ein, wird jede Instanz – sofern nicht explizit anders angegeben – mit den übergebenen Werten gestartet.

Auto-Vervollständigung ausgetrickst

Ein kleines Detail gibt es noch zu beachten. Seit Ubuntu 10.10 Maverick deaktiviert der Dialog automatisch die Eingabefelder und ändert die Auswahlbox, sobald das Wort gnome-terminal eingegeben wurde. Austricksen lässt sich das ganze, wenn man zuerst den Rest eingibt und am Ende das magische Wort.

[ This blog entry is also available in English. ]

Wer Ubuntu testen will muss sich ein ISO Image besorgen. Das ist, je nach Vorgehensweise, mehr oder weniger umständlich. TestDrive (ab Maveric Meerkat) vereinfacht die Sache erheblich.

Man installiert es mit sudo apt-get install testdrive.

Es findet sich anschließend unter Anwendungen => Systemwerkzeuge => Test Drive an Ubuntu ISO

TestDrive

TestDrive

TestDrive bietet eine komfortable Möglichkeit, die verschiedenen ISO Images herunter zu laden. Dabei wird rsync oder zsync verwendet, wodurch sich die Download Zeiten deutlich verkürzen können. Ein normales ISO Image dauert bei meiner DSL Verbindung ca 20 Minuten. Mit TestDrive war der schnellste Download nach 12 Minuten fertig. Der erste Download dauert natürlich so lang wie immer.

Auswahl der Distribution

Auswahl der Distribution

TestDrive Einstellungen

TestDrive Einstellungen

In den Preferences kann man auswählen, welche Distributionen angezeigt werden sollen. Mit other hat man die Möglichkeit, beliebige andere ISO Images einzubinden. Hier kann man zum Beispiel regelmäßig schauen, was sich bei Debian Unstable tut.

Andere Distributionen

Andere Distributionen

Nun muss man nur noch alle Distributionen auswählen, die man testen will und klickt auf Sync. Im Hintergrund werden die ISO Images heruntergeladen und in ~/.cache/testdrive/iso gespeichert. Anschließend kann man direkt einen normalen oder persistenten Live-USB Stick generieren. Diesen kann man wie gewohnt auf einem Rechner testen oder installieren.

TestDrive bietet aber auch die Möglichkeit, die ISO Images direkt zu testen. Als Standard wir KVM bzw qemu verwendet, was bei jeder Ubuntu Installation mitgeliefert wird. Optional stehen noch VirtualBox und Parallels zur Verfügung.

TestDrive Einstellungen für Virtualisierung

TestDrive Einstellungen für Virtualisierung

Behält man die Standard Einstellungen für KVM reicht ein Klick auf Launch um das ISO Image in einer virtuellen Umgebung zu starten.

Ubuntu in qemu

Ubuntu in qemu

Leider unterstützt KVM bzw qemu noch keine 3D Grafik, weshalb man für Unity oder Gnome 3 VirtualBox mit der Gasterweiterung verwenden muss. Für den normalen Gnome Desktop funktioniert es jedoch einwandfrei. Im Gegensatz zu VirtualBox hat man ohne zusätzliche Konfiguration bereits einen Desktop mit 1024×768 zur Verfügung.

Voraussetzung für die Verwendung von KVM/qemu ist, neben ausreichend Speicher, jedoch eine CPU mit Unterstützung für Virtualisierung wie AMD-V oder Intel VT. TestDrive steht auch in älteren Versionen von Ubuntu zur Verfügung, dann aber nicht mit der komfortablen GUI. Weitere Infos darüber findet ihr im Ubuntuusers Wiki

Endlich, die Investition in ein Subnotebook hat sich gelohnt. Das Lenovo ThinkPad X100e läuft – mit Ubuntu. Wer mehr über den Kauf, die Hardware-Odyssee, die Installation und Hardware-Unterstützung sowie über das glückliche Ende wissen möchte, sollte

weiterlesen. Anfangs hatte ich die Wahl zwischen einem gebrauchten Demopool-Gerät (das sind die Geräte, die für Tests an Fachzeitschriften, etc. geschickt werden) oder einem Neugerät. Im Nachhinein würde ich vielleicht ersteres nehmen, weil die praktischer Weise schon getestet sind. Ich habe allerdings wegen der längeren Garantie bei cyberport bestellt. Und zwar das Modell NTS2DGE mit AMD Athlon Neo MV-40 Prozessor, 2GB RAM und ATI Mobility Radeon HD 3200 Grafik. Dazu noch ein Extra-GB RAM sowie eine 64GB-SSD-Platte (SuperTalent UltraDrive GX).

Beim ersten Notebook, das ich erhielt, funktionierte das Touchpad, bzw. der Mausstick nicht, wenn die Gehäuseabdeckung auf der Unterseite geschlossen war (!sic). Das herauszufinden hat mich einige Nerven gekostet. An dieser Stelle nochmal vielen Dank an das ubuntuusers.de- und an das ThinkPad-Forum.

Cyberport hat unproblematisch geholfen und nach einer Woche hatte ich das Austausch-Notebook. Installiert habe ich Ubuntu 10.10 64bit und siehe da, es funktioniert fast alles out of the box. Lediglich für das interne Mikrofon musste ich die Datei /etc/modprobe.d/alsa-base.conf anpassen und diese Zeilen ergänzen:

# per Ubuntu forum suggestion to fix mic after alsa upgrade
options snd-hda-intel model=lenovo-101e
options snd-hda-intel position_fix=1 enable=yes

Einige Dinge wie die Kopfhörerausgabe habe ich noch nicht getestet. Falls noch weitere manuelle Nacharbeiten notwendig sind, werde ich diesen Artikel ergänzen.

Da ich eine SSD benutze, hatte ich das Dateisystem bei der Installation manuell zugeordnet: eine Partition für das Root-Verzeichnis ohne SWAP-Partition. Um weitere Schreiboperationen auf der SSD zu vermeiden habe ich der Partition den Parameter noatime hinzugefügt und die temporären Verzeichnisse in den RAM verschoben, beides in der Datei /etc/fstab:

# temporary directories in RAM:
tmpfs           /tmp            tmpfs   defaults,noatime,nodiratime 0 0
tmpfs           /var/tmp        tmpfs   defaults,noatime,nodiratime,size=10% 0 0
tmpfs           /var/log        tmpfs   defaults,noatime,nodiratime 0 0

Vorher hatte ich unter Windows lediglich das BIOS auf die aktuelle Version 1.29 upgedatet. Dieses Update bringt angeblich ein paar Verbesserungen beim Energie-Management. Der Akku hält übrigens um die drei Stunden bei Office-Nutzung (Surfen, E-Mail, Dokumente bearbeiten).

Nachtrag: Manche Akkus sind wohl fehlerhaft und melden zu früh dass sie leer sind. Auf jeden Fall mal in die Kommentare und den Tipp von Mattias (ohne ‘h’) anschauen.

Diesen von mir geschriebenen Artikel erschien zuerst in der Dezemberausgabe von freiesMagazin. Wer ihn dort lesen möchte besuche die Seite unter http://www.freiesmagazin.de/freiesMagazin-2010-12.

Die Open-Source-Community hat eine Menge auf die Beine gestellt; so ist mittlerweile auch die Vielfalt der angebotenen Spiele sehr beachtlich. Aber speziell im Bereich MMORPG hat man das Gefühl, dass sich dort eine Lücke auftut. In diese Lücke möchte Invertika vorstoßen. Es handelt sich dabei um ein deutschsprachiges MMORPG, welches auf Linux, Windows und Mac OS X läuft, wobei die Unterstützung für letzteres im Moment, mangels Maintainer, ein wenig schleift.

Geschichte

Gegründet im Jahr 2008, haben sich mittlerweile einige Entwickler und Helfer rund um das Projekt versammelt, welche Skripte, Maps oder Grafiken erstellen, Fehler suchen und vieles mehr. Das Spiel selbst baut dabei auf der von Manasource entwickelten Technik auf. Früher war dieses Projekt ein Teil von The Mana World. Das Projekt wurde später aber ausgegliedert und sich auf die Entwicklung eines flexiblen Frameworks für MMORPGs konzentriert. Da nun nicht mehr für einen offiziellen Server gearbeitet wurde, ist das ganze Projekt auch sehr flexibel geworden.

Während im ersten Jahr hauptsächlich die Welt sowie einige grundsätzliche Dinge entwickelt und gebaut wurden, wird in letzter Zeit vermehrt auf die Entwicklung der Skripte geachtet, um dem Spieler mehr Quests und somit Interaktion im Spiel zu bieten.

Zu Besuch in Roststock.

Die Welt, welche früher doch stark von einer gewissen Rechteckigkeit gekennzeichnet war, besteht nun aus runden und organisch gewachsenen Teilen. Im Gegensatz zu anderen auf Manasource basierenden Spielen ist die Welt bei Invertika riesig, was sich in den Dimensionen bemerkbar macht. Bedingt dadurch dauerte es natürlich etwas, bis diese Welt von den Projektmitgliedern ausgefüllt wurde.

Nachdem die erste Zeit der offizielle Spielserver ein vServer war (bei dem die Performance natürlich zu wünschen übrig ließ), läuft der Server seit einiger Zeit auf einem von der Firma Manitu (deren Inhaber sicherlich vielen als Hostblogger bekannt ist) gesponserten Server. (Den Manitu kann man im übrigen auch im Spiel finden.)

Erste Schritte im Spiel

Während es für Windows, Ubuntu und Arch Linux zum Spiel Invertika ähnlich lautende Installationspakete gibt – einen Überblick stellt das Invertika-Wiki bereit – muss der Client für andere Systeme kompiliert werden. Wie das funktioniert, steht im entsprechenden Wiki-Eintrag.

Die Zentralbank in Selphi Timlet.

Nach der Installation des Clients kann man sich auf dem offiziellen Invertika-Server (server.invertika.org) registrieren und anmelden, um sich dann einen Charakter zu erstellen. Dies geschieht alles direkt im Client. Natürlich ist das Spielen von Invertika völlig kostenfrei und wird es auch immer bleiben.

Wie üblich in einem MMORPG, ist das Ziel des Spieles bzw. des Spielers nicht definiert. Der Spieler kann die Quests lösen, welche das Spiel für ihn bereithält oder einfach mit anderen Spielern sozial interagieren. Ein Haupthandlungsstrang, der sich wie ein roter Faden durch das Spiel zieht, ist momentan nicht vorhanden. Im großen und ganzen geht es um die Abenteuer in der Welt von Invertika.

Nachdem man sich dann mit seinem neuen Charakter angemeldet hat, ist das erste, was man im Spiel sieht, das sogenannte Vacare, bei welchem es sich um eine Tutorial-Insel handelt, auf der der Spieler einiges zum Spiel erklärt bekommt. Wenn man das Vacare bewältigt hat, geht das eigentliche Spiel los: Man trifft in einer der größten Städte in Amoneus ein. In dieser Stadt, welche den Namen Selphi Timlet trägt, gibt es die ersten Aufgaben und NPCs für den Spieler.

So kann man zum Beispiel erste Quests lösen, Monster bekämpfen, handeln oder die Bank besuchen, auf der man sein Geld anlegen kann. Für das Geld, welches auf der Bank liegt, bekommt der Spieler Zinsen. Die Bank hat dabei auch einen ganz praktischen Zweck. So verliert man bei jedem Tod einen größeren Teil seines Bargeldes. Geld, welches auf der Bank liegt, bleibt aber von diesem Schicksal verschont.

Wenn man gestorben ist, taucht man im Reich des Toten, dem Nex, wieder auf. Dort kann man einige Zeit verbringen und anschließend wieder in das Reich der Lebenden wechseln. Dabei taucht man an der letzten Netheksäule auf, bei der man einen Segen empfangen hat.

Technik

Natürlich sind MMORPGs ein bisschen anders zu betrachten, als andere Open-Source-Software. So muss nicht nur ein Projektserver bereitgestellt werden, auf welchem die Kompilate und Dokumentation zum Download bereitliegen, sondern sich auch um die Infrastruktur für das Spiel gekümmert werden, sonst läuft bei einem MMORPG natürlich nichts. Ein Single-Player-Modus ist ja per se nicht vorgesehen.

Während Spiele wie The Mana World oder The Alternate World noch auf veraltete Systeme wie Ragnarok Serveremulatoren (eAthena) aufsetzen, benutzt Invertika seit der Gründung den modernen und in der Entwicklung befindlichen manaserv-Server vom Manasource-Projekt. Damit dürfte Invertika der größte manaserv-Server im Beta-/Produktivbetrieb sein.

Mit der Entwicklung des Spiels hat sich auch die Technik (mana, manaserv) weiterentwickelt, sodass zum Beispiel häufige Serverabstürze mittlerweile der Vergangenheit angehören. Ab und an reicht auch das Invertika-Team ein paar Patches und Bugreports zum Manasource-Projekt ein und beteiligt sich so auch an der Entwicklung.

Im Laufe der Zeit wurden auch viele Dinge speziell für Invertika entwickelt wie zum Beispiel die AJAX-Weltkarte oder der Invertika-Editor, bei dem es sich um ein multifunktionales Werkzeug für die Entwicklung von Invertika handelt.

Besonderheiten

Im Gegensatz zu einigen anderen MMORPGs gibt es bei Invertika einige Besonderheiten. So gibt es in Invertika keine Regeln, was die Spieler zu tun oder zu lassen haben. Es gibt zwar ein paar Empfehlungen, allerdings sind diese nicht bindend. Bedingt dadurch gibt es auch keine Gamemaster (wenn man mal von einem Standardgamemaster absieht), welche Regeln durchsetzen.

Landschaft wohin das Auge blickt.

Natürlich wäre es nervig, ständig von jemandem verfolgt oder zugespamt zu werden. Aber auch für dieses Problem gibt es eine Lösung. Auf den Invertika-Servern ist Player-versus-Player (PvP) grundsätzlich aktiviert. Davon gibt es auch nur zwei Ausnahmen, nämlich auf der Tutorial-Insel (Vacare) und im Reich des Toten (Nex). So können die Spieler Recht und Ordnung in die eigene Hand nehmen.

Projekt und Entwicklung

Im Laufe der Jahre kann einem das Projekt ziemlich ans Herz wachsen. So ist es immer wieder erfreulich zu sehen, wenn neue Mitstreiter dazustoßen und dem Projekt bei seiner Verwirklichung helfen wollen. Was leider bei einem Open-Source-Projekt nicht ausbleibt, ist die hohe Personalfluktuation. Vom einen auf den anderen Moment hat man plötzlich einen Mitarbeiter weniger, was sicherlich dem Wesen von Open-Source-Projekten geschuldet ist.

Und so freut sich das Invertika-Projekt über jeden neuen Entwickler, Mapper, Grafiker, Musiker et cetera. Wer jetzt neugierig geworden ist, der kann im IRC-Channel des Projektes im Freenode-Netzwerk unter #invertika oder im Forum vorbeischauen.
Was man bei Invertika nicht vergessen darf, ist, dass das gesamte Spiel sich in der Entwicklung befindet und sicherlich noch einiges an Feinschliff benötigt. So gibt es hier und dort immer wieder Fehler und Probleme. Aber natürlich versuchen die Projekt-Mitglieder, Invertika kontinuierlich zu verbessern.

Die Invertika-Webseite bietet neben dem Download und einigen anderen Dingen auch ein Forum, einen Bugtracker sowie ein Wiki mit allen Informationen rund um das Spiel und die Welt an. Aktuelle Informationen rund um Invertika und deren Welt findet man dabei im Invertika-Planet. Viel Spaß beim Ausprobieren!

Weitere Informationen gibt es unter:
http://de.wikipedia.org/wiki/MMORPG
http://invertika.org/
http://manasource.org/
http://themanaworld.org/
http://manitu.de/
http://hostblogger.de/

Dieser von mir geschriebene Artikel erschien zuerst in der Dezemberausgabe von freiesMagazin. Wer ihn dort lesen möchte besuche die Seite unter http://www.freiesmagazin.de/freiesMagazin-2010-12.


Die Open-Source-Community hat eine Menge auf die Beine gestellt; so ist mittlerweile auch die Vielfalt der angebotenen Spiele sehr beachtlich. Aber speziell im Bereich MMORPG hat man das Gefühl, dass sich dort eine Lücke auftut. In diese Lücke möchte Invertika vorstoßen. Es handelt sich dabei um ein deutschsprachiges MMORPG, welches auf Linux, Windows und Mac OS X läuft, wobei die Unterstützung für letzteres im Moment, mangels Maintainer, ein wenig schleift.

Geschichte

Gegründet im Jahr 2008, haben sich mittlerweile einige Entwickler und Helfer rund um das Projekt versammelt, welche Skripte, Maps oder Grafiken erstellen, Fehler suchen und vieles mehr. Das Spiel selbst baut dabei auf der von Manasource entwickelten Technik auf. Früher war dieses Projekt ein Teil von The Mana World. Das Projekt wurde später aber ausgegliedert und sich auf die Entwicklung eines flexiblen Frameworks für MMORPGs konzentriert. Da nun nicht mehr für einen offiziellen Server gearbeitet wurde, ist das ganze Projekt auch sehr flexibel geworden.

Während im ersten Jahr hauptsächlich die Welt sowie einige grundsätzliche Dinge entwickelt und gebaut wurden, wird in letzter Zeit vermehrt auf die Entwicklung der Skripte geachtet, um dem Spieler mehr Quests und somit Interaktion im Spiel zu bieten.

Zu Besuch in Roststock

Die Welt, welche früher doch stark von einer gewissen Rechteckigkeit gekennzeichnet war, besteht nun aus runden und organisch gewachsenen Teilen. Im Gegensatz zu anderen auf Manasource basierenden Spielen ist die Welt bei Invertika riesig, was sich in den Dimensionen bemerkbar macht. Bedingt dadurch dauerte es natürlich etwas, bis diese Welt von den Projektmitgliedern ausgefüllt wurde.

Nachdem die erste Zeit der offizielle Spielserver ein vServer war (bei dem die Performance natürlich zu wünschen übrig ließ), läuft der Server seit einiger Zeit auf einem von der Firma Manitu (deren Inhaber sicherlich vielen als Hostblogger bekannt ist) gesponserten Server. (Den Manitu kann man im übrigen auch im Spiel finden.)

Erste Schritte im Spiel

Während es für Windows, Ubuntu und Arch Linux zum Spiel Invertika ähnlich lautende Installationspakete gibt – einen Überblick stellt das Invertika-Wiki bereit – muss der Client für andere Systeme kompiliert werden. Wie das funktioniert, steht im entsprechenden Wiki-Eintrag.

Nach der Installation des Clients kann man sich auf dem offiziellen Invertika-Server (server.invertika.org) registrieren und anmelden, um sich dann einen Charakter zu erstellen. Dies geschieht alles direkt im Client. Natürlich ist das Spielen von Invertika völlig kostenfrei und wird es auch immer bleiben.

Wie üblich in einem MMORPG, ist das Ziel des Spieles bzw. des Spielers nicht definiert. Der Spieler kann die Quests lösen, welche das Spiel für ihn bereithält oder einfach mit anderen Spielern sozial interagieren. Ein Haupthandlungsstrang, der sich wie ein roter Faden durch das Spiel zieht, ist momentan nicht vorhanden. Im großen und ganzen geht es um die Abenteuer in der Welt von Invertika.

Nachdem man sich dann mit seinem neuen Charakter angemeldet hat, ist das erste, was man im Spiel sieht, das sogenannte Vacare, bei welchem es sich um eine Tutorial-Insel handelt, auf der der Spieler einiges zum Spiel erklärt bekommt. Wenn man das Vacare bewältigt hat, geht das eigentliche Spiel los: Man trifft in einer der größten Städte in Amoneus ein. In dieser Stadt, welche den Namen Selphi Timlet trägt, gibt es die ersten Aufgaben und NPCs für den Spieler.

So kann man zum Beispiel erste Quests lösen, Monster bekämpfen, handeln oder die Bank besuchen, auf der man sein Geld anlegen kann. Für das Geld, welches auf der Bank liegt, bekommt der Spieler Zinsen. Die Bank hat dabei auch einen ganz praktischen Zweck. So verliert man bei jedem Tod einen größeren Teil seines Bargeldes. Geld, welches auf der Bank liegt, bleibt aber von diesem Schicksal verschont.

Wenn man gestorben ist, taucht man im Reich des Toten, dem Nex, wieder auf. Dort kann man einige Zeit verbringen und anschließend wieder in das Reich der Lebenden wechseln. Dabei taucht man an der letzten Netheksäule auf, bei der man einen Segen empfangen hat.

Technik

Natürlich sind MMORPGs ein bisschen anders zu betrachten, als andere Open-Source-Software. So muss nicht nur ein Projektserver bereitgestellt werden, auf welchem die Kompilate und Dokumentation zum Download bereitliegen, sondern sich auch um die Infrastruktur für das Spiel gekümmert werden, sonst läuft bei einem MMORPG natürlich nichts. Ein Single-Player-Modus ist ja per se nicht vorgesehen.

Während Spiele wie The Mana World oder The Alternate World noch auf veraltete Systeme wie Ragnarok Serveremulatoren (eAthena) aufsetzen, benutzt Invertika seit der Gründung den modernen und in der Entwicklung befindlichen manaserv-Server vom Manasource-Projekt. Damit dürfte Invertika der größte manaserv-Server im Beta-/Produktivbetrieb sein.

Mit der Entwicklung des Spiels hat sich auch die Technik (mana, manaserv) weiterentwickelt, sodass zum Beispiel häufige Serverabstürze mittlerweile der Vergangenheit angehören. Ab und an reicht auch das Invertika-Team ein paar Patches und Bugreports zum Manasource-Projekt ein und beteiligt sich so auch an der Entwicklung.

Im Laufe der Zeit wurden auch viele Dinge speziell für Invertika entwickelt wie zum Beispiel die AJAX-Weltkarte oder der Invertika-Editor, bei dem es sich um ein multifunktionales Werkzeug für die Entwicklung von Invertika handelt.

Besonderheiten

Im Gegensatz zu einigen anderen MMORPGs gibt es bei Invertika einige Besonderheiten. So gibt es in Invertika keine Regeln, was die Spieler zu tun oder zu lassen haben. Es gibt zwar ein paar Empfehlungen, allerdings sind diese nicht bindend. Bedingt dadurch gibt es auch keine Gamemaster (wenn man mal von einem Standardgamemaster absieht), welche Regeln durchsetzen.

Natürlich wäre es nervig, ständig von jemandem verfolgt oder zugespamt zu werden. Aber auch für dieses Problem gibt es eine Lösung. Auf den Invertika-Servern ist Player-versus-Player (PvP) grundsätzlich aktiviert. Davon gibt es auch nur zwei Ausnahmen, nämlich auf der Tutorial-Insel (Vacare) und im Reich des Toten (Nex). So können die Spieler Recht und Ordnung in die eigene Hand nehmen.

Projekt und Entwicklung

Im Laufe der Jahre kann einem das Projekt ziemlich ans Herz wachsen. So ist es immer wieder erfreulich zu sehen, wenn neue Mitstreiter dazustoßen und dem Projekt bei seiner Verwirklichung helfen wollen. Was leider bei einem Open-Source-Projekt nicht ausbleibt, ist die hohe Personalfluktuation. Vom einen auf den anderen Moment hat man plötzlich einen Mitarbeiter weniger, was sicherlich dem Wesen von Open-Source-Projekten geschuldet ist.

Und so freut sich das Invertika-Projekt über jeden neuen Entwickler, Mapper, Grafiker, Musiker et cetera. Wer jetzt neugierig geworden ist, der kann im IRC-Channel des Projektes im Freenode-Netzwerk unter #invertika oder im Forum vorbeischauen.

Was man bei Invertika nicht vergessen darf, ist, dass das gesamte Spiel sich in der Entwicklung befindet und sicherlich noch einiges an Feinschliff benötigt. So gibt es hier und dort immer wieder Fehler und Probleme. Aber natürlich versuchen die Projekt-Mitglieder, Invertika kontinuierlich zu verbessern.

Die Invertika-Webseite bietet neben dem Download und einigen anderen Dingen auch ein Forum, einen Bugtracker sowie ein Wiki mit allen Informationen rund um das Spiel und die Welt an. Aktuelle Informationen rund um Invertika und deren Welt findet man dabei im Invertika-Planet. Viel Spaß beim Ausprobieren!

Weitere Informationen gibt es unter:
http://de.wikipedia.org/wiki/MMORPG
http://invertika.org/
http://manasource.org/
http://themanaworld.org/
http://manitu.de/
http://hostblogger.de/

5. Dezember 2010

Nachdem nun die erste Alpha von Ubuntu Natty Narwhal erschienen ist habe ich es mir auf die Schnelle einmal angeschaut.

Ubuntu Unity Natty Narwhal

Ubuntu Unity Natty Narwhal

Derzeit ist der Unity Desktop auch gleichzeitig der Standard Desktop. Am Konzept hat sich nichts geändert, jedoch an der darunter liegenden Technik. Als Fenstermanager kommt jetzt wieder Compiz zum Einsatz und das seitliche Startmenu ist nicht mehr als ein Compiz Plugin.

Die Optik des Startmenus hat sich leicht geändert, das Funktionsprinzip bleibt gleich. Wenn man dem Video glauben darf beherrscht es jetzt Auto-Hide. Leider wurde in dem Video nicht gezeigt, wie man die Funktion aktiviert.

Nachdem die erste Version von Unity über keinen Desktop verfügt hat übernimmt diese Aufgabe nun wieder Nautilus. Man kann also wie gewohnt Dateien, Ordner und Starter darauf ablegen und nutzen. Das Menu des Desktops wird im oberen Panel angezeigt, wenn man auf den Desktop klickt.

Auch die Menus der anderen Programme landen, wie bei der ersten Version von Unity, im oberen Panel, ausgenommen Firefox. Dieser liegt aktuell in der Version 4.0 Beta 7 vor. Die Titelleiste von maximierten Fenstern wird jedoch noch nicht in das Panel integriert.

Ein Klick auf das Ubuntu Logo in der oberen linken Ecke offenbart am deutlichsten den frühen Status von Unity. Statt einer Programmauswahl wird der Dateibrowser mit dem Verzeichnis /usr/share/applications geöffnet, aus dem man derzeit die Programme starten muss, sofern sie noch nicht im Startmenu verankert sind. Auch die auf Zeitgeist basierende Anwendungs- und Dateiansicht aus der ersten Unity Version fehlen vollständig.

Sollte der Grafiktreiber kein Compositing unterstützten oder möchte man Unity nicht nutzen steht nach wie vor der klassische Gnome Desktop zur Verfügung.

Unity ist weiterhin ein interessantes Konzept und dank Compiz wirkt es deutlich flüssiger. Man merkt jedoch, dass noch viel zu tun ist. Ich behalte die Entwicklung im Auge und bin gespannt, was sich in den nächsten Monaten so alles tut.

Update: Ich habe die Universe Paketquellen aktiviert und den Compizconfig Settings Manager nachinstalliert. Dieser ist standardmäßig nicht dabei. Damit lässt sich die Autohide Funktion vom Startmenu aktivieren.

Autohide Launcher

Autohide Launcher

Anschließend verschwindet das Startmenu. Es kommt nur zum Vorschein, wenn man mit der Maus in die linke obere Ecke fährt. Ereignisse werden bei verstecktem Panel dadurch angezeigt, indem das entsprechende Icon kurz angezeigt wird, wie in diesem Beispiel der Dateimanager.

Das versteckte Panel mit Notification

Das versteckte Panel mit Notification

Weiterhin schrieb OMG!Ubuntu! heute, dass das Panel wohl nicht “movable” werden wird. Mark Shuttleworth sagte dazu

“I’m afraid the location of the Unity launcher is fixed by design.We want the launcher always close to the Ubuntu button.”

Die Entwicklung von 2.6.37 ist in vollem Gange, wenn auch durch Linux Plumbers Conference und Kernel Summit zu Beginn etwas ausgebremst. Daneben gibt es auch eine neue Entwicklung aus dem Bereich des Schedulings in diesem Kernelrückblick zu berichten. Dieser ist, neben vielen anderen interessanten Themen, in der aktuellen Ausgabe von freiesMagazin enthalten.

Kernel 2.6.37
Die erste Vorabversion des kommenden Kernels konnte Torvalds bereits am 1. November veröffentlichen (siehe „Der Oktober im Kernelrückblick“, freiesMagazin 11/2010 [1]), die unter anderem eines großen Teils des mittlerweile ungeliebten Big Kernel Locks verlustig wurde. Da darauf erst einmal das Linux Kernel Summit und die Linux Plumbers Conference folgten, die einen guten Teil der Zeit der Kernel-Hauptentwickler in Anspruch nahmen, konnte die zwei Wochen später erscheinende Version -rc2 [2] nicht allzu viele Änderungen aufweisen. Eine größere Aktion, zumindest was den Niederschlag in der Menge der gelöschten und hinzugekommenen Quelltextzeilen betrifft, stellt das Verschieben der tty-Umgebung in einen neuen, eigenen Bereich dar. Der „Teletypewriter“ (deutsch: Fernschreiber), der die Standardeingabe und -ausgabe verwaltet und an Prozesse und Anwendungen weiterreicht beziehungsweise dem Nutzer darstellt, war bisher im Umfeld des Char-Treibers angesiedelt. Eigentlich wäre das passend, bietet dieser Treiber doch die Basis für zeichenorientierte Geräte wie der seriellen Schnittstelle oder den meisten Eingabegeräten. Doch derzeit liegt hier einiges an überflüssigem Code herum, den aufzuräumen Greg Kroah-Hartman nun offensichtlich mit tty begonnen hat.

Auch die dritte Entwicklerversion [3] kam mit relativ wenig spektakulären Änderungen daher. Ein großer Teil wurde durch Arbeiten an Nouveau und Radeon, den freien Treibern für die Grafik-Chipsätze von NVIDIA und ATI/AMD, in Anspruch genommen. Eine kleines Problem, das in manchen Situationen auch den Endanwendern zu schaffen machen könnte, wurde von dem VMware-Entwickler Dmitry Torokhov durch einen Patch behoben: Die Systemabfragetaste, durch die Tastenkombination Alt-SysRq/Druck ausgelöst, dient dazu, Befehle unter Umgehung der aktuellen Oberfläche direkt an das System zu senden, um zum Beispiel einen nicht mehr reagierenden X-Server zu beenden. Diese Tastenkombination, auch als Magic SysRq Key [4] bekannt, wird allerdings vom Kernel abgefangen und nicht an die Oberfläche weitergeleitet, sodass beispielsweise Screenshots darüber nicht konfiguriert oder zumindest durchgeführt werden können. Torokhovs Patch behebt diesen Umstand nun, in dem die Weiterleitung an den Userspace nur unterbunden wird, wenn zu der Tastenkombination eine weitere Taste mit einem gültigen Befehl betätigt wird.

2.6.37-rc4 [5] brachte Ergänzungen der in 2.6.36 neu hinzugekommenen Tile64-Architektur [6], indem der Treiber für die auf dem Chip integrierte Netzwerk-Hardware aufgenommen wurde. Dieser einzelne Patch war für mehr als die Hälfte der Änderungen verantwortlich, der Rest war in erster Linie kleinen Verbesserungen und Korrekturen geschuldet. Aus diesen stach nach Ansicht Torvalds noch eine Reihe von Patches aus der Feder von Trond Myklebust, Entwickler im Dienste von Netapp, hervor, die ein Problem mit der Darstellung von NFS-Verzeichnissen endgültig beheben sollten. Leider hat sich mittlerweile gezeigt, dass der Effekt, bei dem die zurückgelieferte Verzeichnisliste leer ist, weiterhin auftreten kann [7]. Das Problem wurde bei 2.6.37-rc1 zum ersten Mal berichtet und scheint die Entwickler noch ein wenig weiter narren zu wollen.

Neue Wege für das Scheduling
Immer wieder wird von verschiedenen Seiten darauf aufmerksam gemacht, dass Linux zwar auf Rechnern mit hunderten von Prozessoren gut skaliert, das ruckelfreie Abspielen eines Flash-Videos auf Ein- oder Zweikern-Systemen jedoch nicht immer funktioniert - zuletzt von dem Anästhesisten und ehemaligen Kernel-Entwickler Con Kolvias, der mit dieser Aussage seinen Brain Fuck Scheduler [8] vorstellte. Jedoch können Verbesserungen der Leistung eines Desktop-System nicht nur über den Scheduler (siehe Kasten „Kurz erläutert“) erreicht werden, sondern auch über die Art und Weise, wie die laufenden Prozesse sortiert werden. Für den Desktop-Nutzer misst sich die Leistung des Systems meist durch dessen Antwortverhalten: reagiert es prompt auf Maus und Tastatureingaben ist der Anwender zufrieden, bewegt sich der Mauszeiger jedoch ruckhaft, so ist die Bedienmöglichkeit eher eingeschränkt.

Mike Galbraith verfolgt nun den Ansatz, Prozesse zu Gruppen nach Terminal sortiert zusammenzufassen und die CPU-Rechenzeit gleichmäßig auf diese Gruppen zu verteilen, während innerhalb der Gruppe die ihr zur Verfügung gestellte Zeit wiederum gerecht verteilt wird [9]. Das Kompilieren eines Kernels in 64 parallelen Threads make -j64 würde zum Beispiel (in einem Terminal) in einer Prozess-Gruppe laufen, während der Webbrowser und das Mail-Programm des Anwenders in einer anderen zu finden wäre, beide Gruppen erhalten jedoch den gleichen Anteil an Rechenzeit zugeteilt. So wäre dem Nutzer das Surfen und Lesen der E-Mail noch möglich, dafür würde der Vorgang des Kompilierens geringfügig ausgebremst. Rechenzeit, die die Browser-E-Mail-Gruppe nicht benötigt, würde frei und damit automatisch vom Scheduler der Kompilierungs-Gruppe zugewiesen. Eben dieser Fall war das Testszenario von Torvalds, der sich daraufhin von Galbraiths Patch durchaus angetan zeigte [10] und sich sogar dazu hinreißen ließ, das Scheduling von Gruppen als „Killer-Feature“ zu bezeichnen. War die Diskussion um diesen Patch bisher sehr umfangreich, so werden Anwender bald in Kontakt mit „Group Scheduling“ kommen, denn der Scheduler-Experte des Linux-Kernels, Ingo Molnar, bat Galbraith bereits um die Einsendung des Patches für seinen Kernel-Zweig um ihn in 2.6.38 einbringen zu können [11].

Neue Server für den Kernel
Die Server, auf denen der Kernel entwickelt wird, haben nun Verstärkung bekommen [12] - zwei Spiegelserver wurden durch Neugeräte mit jeweils 66 300GB-Festplatten ersetzt. Daneben stehen nun zwei neue Server zur Verfügung, von denen einer als Backup des Master-Servers von kernel.org fungiert, während der andere parallel zu „demeter.kernel.org“, dem Server für den Kernel Bugzilla und die Wikis, laufen und diesem unter die Arme greifen wird. Die Geräte wurden von HP und Google gesponsert, die Betreiber von kernel.org sprechen insbesondere Chris DiBona und Bdale Garbee ihren Dank dafür aus.


Kurz erläutert: „Scheduler“
Der Scheduler (zu deutsch etwa: Arbeitsplaner) ist der Manager des Prozessors; er verteilt die Rechenzeit der CPU möglichst gleichmäßig auf die wartenden Prozesse. Der in aktuellen Versionen des Linux-Kernels (seit 2.6.24) verwendete Completely Fair Scheduler (CFS) nutzt dazu Gruppen, in denen Prozesse jeweils eines Users zusammengefasst werden. Jede Gruppe wird mit dem gleichen Anteil an Rechenzeit versehen, sodass jeder Anwender gleichberechtigt ist, unabhängig von der Anzahl und dem Leistungsbedarf der von ihm gestarteten Prozesse. Die einem Anwender zugeteilte CPU-Zeit wird wiederum gleichmäßig auf alle in seinem Kontext laufenden Prozesse verteilt. Wird die verfügbare Rechenzeit von einem Anwender nicht benötigt, so wird sie „zurückgegeben“ und vom Scheduler neu zugewiesen.

Quellen:
[1] http://www.freiesmagazin.de/freiesMagazin-2010-11
[2] http://lkml.org/lkml/2010/11/15/568
[3] http://lkml.org/lkml/2010/11/21/153
[4] http://de.wikipedia.org/wiki/Magic_SysRq_key
[5] http://lkml.org/lkml/2010/11/30/5
[6] http://en.wikipedia.org/wiki/TILE64
[7] http://lkml.org/lkml/2010/11/30/162
[8] http://de.wikipedia.org/wiki/Brain_Fuck_Scheduler
[9] http://www.heise.de/open/artikel/Kernel-Log-Flinker-mit-Prozessgruppen-1...
[10] http://lkml.org/lkml/2010/11/14/222
[11] http://lkml.org/lkml/2010/11/16/307
[12] http://www.linux-magazin.de/NEWS/Hardware-Update-Linux-Quellen-kommen-vo...

 

Nachdem ich fürchterlich enttäuscht war, als ich die ersten Meldungen über die Verwendung von Unity in der nächsten Ubuntu Version 11.04 las, bin ich heute einmal dazu gekommen, die ersten Tests mit der 11.04 Alpha zu machen. Diese ist vor einigen Tagen erschienen und kann bei Canonical heruntergeladen werden.

Nach dem Download der .iso und dem Start des Narwhales per bootfähigem USB Stick (Bebilderte Anleitung zum Erstellen folgt sogleich), war sofort klar – die Entwickler habens Ernst gemeint – Unitiy strahlt vom Bildschirm. Allerdings scheint hier eine Weiterentwicklung der bisherigen Netbook Variante stattgefunden zu haben, denn die Iconbar an der linken Seite ist breiter, übersichtlicher und enthält weniger Icons.

Leider ist nach 2–3 Aktionen das Mousepad meines Lenovo T60 gleich mal ausgefallen, was allerdings nach 2–3 weiteren Aktionen mit dem Mausknopf innerhalb der Tastatur (ja wie heisst denn das Ding eigentlich??) wie von Geisterhand wieder funktionierte. Was mir besonders gut gefällt, ist die auffällig hohe Geschwindigkeit des Systems. Denn obwohl ich ja vom USB Stick gebootet habe, flutscht alles angenehm flüssig. Neben dem Arbeitsflächenumschalter und dem „Tomboy-Icon“ findet sich in der Menüleiste nur das Firefox Symbol. Ein Klick darauf bringt die neue Firefox 4.0b7 zum Start, die jetzt rein äusserlich keine Veränderungen zeigt.

Ganz oben links ist das Ubuntu Icon zu finden. Ein Klick darauf öffnet ein Verzeichnisfenster in dem – lediglich nach Alphabet sortiert –  alle installierten Applications aufgeführt sind. Da bin ich mal gespannt, wie das in der endgültigen Version geregelt werden wird.

Alles in Allem ist mein Erster Eindruck – wie immer bei Ubuntu – recht gut. Ich denke ich werd darüber hinwegkommen, das mein geliebter GNOME Desktop nicht mehr da ist, hege aber die Hoffnung, dass dieser sich vielleicht ohne grossen Aufwand anstelle des Unitiy’s installieren lässt. Schaun mer mal ;-)

Hier nun noch die Anleitung für die Erstellung des bootfähigen USB Sticks (am besten eignet sich hier ein leerer 2 GB Stick) mit Ubuntu Bordmitteln:

Schritt 1:

Download des 11.04 Images bei Canonical

Schritt 2:

Öffnen des Startmedienerstellers über System –> Systemverwaltung –> Startmedienersteller

Wenn der Download des Images ins Standard Download-Verzeichnis erfolgte, wird hier im oberen Bereich schon entsprechendes ISO angezeigt. Ansonsten einfach zum Download navigieren. Im unteren Bereich finden sich die Laufwerke des Rechners und wenn der USB Stick schon eingesteckt wurde, sollte auch dieser in der Liste erscheinen. Ich wähle hier den untersten Eintrag mit der Angabe des freien Speicherplatzes aus und klicke auf „Startmedium erstellen“. Los gehts.




Schritt 3:

Das ISO wird auf den Stick kopiert und bootfähig gemacht.






Schritt 4:

Fertig. Der Stick kann nun zum Starten oder auch für die Installation des Narwhales verwendet werden. Einfach in den entsprechenden Rechner stecken und im Bios (oder Startmenü) die „boot from USB“ Option auswählen.






Ich hoffe, ich konnte noch irgendjemandem da draussen etwas neues zeigen und wünsche nun viel Spass beim Selbsttest mit Ubuntu 11.04 Natty Narwhal Alpha