ubuntuusers.de

18. Juli 2009

Moin liebe Lesergemeinde,

heute möchte ich euch meinen Lieblingsmusik Tagger vorstellen. Er heißt MusicBrainz Picard und nutzt zum Taggen der Musik den Online Dienst musicbrainz.org.

Aber was ist das besondere an diesem Programm? Es ist sehr simpel. Man lädt seine nicht oder schlecht getaggte Musik in das Programm, klickt auf einen Button und das Programm sucht das Lied in der Datenbank des Onlinedienstes und bietet an, die gefundenen Tags in die Musikdatei zu schreiben. Man kann ebenfalls seine eigenen Musikdateien nach einem festgelegten Schema umbenennen lassen.

Das ganze funktioniert, indem das Programm einen Fingerabdruck des Liedes erstellt. Normalerweise ist jedes Lied einzigartig im Fingerabdruck. Ist das Lied schon in der Datenbank vorhanden, wird der Fingerabdruck gefunden und das Lied damit identifiziert. Bis jetzt waren alle Lieder, die ich taggen wollte bereits in der Datenbank vorhanden. Wenn dies einmal nicht der Fall sein sollte, kann man auch selbst die Einträge zu MusicBraniz hochladen, muss dann aber seine Dateien selber Taggen.

Durch verschieden starke Kompression der Musikdateien, unterschiedliche Versionen eines Albums/Liedes oder auch das Vorkommen eines Liedes in mehreren Alben/Singles führt manchmal dazu, dass Lieder falsch zugeordnet werden. Dann muss man selber etwas Hand anlegen und kann die Musik per Drag and Drop an die richtige Stelle schieben, oder auch Online in der Datenbank nachschauen und den passenden Eintrag auswählen.

Zur Bedienung:

musicbrainz picard

Das Fenster ist Zweigeteilt. Links werden die noch nicht erkannten Original Dateien angezeigt. Rechts die gefundenen und zugeordneten und auch bereits getaggten Lieder. Will man nun ein Album Taggen, wählt man den entsprechenden Ordner aus. Sind bereits Metadaten im Lied vorhanden, kann man die schnellere Methode (Lookup) vornehmen. In dieser Variante werden nur die Tags verglichen und nach diesen Einträge gesucht. Sind noch keine Tags vorhanden, muss man auf Prüfen klicken. Jetzt wird ein Fingerabdruck erzeugt und online verglichen. Diese Variante dauert recht lange. Wurde alles gefunden und hat man sein Album zusammen, kann man mit Speichern die Tags schreiben und gleichzeitig nach Schema umbenennen. Das Schema stellt man unter Einstellungen → File Naming ein.

Bei mir funktioniert das meistens zuverlässig und einfach ohne großen Aufwand.

Installieren kann man das Programm unter Ubuntu mit dem Befehl:

sudo apt-get install picard

‚Es ist zum Mäuse melken‘. ;-) Kaum installiert man eine neue Version von Firefox, werden eine ganze Reihe von Add-ons blockiert, weil sie (angeblich) nicht zum neuesten Wurf des Fuchses kompatibel sind. Das wird bei diversen Add-ons schon seinen Grund haben! Aber wieso sollen so einfache Add-ons wie Live PageRank und Tomfox auf einmal nicht mehr funktionieren? Das entzog sich irgendwie meiner Logik und ich suchte Abhilfe. Wer weiß, wann der Herausgeber sich um die Anpassungen kümmert…

ff-extensionsIn der Annahme, dass in irgendeiner Datei der Extensions wohl die Versionsnummer versteckt ist, bin ich auf die Suche gegangen → und schnell fündig geworden! Erster Anlaufpunkt war das versteckte Verzeichnis im Home-Ordner .mozilla. Genauer gesagt, muss man sich zu diesem Ordner vorklicken: .mozilla/firefox-3.5/zufallswert.default/extensions. Dort findet man die Ordner aller Add-ons mit Teils kryptischen Namen (siehe Bild).

Im 2. Ordner von oben {8061ddcf….} versteckten sich z.B. bei mir die Dateien für den Live PageRank. Ich klickte mich durch die Dateien und öffnete sie – wenn möglich – mit dem Texteditor. Bei der Datei install.rdf im Hauptordner des Add-ons wurde ich dann fündig! Diese Datei existiert in jedem Add-on-Verzeichnis und kann im Texteditor geöffnet werden.

install-rdfAuf dem Bild links (bitte vergrößern) seht Ihr eine Zeile, die ich hervorgehoben habe. Ursprünglich lautete die Versionsnummer 3.0.* und wie zu sehen ist, habe ich das Plugin vorsorglich zum kommenden Firefox der 4. Generation kompatibel gemacht. ;-)

Nach der Änderung habe ich den Firefox 3.5 neu gestartet und siehe da? Das Add-on verrichtet wieder seinen Dienst. Das war mir aber nicht so wichtig wie Tomfox, einem Add-on, mit welchem sich markierte Texte ganz schnell als Tomboy-Notiz speichern lassen. Dieses Tool nutze ich sehr oft und vermisste es am meisten. Zum Glück hat der entsprechende Ordner einen eindeutigen Namen. Eventuell muss man sich durchklicken und in die install.rdf-Dateien hineinsehen, oben gibt es den Tag ‹em:name›, der den Namen enthält.

Also öffnete ich wieder die Datei install.rdf und suchte den Tag ‹em:maxVersion› bzw. die  Versionsnummer. Und tatsächlich fand ich den Eintrag, diesesmal am Ende der Datei. Und auch hier funktionierte es wieder mit der „Vorspiegelung falscher Tatsachen“… :affe:

Fazit: Kleine Ursache → große Wirkung. Bevor Ihr Euch jetzt aber über den Extensions-Ordner hermacht, ein Warnhinweis:

Ich übernehme keinerlei Garantie, dass diese Vorgehensweise auch bei Euch funktioniert! Ihr macht das auf eigene Gefahr! Wenn Ihr Euch nicht sicher seid, lasst bitte die Finger davon und wartet auf das offizielle Update. OK?

Aber wie sagen die Bayern? „Wer nichts wagt, kommt nie nach Stadelheim!“ Ich wünsche Euch viel Glück!

Edit: Das in den Kommentaren empfohlene Add-on Nightly Tester Tools soll helfen? Also wenn ich mit Firefox 3.5 auf die Seite gehe, zeigt er mir ebenfalls an, dass das Tool für eine ältere Version bestimmt ist und lässt sich nicht installieren… :grins:

Seit iPhone OS 3.0 gibt es die Möglichkeit des “Tetherings”, auf gut deutsch: die Nutzung des iPhones als UMTS-Modem. Wie das nun genau funktioniert, und ob es überhaupt mit Linux funktioniert kann ich leider nicht testen, da ich noch das iPhone Classic besitze, welches aus marketing “technischen” Gründen diese Funktion nicht besitzt.

Wie dem auch sei, es muss eine Lösung her! Bislang bin ich über ein altes Nokia 6300 unterwegs ins Internet gegangen, MultiSim sei dank. Aber richtig prickelnd ist das nicht. Besser wäre es, das iPhone dafür zu benutzen. Ausserdem sollte es nicht WLAN-basierend sein, sondern über das USB-Kabel funktionieren, damit sich das iPhone vom Laptop mit Strom versorgen kann und nicht in 2 Stunden leer gesaugt ist.

Zum Glück ist das Internet groß und voller Informationen, so dass man das Rad nicht neu erfinden muss. Daher geht der ganze Dank für diesen Artikel auch an snap_b, der hier den Großteil der Anleitung auf English veröffentlicht hat.

Ziel ist es, eine PPP-Verbindung über SSH aufzubauen.

Ich werde nun im Folgenden den Artikel übersetzen und mit einem kleinem Script am Ende versehen, damit das Ganze etwas komfortabler wird.

Alle Befehle müssen als Root ausgeführt werden!

Schritt 1: iTunnel

iTunnel ermöglicht es, eine SSH-Verbindung aufs iPhone über das USB-Kabel herzustellen. Man läd es hier runter und entpackt es nach /opt/itunnel

Eine Installation ist nicht notwendig.

Nun wird iTunnel kurz getestet (als Root!):

/opt/itunnel/itunnel

Es sollte folgendes zu sehen sein:

get_iPhone() success
- successfully got device
server waiting for ssh connection

Auf einer zweiten Konsole stellt man nun eine SSH-Verbindung her:

ssh -p 3023 localhost

Wie man sieht, stellt iTunnel eine SSH-Verbindung auf localhost mit Port 3023 bereit. Nun sollte man in der Konsole des iPhones sein.

Schritt 2: Passwortloser Zugriff

Damit man nicht jedesmal sein Passwort eingeben muss, werden nun SSH-Keys ausgetauscht. Dazu wird zuerst ein Key auf dem Host erstellt:

ssh-keygen

dabei können alle Abfragen einfach mit Enter bestätigt werden!

als nächstes muss auf dem iPhone etwas getan werden:

ssh -p 3023 localhost
mkdir /var/root/.ssh

normalerweise würde jetzt einfach der SSH-Key mit scp kopiert werden, da es leider mit der Firmware 3.0 des iPhones und der aktuellen iTunnel Version ein Problem gibt, ist es nicht Möglich etwas vom Host auf das iPhone per scp zu kopieren. Deswegen habe ich den “Umweg” über iFuse genommen. Wie das geht steht hier.

Hat man das iPhone über iFuse eingebunden, zum Beispiel unter /media/iPhone dann kann man nun die Keys kopieren.

cp /var/root/.ssh/id_rsa.pub /media/iPhone/private/var/root/.ssh/

Nun wieder zurück zum iTunnel und ab aufs iPhone. Dort dann folgendes Copy&Pasten:

mv /var/root/.ssh/id_rsa.pub /var/root/.ssh/authorized_keys2
chmod 755 /var/root
chmod 700 /var/root/.ssh
chmod 644 /var/root/.ssh/authorized_keys2
exit

Nun sollte man sich mit:

ssh -p 3023 localhost

auf sein iPhone einloggen können, ohne das ein Passwort verlangt wird.

Schritt 3: slirp und terminal

Auf iPhone Seite braucht man zum einen das Programm slirp welches eine PPP-Verbindung über eine SSH-Verbindung erstellen kann und zum anderen das Programm Terminal, damit man slirp auch starten kann ;) Beide sind über Cydia erhältlich.

Schritt 4: Das PPP-Script

Das Script für die PPP-Verbindung erstellen:

touch /usr/local/bin/itether

und folgendes reinschreiben:

#!/bin/sh
IP="10.0.2.15:10.0.2.2"
NETMASK="255.255.255.0"
BAUD="115200"
DEBUG="debug logfile /tmp/ppp.log"
COMPRESS=""
PTY="env SSH_AUTH_SOCK=/tmp/501/SSHKeychain.socket ssh -t root@localhost -p 3023 /usr/bin/slirp -P -b $BAUD"
 
pppd $IP netmask $NETMASK $BAUD local noauth defaultroute $DEBUG usepeerdns pty "$PTY"

Schritt 4: Die Start und Stop-Scripte:

Das Script für den Verbindungsaufbau erstellen:

touch /usr/local/bin/istart

und folgendes reinschreiben:

#!/bin/bash
/opt/itunnel/itunnel&
sleep 2
itether&
sleep 4
echo "nameserver 208.67.222.222" > /etc/resolv.conf
while [ TRUE ]
do
sleep 5
done

Das Script für den Verbindungsabbau:

touch /usr/local/bin/istop

und folgendes reinschreiben:

#!/bin/bash
killall pppd && killall itunnel

Schritt 5: Die Verbindung herstellen

Zuerst wird auf dem iPhone slirp gestartet. Dazu einfach die Terminal App öffnen, slirp eingeben, enter drücken und Terminal App wieder schließen. Slirp bleibt solange gestartet, bis es beendet wird, oder das iPhone neustartet.

Wie sich herausgestellt hat, ist es nicht nötig auf dem iPhone zuerst slirp zu starten! Allerdings gibt es das Problem, dass das istart Script erst beim zweiten mal funktioniert, wenn das iPhone oder der PC nach der letzten Verbindung neugestartet wurden… Jemand eine Idee warum?

Nun braucht nur noch das Script istart als Root aufgerufen werden und nach ca 10 Sekunden sollte man über das iPhone online sein!

17. Juli 2009

vbox_smallVirtualBox bietet die Möglichkeit im Gastsystem auf Ordner des Hostsystems zuzugreifen um Daten zwischen den System austauschen zu können. Jedoch ist die Einrichtung des Zugriffes mit einem Linux-Gastsystem nicht wirklich intuitiv gelöst, daher möchte ich die Vorgehensweise kurz beschreiben. In meinem Fall arbeite ich als Host mit einer Ubuntu 9.04 (Jaunty Jackalope) Installation und verwende VirtualBox um z.B die neueste Entwicklungsversion von Ubuntu – aktuell gerade Ubuntu 9.10 (Karmic Koala) – zu testen oder um Software zuvor in einer virtuellen Maschine zu testen, bevor sie auf meinen Hauptrechner kommt.

Folgende Punkte müssen durchgeführt werden, damit mein einen “Gemeinsamen Ordner” konfigurieren kann:

  1. Als erstes muss man die Gasterweiterungen installieren. Dazu öffnet man den folgenden Menüpunkt von VirtualBox (ich habe VirtualBox in englischer Sprache installiert, daher sind die Menüeinträge in meinem Screenshots nicht Deutsch :-) )
    MountVBoxGuest

    Danach öffnet man das Terminal und gibt folgende Befehle ein

    cd /media/cdrom
    sudo ./VBoxLinuxAdditions-x86.run

    oder wenn Ihr ein 64-bit System installiert habt

    cd /media/cdrom
    sudo ./VBoxLinuxAdditions-amd64.run
  2. Nun öffnet man das VirtualBox Menü “Geräte->Gemeinsame Ordner…” und fügt dort einen Ordner der virtuellen Maschine hinzu
    OpenSharedFoldersFormSharedFolders
  3. Danach legt man sich einen Mountpoint im Gastsystem an.
    sudo mkdir /home/bernd/hostdata
  4. Nun kann man das Verzeichnis mounten
    sudo mount -o uid=1000,gid=1000 -t vboxsf bernd-share /home/bernd/hostdata
  5. Will man das Verzeichnis beim Booten automatisch mounten, so muss man einen Eintrag in der /etc/fstab hinzufügen:
    echo "bernd-share /home/bernd/hostdata vboxsf uid=1000,gid=1000 0 0" \
    | sudo tee -a /etc/fstab

    Ist das Verzeichnis jetzt noch nicht gemountet, kann man nun folgenden Mountbefehl ausführen

    sudo mount -a
Share/Save/Bookmark

Der Netzwerkscanner Nmap ist nun in Version 5 verfügbar und bringt einige Nettigkeiten wie die Ndiff, womit automatisierte Scans Änderungen im Netzwerk feststellen können, Ncat hilft beim Debuggen von Serverdiensten, und die Leistung des Scanners wurde verbessert. Die grafische Oberfläche Zenmap wurde ebenfalls neu aufgelegt.

Wie immer werden zu den Quellen auch Installationsdateien für Windows und RPM-Pakete für SUSE und RedHat zur Verfügung gestellt. Debianer und solche, die ihnen nahestehen, werden damit nicht berücksichtigt.

Wer Nmap 5 trotzdem nicht missen möchte, aber auf das Kompilieren direkt aus den Quellen keine Lust verspürt, dem bleibt noch die Option mit alien. Dieses lässt sich über das gleichnamige Paket aus den Paketquellen installieren. Dann lädt man sich die Nmap-RPM-Pakete von der Download-Seite und lässt das Alien auf sie los.

sudo alien nmap-5.00-1.x86_64.rpm

Das Ergebnis ist ein .deb-Paket, dass sich mit dpkg oder gdebi installieren lässt. Alternativ kann man alien mit der Option -i dazu verleiten, die Installation auch gleich selbst vorzunehmen. Die Pakete gehören jedoch dem Benutzer root, was beim Herumkopieren oder Aufräumen des eigenen Home-Verzeichnisses mitunter problematisch sein kann. Die Berechtigung ändert man wie folgt:
sudo chown ich:ich nmap_5.00-2_amd64.deb

Dabei sollte jedoch "ich" durch den eigenen Benutzernamen ersetzt werden.

Quelle: Pro-Linux

Hinweis: Für alle, denen auch das noch zuviel ist, habe ich ein paar Pakete (Nmap, Ncat & Zenmap) auf dem oben beschriebenen Weg erzeugt. Bitte beachten, dass ihr sie auf eigene Gefahr installiert. Ich will nicht schuld sein, wenn sie jemandem das System zerhauen.

AnhangGröße
nmap_5.00-2_i386.deb2.22 MB
nmap_5.00-2_amd64.deb2.48 MB
ncat_5.00-2_i386.deb607.33 KB
ncat_5.00-2_amd64.deb663.07 KB
zenmap_5.00-2_all.deb657.82 KB

 

Als PIM Lösung habe ich derzeit Evolution im Einsatz, da ich auf den Exchange Server Adapter angewiesen bin. Mit dem Adapter kann ich bequem auf Gruppenkalender, Notizen und Mails als auch Kontakte aller Art zugreifen. Einige Dinge werden erst sichbar, wenn man Sie via Outlook seinen Favoriten hinzugefügt hat. Ich habe bisher noch keine funktionierende Lösung für Kontact gefunden. Aber sobald es via Kontact / Akonadi bereigestellt wird schwenke ich natürlich um :-)

Welche Clients nutzt ihr ?

Weitere Artikel:

Ich lasse im Firefox immer die Tableiste anzeigen und fand es auch ganz praktisch, den letzten Tab zu schließen und dafür eine leere, weiße Seite zu sehen. Mit dem Firefox 3.5 geht es nur auf Umwegen: Neuen (leeren) Tab öffnen → anderen Tab schließen. Das ist etwas umständlich. Eine Lösung habe ich im Forum von chip.de gefunden. Dort empfiehlt der User Lex1982 folgendes:

Zuerst in der about:config den Wert browser.tabs.closeWindowWithLastTab auf False setzen. Um den Schließen-Button anzuzeigen, editiert man die Datei .mozilla/firefox-3.5/zufallswert.default/chrome/userChrome.css im Home-Ordner. Falls nicht vorhanden, legt man diese Datei an. In die Datei schreibt folgendes:

/* Add tab-close-button to last tab*/
.tabbrowser-tabs[closebuttons="alltabs"] >
.tabbrowser-tab > .tab-close-button {
display: -moz-box !important;
}
.tabbrowser-tabs:not([closebuttons="noclose"]):not([closebuttons="closeatend"]) >
.tabbrowser-tab[selected="true"] > .tab-close-button {
display: -moz-box !important;
}

Nach einem Neustart ist alles wie beim Firefox 3.0 gehabt. Wer jetzt aber seine eingestellte Startseite anzeigen lassen will oder z.B. Speed Dial, der sollte sich das Plugin NewTabURL installieren. Vielen Dank unbekannterweise in Richtung Chip-Forum! .daumenhoch:

Edit: Es geht auch ohne die Änderungen mit dem Tastenkürzel STRG + w. Vielen Dank an den Leser scheibenkaes für den Tipp! .daumenhoch:

Zum 60-jährigen Jubiläum der Hilfsorganisation SOS-Kinderdörfer erscheint ein neues Magazin. Wie ich in der Pressemeldung las, heißt dieses weltweit erscheinende Magazin „Ubuntu“!

Ubuntu?!  Ja, genau. Wie unsere bevorzugte und weltweit bekannte Linux-Distribution… SOS-Kinderdörfer ist eine der wenigen Organisationen, denen ich vertraue und die eine wirklich bewundernswerte Arbeit leisten. Was die beauftragte „Medienfabrik“ (ich werde die ganz bewusst nicht noch extra verlinken!) aber nun macht, stößt recht bitter bei mir auf.

OK, Ubuntu steht für Menschlichkeit, Solidarität und Zusammenhalt. Dass man aber gerade diesen Namen wählte, riecht nach Trittbrettfahrer. In meinen Augen will man mit einem bekannten Namen die große Kasse machen. Gebe es die Linuxdistribution nicht, hätte man da diesen Namen gewählt? Garantiert nicht! Die Hilfsorganisation SOS-Kinderdörfer tut sich damit keinen Gefallen und ich wäre nicht überrascht, wenn es da seitens Canonical zu einem berechtigten Einspruch käme.

Mensch, Leute von SOS-Kinderdörfer! Habt Ihr das wirklich nötig?

Edit: Bilde Dir Deine eigene Meinung. Das hier ist meine und „noch“ darf ich die haben…

Nachdem ich mich ja schon zum Firefox 3.5 geäußert hatte, sind mir noch ein paar Kleinigkeiten aufgefallen. Sehr interessant ist folgendes: Ich kann eine Seite mit “Strg + F5″ neu laden und dabei den Cache für die Seite leeren. Bisher funktionierte das auch mit dem Halten des Strg-Buttons und einem Klick auf das Reload-Icon. Im FF3.5 lädt die Seite dann in einem neuen Tab (das Klicken eines Links bei gedrücktem Strg öffnet den Link in einem neuen Tab). Das ist dabei plattformunabhängig.

Was nicht plattformunabhängig ist, ist folgendes: Man markiere auf einer Seite ein Wort, ziehe dieses in das Suchfeld oben rechts, und drücke vor dem loslassen die Alt-Taste und halte sie bis nach dem loslassen des Mausbuttons gedrückt. Das Ergebnis im Firefox 3.0: Die Suche nach dem Wort wird in einem neuen Tab geöffnet. Mache ich das ohne Alt zu drücken, wird Google im aktuellen Tab geöffnet.

Im Firefox 3.5 sieht das anders aus: Unter Windows funktioniert das Verhalten noch exakt genau so. Unter Linux wird die Suche immer im aktuellen Tab geöffnet. Netterweise gibts die Option alle Suchen im neuen Tab zu öffnen in den Einstellungen, was dazu führt, dass ein Suchbegriff, der mit Alt+Enter bestätigt wird, im aktuellen Tab aufgeht, eine normale Suche mit Enter im neuen Tab. Das Alt-Handling beim Drag’n'Drop funktionert da irgendwie trotzdem nicht richtig.

Sollte jemand dafür eine Lösung haben, darf er sich gerne melden, das mit richtigen Suchkeywords ist nämlich nicht immer so einfach…

16. Juli 2009

Fun with FirefoxHochgeladen unter CC-BY-NC-SA von  Sparrow*

Unbeachtet des JS-Exploits, der für den FF 3.5 kursiert, ist der Firefox unter Linux und unter Windows extrem schnell. Positiv unter Windows (Firma) war der Eindruck der Startzeit. Fenster (z.B. Popups) sind im Prinzip direkt auf, der alte 3.0 hat da immer irgendwie ne Ruhepause gebraucht, um ein Window-Handle zu bekommen. Generell hat sich bei mir das Startverhalten generell deutlich verbessert.

Unter Linux war der Eindruck weniger gut, zumindest am Anfang. Ich habe den Vanilla-Firefox direkt von Mozilla bezogen nach /opt geschoben und meine Symlinks angepasst. Kein großes Ding.

Gestern habe ich dann einen extrem nervigen Bug entdeckt: Der Firefox verabschiedet sich freundlich, wenn ich ein Flashvideo im Vollbild gucken möchte. Die Lösung habe ich allerdings schon gefunden, nur noch nicht eingebaut, was heute abend nachgeholt wird. Ärgerlich ist es allemal.

Dazu kommt, bzw. kam, dass der Firefox die Gnome-Settings für die Schriften völlig ignoriert hat. Dazu habe ich dann meine Fontconfig-Settings aus den Gnome-Settings geupdatet, da das “Ubuntu Modification Pack” das vermutlich normalerweise übernimmt, aber extern für den FF3.5 nicht zur Verfügung steht.

Mittlerweile läuft der Panda wie gewünscht, und das sollte die Hauptsache sein. Die Aktion auf meinem Notebook dürfte dank Jaunty weniger kompliziert werden.

Fazit: Wer sich über einen langsamen Firefox 3 ärgert, sollte wirklich dringend updaten. Und die wichtigsten Plugins gibts auch schon für den 3.5, ansonsten helfen die Nightly-Tester-Tools auch gerne weiter.

IBM startete 2001 das OpenSource-Projekt Eclipse und wird mittlerweile von einer großen Community gepflegt. Ursprünglich als IDE für Java gedacht, öffnete sich das Programm durch Plugins auch anderen Sprachen. So ist auch Aptana daraus entstanden, welches eigenständig oder als Plugin läuft. Die Bedienung ist fast gleich, weshalb ich das alles in einem Artikel abwickeln werde und dabei auch nur auf die Fähigkeiten rund um HTML/PHP eingehe. 

aptanaEclipse selbst lässt sich aus den Paketquellen von Ubuntu installieren. Aptana richtet sich speziell an die Webentwickler und kann von der entsprechenden Seite heruntergeladen werden. Man entpackt die Pakete in einen geeigneten Ordner, es kann sogar innerhalb des Home-Ordners sein. Alle Dateien und Abhängigkeiten, selbst die Java-Runtime, sind im Paket enthalten. So reicht dann auch das Löschen des Ordners, um das Programm eventuell wieder loszuwerden. Wer das zu schätzen weiß, kann auch auf die Installation des „großen“ Eclipse vorerst verzichten und es mit EasyEclipse versuchen. easyeclipseAuch dieses Eclipse-Paket enthält alle benötigten Dateien und Abhängigkeiten.

Positives

Dank Java läuft Eclipse auch unter Linux. Leider bin ich mir nicht sicher, ob das ein Fluch oder Segen ist (Erklärung folgt unter „Negatives“). Egal, welchen Fenstermanager man nutzt, Eclipse bringt sein eigenes Interface mit. Und ich muss sagen, das sieht gut aus!

Eclipse und seine Ableger arbeiten mit sogenannten Perspektiven. Das heißt, für jede denkbare Tätigkeit – die Arbeit mit Java, PHP, HTML, fürs Debuggen oder die Synchronisation im Team usw. – lässt sich die Programmoberfläche nach belieben anpassen bzw. vorgefertigte Perspektiven laden. Eine gute Idee, so etwas habe ich bisher nirgends gesehen.

Der Editor selbst bringt alles mit, was man sich wünscht. Für HTML, PHP, CSS und vor allem für Javascript und bekannte Frameworks wie jQuery, Dojo, Mootools, Prototype, … und andere Sprachen wie Python, Ruby, Adobe Air usw. lassen sich per Plugin die notwendigen Unterstützungen nachladen. Wer gern mit einer der Ajax-Bibliotheken arbeitet, für den ist Eclipse/Aptana unbedingt einen Blick wert. Ich glaube, kein anderes Programm ist so vielfältig.

aptana1Autocomplete-Funktion und Calltipps in PHP und HTML sind ausgezeichnet

aptana2

Die Umsetzung der jeweiligen Unterstützung ist lobenswert. Autocomplete, Calltipps, Outline-Ansichten, u.v.m. → da kann man nur sagen: „Herz, was willst Du mehr!“ Ja, wäre da nicht die negative Seite, auf die wir nun zu sprechen kommen.

Negatives

1. Der Start dauert länger als das ganze Betriebssystem unter Jaunty. Damit kann man leben, als Standardeditor für die schnelle Anzeige von HTML‑ oder PHP-Dateien fällt Eclipse/Aptana aber aus. Es sind eben Java-Programme.

2. Man wird „gezwungen“ mit sogenannten Workspaces zu arbeiten. Hier scheiterten schon frühere Versuche von mir, mich mit Eclipse/Aptana anzufreunden. Seit Jahren habe ich meine eigene Ordnerstruktur, mit der ich sehr gut zurecht komme. Das Programm bietet zwar an, Ordner zu importieren, dabei stellte ich zwei Mängel fest: Einmal werden die Dateien richtig importiert, bei einem anderen Versuch anscheinend nur verlinkt. Neue Dateien erstellt  die aktuelle Version von Aptana aber im Workspace und nicht in meinem Projektordner. Das ist konfus – liese sich vielleicht durch die richtigen Einstellungen beheben (welche sind das?) – aber ich traue dem ganzen nicht, es bleibt immer ein unsicheres Gefühl. Denn das Letzte, was ich benötige, ist ein Chaos in meinen Projekten!

Dann importierte ich ein älteres Projekt mit vielen HTML/PHP-Dateien. Will ich diese öffnen, stürzt das Programm gnadenlos ab. Und auch das ist leider nicht annehmbar. Edit: Auch wenn diese nicht im UTF-8-Format, sondern unter Windows mit MS-ANSI und der Zeichencodierung ISO-8859–1 gespeichert wurden.

3. Apropos Abstürze: Die aktuell getestete Version von Aptana lief im Laufe dieses Tests stabil, EasyEclipse und frühere Tests zeigten mir aber, dass diese Programme recht absturzfreudig sind – den Grund kann ich nur auf die Java-Engine schieben.

4. Der Editor bietet wie erwähnt viel Unterstützung, geht aber auch zu Lasten der Geschwindigkeit. In größeren Dokumenten scrollen oder den Cursor bewegen – das geht dann etwas behäbig.  Und ich habe einen recht schnellen PC mit DualCore-Prozessor und 4GB Speicher! Aber das Schlimmste: Lösche ich mit der Backspace-Taste; halte die Taste längere Zeit gedrückt und lasse sie dann los, löscht der Editor munter weiter. Ein eigenartiges Verhalten!

5. Die Vorschau von PHP-Dateien im Browser, geschweige denn das Debuggen im Programm selbst zu konfigurieren, hat mich schon einige Nerven gekostet. EasyEclipse verlangt den Pfad zur php.exe. Unter Linux?  :roll:  Bei Aptana habe ich es mit einem Testprojekt und einer einfachen Testdatei hinbekommen. Ich habe in den Projekteigenschaften mit den Einstellungen für PHP-Preview experimentiert und irgendwann ging es, als ich Use absolute URL wählte und die Adresse eingab. Dann versuchte ich es mit dem Projekt, welches ich in den Workspace  importierte und stellte den korrekten Pfad über http://localhost/… ein. Die vorhandenen Dateien konnte ich nun aufrufen. Aber neue Dateien legte Aptana im Workspace an und dann erhalte ich eine 404-Fehlermeldung. Tut mir leid, ich habe es dann aufgegeben.

Fazit

Ich möchte niemandem die Benutzung von Eclipse oder Aptana ausreden. Das Programm ist ein mächtiges Werkzeug und gerade für jene interessant, die mit verschiedenen Sprachen arbeiten, im Team und Plattformübergreifend. Aber man muss sich darauf gefasst machen, einiges an Zeit in die Einarbeitung zu investieren. Ich erwähnte es schon einmal: Jedes Programm folgt einer Philosophie (meist der der Entwickler). Hat man diese Philosophie verstanden und lässt sich darauf ein (Stichwort Workspaces), kann man bestimmt gut damit arbeiten. Außerdem habe ich – was die Funktionen betrifft – nur an der Oberfläche gekratzt! Aber es gibt Alternativen, weshalb ich mir weitere Versuche erspare.

Es existieren weiterhin kostenpflichtige Angebote (z.B. Aptana Pro und  Aptana Cloud) und auch in der Community ist einiges los. Wer sich mit Aptana beschäftigen möchte und gut Englisch kann, der sollte sich mal bei tv.aptana.com umsehen, da gibt es jede Menge Screencasts. Sowas wünscht man sich für viele andere Programme auch.

‹ironie› Aber anscheinend braucht man für das Programm so viele Videos, um es überhaupt zu verstehen?</ironie› Aptanafans mögen mir diesen kleinen Scherz  auf Kosten ihrer heiligen Kuh bitte nachsehen. ;-) Vielleicht habt Ihr für die Leser ja noch den ein oder anderen Tipp?

Das war der 5. Teil dieser Reihe, es folgen noch Quanta und Kommodo Edit. Ich würde mich freuen, wenn ihr dann wieder vorbeischaut. Bis dann, Turicon.

Navigation

Unter OSX hab ich LaTeX-Dokumente immer mit TexShop bearbeitet. Unter Ubuntu nutze ich Texmaker oder Kile.

Damit meine Texte richtig gesetzt werden, benötige ich folgende Reihenfolge:

  • pdflatex
  • bibtex
  • makeindex
  • 3x pdflatex

Netterweise kann man in Texmaker oder Kile individuelle LaTeX-Läufe generieren, so dass meine Läufe automatisch durchgeführt werden.

Zunächst installiert man Kile oder Texmaker per

sudo apt-get install kile texmaker

Danach erstelle ich mir mein individuelles Script

gedit latexlauf.script

Dieses bekommt folgenden Inhalt:

#!/bin/sh
bfname="`basename "$1" .tex`"
pdflatex "$1"
bibtex "$bfname"
makeindex "$bfname".nlo -s nomencl.ist -o "$bfname".nls
pdflatex "$1"
pdflatex "$1"
pdflatex "$1"
evince "$bfname".pdf &

Das Script wird nun gespeichert, ausführbar gemacht und verschoben:

chmod a+x latexlauf.script
sudo mv latexlauf.script /usr/local/share/

Kile

Nun öffne ich Kile und wähle “Settings => Configure Kile...” und dort unter “Tools => Build“. Unten klickt man auf “New“, denkt sich einen Namen aus (ich habe “LaTeX-Lauf” genommen) und wählt “Custom” aus. In das “Command“-Feld schreibt man nun den Namen des Scripts, also latexlauf.script und trägt in das Options-Feld

'%source'

ein. Per “Ok” wird dieser Eintrag gespeichert.

Ich musste hier Kile einmal neustarten, damit alles richtig funktioniert.
Möchte man den Lauf aktivieren, so wählt man aus dem Kile-Menü “Build => Other => LaTeX-Lauf“. Hierdurch wird das LaTeX-Dokument entsprechend gesetzt und die erzeugte PDF-Datei zur Ansicht geöffnet.

Texmaker

In Texmaker wählt man im Menü “Optionen => Texmaker konfigurieren” und wechselt in der linken Spalte auf “Schnelles Übersetzen”. Hier trägt man in das Feld unter “Benutzer: (% Dateinamen ohne Endung)” folgendes ein:

latexlauf.script %.tex

Das Script wird nun immer dann ausgeführt, wenn man in der Menüleiste auf das Symbol “Schnelles Übersetzen” klickt.

Unter OSX hab ich LaTeX-Dokumente immer mit TexShop bearbeitet. Unter Ubuntu nutze ich Texmaker oder Kile. Damit meine Texte richtig gesetzt werden, benötige ich folgende Reihenfolge: pdflatex bibtex makeindex 3x pdflatex Netterweise kann man in Texmaker oder Kile individuelle LaTeX-Läufe generieren, so dass meine Läufe automatisch durchgeführt werden. Zunächst installiert man Kile oder Texmaker per sudo apt-get install kile texmaker

15. Juli 2009

Da war ich mal wieder zu vorschnell, als ich in den Kommentaren zum großen LXDE-Test anmerkte, man könne mit dem LXDE-Panel keine eigenen Menüs realisieren. “Geht nicht gibt’s nicht” – das gilt offenbar auch insbesondere für Linux und seine Anwendungen. Das Anlegen persönlicher Menüs im LXDE-Panel erfordert derzeit zwar noch etwas Handarbeit, ist aber gar nicht so schwierig:

Um z.B. ein eigenes “Orte”-Menü, wie man es z.B. von Gnome kennt, in das Panel zu zaubern, öffnet man die Datei

/home/BENUTZERNAME/.config/lxpanel/LXDE/panels/panel

und ergänzt sie einfach am Ende mit diesen Zeilen, passt die Einträge vielleicht noch etwas auf die eigenen Bedürfnisse an – und schon hat man nach einem Neustart LXDEs ein neues Menü mit z.B. häufig genutzten Ordnern oder Dokumenten ganz rechts in der Taskleiste.

(Das neue Aufklappmenü lässt sich via Kontextklick an die gewünschte Stelle verschieben.)

Natürlich kann man sich auf diese Weise auch mehrere Menüs nebeneinander erstellen. Auf ähnliche Art lassen sich auch eigene Einträge direkt im schon vorhandenen “Startmenü” hinzufügen: Man öffnet ebenfalls die Datei $HOME/.config/lxpanel/LXDE/panels/panel und ergänzt den oberen Abschnitt (Plugin type = menu …) z.B. mit diesen Zeilen:

item {
image = …/folder_home.png
action = /usr/bin/pcmanfm
name = Eigene Dokumente
}

Dies zaubert beispielsweise den Direktzugriff auf den persönlichen Ordner ins Hauptmenü.

Ab und an stehe ich vor dem Problem, ein Discimage zu mounten. Dafür muß ich dem Mountbefehl eine Liste gruseliger Argumente mitgeben (die ich auch regelmäßig vergesse und auch nicht mehr in der Shellhistory fnden kann). Heraus kommt dann so etwas:

sudo mount COMMANDOS.bin -r -t iso9660 -o loop /media/cdrom0/

Wenn ich den Kram mühsam ins Terminal tippe, schlägt meine Order bei 60% aller Images fehl, weil es sich um irgendein krudes Format (bin, nrg,mdf…) handelt. :(

Bis vor kurzem war ich einfach zu faul mich mit diesem Problem zu beschäftigen und habe mit IsoBuster (läuft toll unter wine) die entsprechende Datei zu einem ISO-File konvertiert. Im Anschluß dann gemountet und mir in der Zwischenzeit  durch die rechte Hosentasche in die linke Zehe geschossen habe – Furchtbar aber weil ich es so selten tun muß unwürdig um  nach einer Abhilfe dafü  zu googlen :-)

Eben war das Maß dann doch voll. Bei meiner Suche bin ich auf die Tools Acetoneiso, Kiso, Isomaster sowie Furius ISO Mount gestoßen. Aus reiner Wilkür heraus habe ich Furius ISO Monut eine Chance gegeben und alle Meine Probleme haben endlich ein Ende :-) Auf der Seite werden Debianpackages von 2 Implementierungen angeboten: Python und Mono. Da RMS nicht allzuviel von Mono hält hab ich mir die Pythonversion gezogen. Die Bedienung ist selbsterklärend. File auswählen oder ins Fenster droppen, mounten und alles ist gut.

Sehr nett ist der Burn Button, der das ISO File an Brasero oder den Brenndienst (heißt das so?) von Nautilus weiterreicht. Wer möchte kann sich noch Prüfsummen generieren lassen.Wenn jmd. Erfahrungen mit den anderen Tools gemacht hat, würde ich mich sehr über einen Kommentar freuen.

Nachdem der erste Run auf den neuen Firefox vorbei ist, möchte ich das Thema Firefox 3.5 unter Ubuntu noch einmal neu aufgreifen. Die Ubuntu – Firefox 3.5 FAQ scheint die ersten Fragen zum Glück gut beantwortet zu haben, daher gehe ich hier nochmal ins Detail…

Installation

Wie in der FAQ beschrieben werden nach der Freigabe einer Ubuntu-Version keine neuen Programme oder Versionen mehr in die Paketquellen aufgenommen. So werden nur Sicherheitsupdates und essentielle Updates, die gravierende Fehler korrigieren, über die security- oder update-Quellen bereitgestellt. Doch eine neue Programmversion, wie sie eben Firefox 3.5 darstellt, kommt nicht in die offiziellen Quellen einer bereits freigegebenen Ubuntu-Version. Man muss also selber Hand anlegen, um Firefox 3.5 zu installieren.

Ubuntu Jaunty 9.04

In weiser Voraussicht wurde eine Beta-Version von Firefox in die Paketquellen von Jaunty aufgenommen. Dadurch war es möglich die finale Version von Firefox 3.5 über die offiziellen Quellen von Ubuntu “Jaunty Jackalope” 9.04 nachzureichen. Mittlerweile ist die finale Version von Firefox 3.5 dort auch gelandet. Ich persönlich würde die Installation aus diesen Quellen empfehlen. Wer also Ubuntu 9.04 betreibt, der führt einfach

$ sudo apt-get install firefox-3.5

bzw.

$ sudo apt-get install --no-install-recommends firefox-3.5

aus und schon wird die finale Version von Firefox 3.5 installiert. Der zweite Befehl eignet sich für Kubuntu-Anwender, da dabei die empfohlenen Abhängigkeiten nicht installiert werden. Siehe auch Firefox und Kubuntu, es geht auch ohne GNOME Abhängigkeiten

Allerdings nennt sich Firefox 3.5 dann nicht Firefox und das Programm trägt auch nicht das Firefox-Branding (auf gut Deutsch: das Icons ist anders). Die Gründe dafür legt Alexander Sack, ein bezahlter Entwickler von Ubuntu, in seinem Blog dar. Doch dazu später mehr…

Generell rate ich von der Deinstallation von Firefox 3.0 ab. Ihr solltet den alten Firefox am besten installiert lassen, da eine Reihe andere Pakete von Firefox abhängen.

Ältere Ubuntu Versionen

In älteren Ubuntu-Versionen kann man Firefox 3.5 nicht aus den offiziellen Paketquellen installieren. Ich empfehle daher die Paketquelle des Ubuntu Mozilla Daily Build Teams zu verwenden. Über dieses werden Testversionen der kommenden Browserversionen verteilt. Man installiert also nicht Firefox 3.5.0, sondern eine Vorabversion von Firefox 3.5.1. Allerdings gibt es bis dato keine andere vertrauenswürde Paketquelle für Firefox 3.5. Um diese Quelle zu benutzen öffnet man seine sources.list via bspw.

$ sudo gedit /etc/apt/sources.list

und fügt diese Zeilen ans Ende an…

# PPA for Ubuntu Mozilla Daily Build Team
deb http://ppa.launchpad.net/ubuntu-mozilla-daily/ppa/ubuntu hardy main
deb-src http://ppa.launchpad.net/ubuntu-mozilla-daily/ppa/ubuntu hardy main

… bitte passt das “hardy” an eure Ubuntu-Version an! Da die Pakete dieser Paketquelle eine Signatur tragen und die Paketverwaltung über die fehlende Signatur meckert, sollte man den Schlüssel dieser Paketquelle über

$ sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 247510BE

zu seinem System hinzufügen. Nun kann man Firefox 3.5 via

$ sudo apt-get update
$ sudo apt-get install firefox-3.5

installieren.

Was ist Shiretoko?

Egal welchen dieser beiden Wege man geht, nach der Installation startet ein Klick auf das übliche Firefox-Icon den Firefox 3.0. Die neue Version von Firefox nennt sich wie die Entwicklungsversion Shiretoko und trägt auch nicht das Firefox-Icon. Für die Gründe dieses Namenswechsels verweise ich nochmal auf das Blog von Alexander Sack.

Firefox nennt sich Shiretoko

Firefox nennt sich Shiretoko

Wer diesen Menüeintrag ändern möchte, der kann dies über den Menüeditor tun, den man über einen Rechtsklick auf “Anwendungen / Orte / System” und die Option “Menüs bearbeiten” aufrufen kann. Besser ist es jedoch Firefox 3.5 zum Standardbrowser zu machen, dann kann man sich die Änderungen am Menü ersparen.

Standardbrowser

Als nächstes sollte man Firefox 3.5 zum Standardbrowser im System machen. GNOME bringt dazu ein Konfigurationsprogramm mit, das man über “System -> Einstellungen -> Bevorzugte Anwendungen” aufrufen kann. Hier wählt man für den Webbrowser “Benutzerdefiniert” aus und trägt “firefox-3.5 %s” als Befehl ein.

Firefox 3.5 als Standardbrowser

Firefox 3.5 als Standardbrowser

Alternativ (und geschickter) ist es den Aufruf von Firefox umzubiegen. Wenn man in einem Terminal “firefox” eingibt, dann wird ein Link im Verzeichnis /usr/bin aufgerufen. Lässt man diesen Link auf Firefox 3.5 zeigen, dann zeigt jeder Aufruf von Firefox automatisch auf Firefox 3.5. Wenn man also einmalig den Befehl

$ sudo ln -f -s /usr/bin/firefox-3.5 /usr/bin/firefox

ausführt, dann muss man keine Menüeinträge ändern, keine bevorzugten Anwendungen anpassen. Firefox 3.5 ersetzt dann Firefox 3.0 vollständig, egal welche Desktopumgebung man verwendet.

Deutsches Sprachpaket

Der aus den Paketquellen installierte Firefox ist auf Englisch, es gibt auch keine Sprachpakete, die man aus den Paketquellen installieren könnte. Daher sollte man sich als nächstes daran machen Firefox einzudeutschen.

Mozilla stellt eine Sprachdatei zur Verfügung. Die de.xpi genannte Datei findet man beispielsweise auf firefox-browser.de. Zur Installation muss man nur auf den Download-Link klicken und der Webseite erlauben das Plugin zu installieren. Nach einem Neustart von Firefox ist das Programm dann auf Deutsch.

[UPDATE 18.7.09] Das auf firefox-browser.de verfügbare Sprachpaket ist im Moment veraltet, so dass es sich mit Firefox 3.5.1 nicht benutzen lässt. Mozilla hat jedoch schon hier eine aktuelle Version bereit gestellt. [/UPDATE]

Wer eine Vorabversion von Firefox 3.5.x aus den ubuntu-mozilla-daily Paketquellen installiert hat, der kann die zuvor genannte Sprachdatei nicht installieren. Unter Deutsches Sprachpaket für Firefox 3.5.* (Nightly, “Shiretoko”) findet man jedoch eine Sprachdatei, die sich auch unter der Testversion benutzen lässt.

User-Agent

Webbrowser übermitteln üblicherweise an den Webserver Informationen “was” für ein Webbrowser sie sind. In der Fachsprache heißt diese Information der User Agent. Firefox 3.5 aus den Paketquellen sagt dem Webserver dass er “Shiretoko/3.5″ heißt. Das Problem: Manche Webseiten versuchen sich an den Browser anzupassen. Mit “Shiretoko/3.5″ können sie nichts anfangen und stellen den Betrieb ein. MacVillage, hat das Thema amüsant aufbereitet. Um es kurz zu machen: Man sollte den User Agent auf Firefox ändern. Dazu ruft man in Firefox die Pseudo-URL “about:config” auf und sucht nach dem Schlüssel “general.useragent.extra.firefox”

Den User-Agent in Firefox ändern.

Den User-Agent in Firefox ändern.

Ändert man den Wert auf “Firefox/3.5″, dann sollte keine Webseite mehr über den User Agent stolpern, da sich der Browser wieder als handelsüblicher Firefox ausgiebt.

Mittelklick öffnet Inhalt der Zwischenablage als Link

Der Linux-Firefox, hat in meinem Augen das nervige Verhalten den Inhalt der Zwischenablage als URL zu öffnen, wenn man abseits eines Links mit der mittleren Maustaste in das Firefox-Fenster klickt. Mir passiert das recht oft, wenn ich einen Link in einem neuen Firefox-Tab öffnen möchte, den Link aber nicht genau treffe.

Dieses Verhalten kann man abstellen, indem man wieder “about:config” in Adresszeile eingibt und diesmal nach dem Schlüssel “middlemouse.contentLoadURL” sucht. Setzt man den Wert auf “false”, dann macht Firefox nichts mehr, wenn man sich mal verklickt.

Blaue Farbe in der Adressleiste

Als letzter Punkt stört mich persönlich noch die blaue Farbe von Links in der Adressleiste. Diese Farbe passt sich leider noch nicht an das Farbschema des Desktops an. Daher muss man hier selber Hand anlegen.

Blaue Links in der Adressleiste

Blaue Links in der Adressleiste

Um die Farbe zu ändern muss man die Datei userChrome.css im Ordner ~/.mozilla/firefox-3.5/zufallswert.default/chrome erstellen bzw. ändern und den Inhalt

.ac-comment {
        font-size: 100%! important;
        color: #F0F0F0 ! important;
}
.ac-comment[selected="true"] { color: #FFFFFF !important; }
.ac-url-text {
        font-size: 100% ! important;
        color: #888888 ! important;
}
.ac-url-text[selected="true"] { color: #FFFFFF !important; }

einfügen. Diese Farben passen recht gut zu dem von mir genutzen Desktop-Stil Shiki-Colors, sollte man ein anderes Desktop-Thema verwenden, so muss man eventuell an den dort angegebenen Farbwerten spielen.

Crash bei Adobe Flash im Vollbild

Vereinzelt berichten Benutzer von Firefox 3.5 von Abstürzen des Browser, wenn Vollbild-Videos via Adobe Flash auf bspw. YouTube angesehen werden. Dies lässt sich wohl lösen, wenn in der Datei /usr/lib/firefox-3.5/firefox.sh via bspw.

$ sudo gedit /usr/lib/firefox-3.5/firefox.sh

die Zeile

export LD_PRELOAD=/usr/lib/libGL.so.1

eingefügt wird. Die Position der Zeile ist nicht so wichtig, es bietet sich an den Befehl nach “#!/bin/bash” als zweiten Zeile einzufügen.


Comments

Google hat ja bekanntlich ein neues Netbook Betriebssystem angekündigt. Ich sehe dieses als größte Gefahr für FLOSS der letzten Jahre und ich hoffe und wünsche mir, dass es kein Erfolg wird. Der einzigen anderen Firma, der ich bisher nicht Erfolg gewünscht habe ist der Riese aus Redmond. Ich habe jetzt so sehr Angst vor Chrome, dass ich selbst mit dem Teufel, in Form von MS, paktieren würde, um dieses neue Betriebssystem zu bekämpfen.

Nun woher kommt diese Abneigung gegen Chrome OS? Laut der Ankündigung ist es doch Open Source. Also alles in Ordnung, warum sollte Open Source ein Angriff auf Open Source sein?

Nun allein die Ankündigung, dass es Open Source ist, ist ja schon der erste Punkt. Von Lizenz wurde noch nichts gesagt. Warum nicht freie Software? Ich gehe hier mal vom schlimmsten aus und denke es wird eine recht unhandliche Lizenz.

So schauen wir uns doch mal ein paar Schmankerl aus der Ankündigung an:

The user interface is minimal to stay out of your way, and most of the user experience takes place on the web.

D.h. Chrome OS wird nicht mehr sein als ein Browser. Alle Anwendungen laufen im Web. Nun ist es ja toll, dass Chrome OS komplett Open Source ist. Aber die Anwendungen, die man nutzt laufen auf Servern, nicht auf dem Gerät. Kann man da noch von Open Source sprechen? Wer hat schon den Code von GMail gesehen?

Wer Chrome OS benutzt, wird nicht nur seine Daten an Google geben, sondern auch die Berechnungen auslagern. Das Gerät wird ohne Internetzugang so gut wie unbenutzbar sein. Google ist schon eine Datenkrake, aber man muss sich bewusst machen, welche Daten sie mit Chrome OS in der Hand haben. Sie werden alles wissen. Sie werden wissen wie genau der Workflow aussieht, sie werden einen kontrollieren. 1984 - here we come. Ich hätte nie gedacht, dass der Angriff auf die Privatspähre in dieser Form nicht vom Staat ausgeht. Ganz klar: Stasi 2.0 ist Kindergarten dagegen.

Nun denn, der Leser mag sich denken: hey ich benutze doch die Webanwendungen gar nicht. Ich installiere einfach meine übliche Software und gut ist. Ist ja Linux - Chrome OS ist nichts mehr als eine weitere Distri. Tja leider nicht:

The software architecture is simple — Google Chrome running within a new windowing system on top of a Linux kernel.

Das entscheidende ist hierbei “a new windowing system” - es wird nicht X11 eingesetzt. Ach ja nicht weiter schlimm, X11 ist alt und verursacht viele Probleme. Ich plage mich tagtäglich damit rum. Aber es bedeutet viel mehr. All unsere freien Anwendungen verwenden X11. Keine GNOME/KDE/$DE Anwendung wird auf Chrome OS lauffähig sein. GTK+ und Qt müssten zuerst portiert werden. Window Manager wie KWin/Compiz/Mutter sind eng an die X11 Plattform angepasst und sind kaum portable. Diese sind nicht geschrieben worden mit dem Gedanken an andere Plattformen. Das heißt eine andere Benutzeroberfläche wäre nicht startbar, selbst wenn es jemand schaffen würde die Toolkits zu portieren.

Nun kommen wir dabei gleich zum nächsten Problem. Google spricht von einer simplen Architektur und nennt das Betriebssystem “lightweight”. Für mich bedeutet das, dass das windowing system so designt ist, dass es nur eine Anwendung ausführen kann: Chrome. Und wenn wir uns das Design vom Webbrowser Chrome anschauen, so stellen wir fest: hey das ist ja schon ein windowing system. Es hat eine Architektur, die pro Tab einen eigenen Prozess hat. Möchte man dies gut unter X11 erstellen, läuft es darauf hinaus, dass es ein eigenes Windowing System wird - vermute ich zumindest. Chrome scheint für mich bereits das komplette Windowing system zu integrieren.

Es gibt noch etwas was mir Angst macht: die Tatsache, dass die Ankündigung für Chrome OS während GCDS erfolgte. Google war Sponsor, wusste also, dass der Summit stattfindet. Für mich ist es kein Zufall. Für mich ist es ein Zeichen Googles, dass sie KDE und GNOME als überflüssig ansehen: “Lasst die mal diskutieren - hier das ist die Zukunft”. Ein sehr beängstigendes Zeichen.

Fassen wir zusammen: Chrome OS wird es unmöglich machen für existierende freie Software auf der Plattform zu laufen. Zusätzlich wird die komplette Berechnung auf die Server in Mountain View verlagert. Der Quellcode der Präsentationsschicht wird zwar freigegeben - ist aber recht wertlos. Es ist nur die Präsentationsschicht.

Ach und da ist noch ein anderes Problemchen: hat Chrome OS Erfolg, nimmt es unseren Marktanteil weg. Windows und Mac OS werden davon nicht wirklich beeinträchtigt werden. Für uns ist es aber eine Gefahr.

Hat Chrome OS keinen Erfolg, so steht FLOSS ziemlich schlecht da. Wir werden verspottet werden und es wird heißen, dass man mit freier Software und Linux doch keinen Erfolg haben kann. Dass das Produkt, was Google ausliefert, nichts mit dem existierenden FLOSS Stack zu tun hat, ist dann irrelevant. Egal wie, wir sind die Verlierer.

Chrome ist für mich eine riesige Gefahr und wir müssen gemeinsam den Leuten klar machen, was es bedeutet, wenn dieses “Betriebssystem” Erfolg hat. Niemand sollte es benutzen. Die Leute, die sich nicht so gut auskennen, werden den Angriff auf FLOSS nicht verstehen, wir müssen sie mit den Gefahren für sie aufklären. Chrome OS bedeutet die Verlagerung sämtlicher Daten und sämtlicher Berechnungen auf die Server von Google. Man hat keine Privatsphäre mehr. Google weiß alles. Sie wissen wie lange man auf youporn war, wie oft und was man zuvor und danach gemacht hat. Leute macht euch klar: mit Chrome gibt es keine Privatsphäre mehr. Das Verfassungsgericht hat uns letztes Jahr ein tolles neues Grundrecht gegeben. Seid stolz in einem Land zu leben, in dem die Vertraulichkeit informationstechnischer Systeme und die informationelle Selbstbestimmung grundrechtlich geschütz ist. Zerstört es nicht, indem ihr alles an Google gibt. Geben wir freiwillig unseren Schutz auf, schützt uns auch das Verfassungsgericht nicht mehr, wenn die Politik wieder begehrlich ist.

Es ist ja eigentlich nichts neues. Bill Gates hat schon immer andere Systeme, und erst recht, Neuerungen, belächelt. Nun hat B. Gates sich über das angekündigte Chrome OS von Google geäußert, und es als eine von vielen Linuxvarianten bezeichnet.

Okay, vielleicht wird es das nur, man wird es sehen. Aber diese Überheblichkeit finde ich ziemlich... arm. Hochmut kommt vor dem Fall, oder wie heißt es so schön?
Früher war es das Internet, was belächelt wurde, irgendwann haben sie dann doch das Potential entdeckt. Und hätten sie nicht das Konzept, mithilfe der Hardwarehersteller alle mögliche Software an den Mann / die Frau zu bringen, wäre der IE wohl so ziemlich an jedem vorbei gegangen.

Vielleicht sollte man wirklich mal nicht immer die Konkurrenz sehen, sondern mal einen ganz anderen Punkt. Nämlich den, dass eine Monokultur, egal in welchem Umfeld, immer eine gewisse Gefahr enthält. Im Falle von Windows (und das ist ja fast eine Monokultur, also eine übermäßige Verbreitung) ist es die weite Verbreitung von Schädlingen jeder Art. Wäre nun Linux so weit verbreitet, gäbe es dafür bestimmt auch eine ebensolche Verbreitung der Schädlinge, auch wenn das Konzept unter Linux m. E. da einiges von verhindert. Aber grundsätzlich wäre die Gefahr ebenso da.
Gleiches gilt natürlich für Mac, was ja immerhin einen unixoiden Unterbau hat, wenn ich das richtig sehe.
Gäbe es nun eine relativ ausgeglichene Aufteilung der Betriebssysteme (egal ob gut oder schlecht (liegt eh im Auge des Betrachters)), so wäre es um die Gefahr aus der Sicht bestimmt wesentlich besser bestellt. Kein Skriptkiddie wüsste, auf welches System es sich einschießen soll. *g*
Selbst wenn's ich dann alle an einen gewissen Standard zum Austausch von Daten halten, so ist das doch immer noch besser.

Natürlich gibt es immer noch die Missionare (So eine Phase hatte ich auch mal zwischenzeitlich *g*) die anderen versuchen, das selbst betriebene System anzupreisen, also quasi das System der Systeme. Aber selbst das kann ausgeglichen sein, denn es lassen sich erfahrungsgemäß kaum welche wirklich missionieren, die meisten tun einen ja als Spinner ab.
Der einzige Punkt, zu einem anderen System zu wechseln wird immer sein, dass man mit dem derzeit benutzten - aus welchem Grunde auch immer - nicht (mehr) zufrieden ist.

Aber wieso ist es manchmal so schwer, anderen "ihr" System zu lassen, oder warum ist es so schwer, für MS zu akzeptieren, dass sie eben nicht das "Non Plus Ultra" anbieten? Klar, sie leben davon, sie scheffeln damit nicht gerade wenig Kohle. Würden sie etwas mehr Rücksicht auf die Bedürfnisse der Benutzer (zum Beispiel eine gewisse Transparenz) eingehen, würde es bestimmt noch mal anders aussehen,Dann wären viele wohl nicht gewechselt, so werden sie aber damit meiner Meinung nach leben müssen, dass jedes "neue' System, welches auf den Markt kommt, ihnen wieder einen gewissen Marktanteil wegnehmen wird. Nur kann eine Linuxdistribution damit besser leben als MS.

So, das musste ich nach dem gelesen Artikel bei Heise einfach mal loswerden. ;o)

Nicht alle Wünsche gehen in Erfüllung - so auch Torvalds frommer Wunsch nach einer ruhigeren Phase der Kernel-Entwicklung.

Der -rc3 hat viele Einzeiler im Gepäck - Änderungen, die sich auf nur eine Code-Zeile beschränken und meist nur kleinere Änderungen oder kosmetische Korrekturen darstellen. Einer der größten Patches zur aktuellen Vorabversion des Kernels entfernt den USB-On-the-Go-Treiber für Intels Langwell-Chips, der auf die MSRT-Infrastruktur aufsetzt, die noch nicht in den Kernel aufgenommen wurde.

Daneben gab es umfangreiche Änderungen an Intels i915-Treiber, CIFS und auch diesmal wieder an IOMMU (Input/Output Memory Management Unit), einer Schnittstelle des Prozessors zur Anbindung eines DMA-fähigen Busses an den Hauptspeicher.

Der Kernel 2.6.31-rc3 für Ubuntu im Mainline-Kernel-Archiv:
Achtung! Die Installation von Fremdpaketen kann die Systemstabilität beeinträchtigen!
Die Pakete 2 und 3 müssen nur installiert werden, wenn Anwendungen vorhanden sind, die die Headerdateien benötigen um z.B. Kernelmodule zu kompilieren. Die Pakete sollten dann in der jeweils aufgeführten Reihenfolge installiert werden.

Architektur i386 (32 Bit):

  1. linux-image-2.6.31-020631rc3-generic_2.6.31-020631rc3_i386.deb
  2. linux-headers-2.6.31-020631rc3_2.6.31-020631rc3_all.deb
  3. linux-headers-2.6.31-020631rc3-generic_2.6.31-020631rc3_i386.deb

Architektur amd64 (64 Bit):

  1. linux-image-2.6.31-020631rc3-generic_2.6.31-020631rc3_amd64.deb
  2. linux-headers-2.6.31-020631rc3_2.6.31-020631rc3_all.deb
  3. linux-headers-2.6.31-020631rc3-generic_2.6.31-020631rc3_amd64.deb

Quelle: Linux Kernel Mailing List

 

akonadi_googleIch bin ja nun seit Kurzem wieder bei KDE gelandet, und da ich meine gesamten PIM-Daten bei Google habe, brauche ich natürlich eine Möglichkeit diese mit meinen lokalen Programmen zu synchronisieren. Unter KDE 4 übernimmt Akonadi die gesamte PIM-Verwaltung. Nach kurzer Suche fand ich dann auch ein Plugin, welches den Google Calendar und meine Google Contacts als Akonadi Ressource bereitstellt. Im Folgenden eine kurze Anleitung um es zum Laufen zu bekommen. Als Grundlage habe ich ein (in einer VM) frisch installiertes Kubuntu Jaunty mit KDE 4.2.2 genommen.

Schritt 1: Akonadi installieren

In der Standardinstallation von Kubuntu ist Akonadi noch nicht installiert. Dies geschieht fix mit:

apt-get install akonadi-kde

Schritt 2: libgcal installieren

libgcal ist Voraussetzung für das googledata Akonadiplugin. Voraussetzungen zum kompilieren sind:

apt-get install libcurl4-openssl-dev libxml2-dev ca-certificates autoconf libtool git-core

Dann libgcal an sich:

git clone git://repo.or.cz/libgcal.git
cd libgcal
autoreconf -i -f
mkdir build
cd build
../configure
make
sudo make install

Schritt 3: googledata Akonadiplugin installieren

Voraussetzungen zum kompilieren sind:

apt-get install cmake kdelibs5-dev kdepimlibs5-dev subversion libboost-dev

Nun kann man das googledata Plugin kompilieren:

svn co svn://anonsvn.kde.org/home/kde/trunk/extragear/pim/googledata/
cd googledata
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=debugfull ..   (die beiden Punkte nicht vergessen!)
make
make install

Schritt 4: Akonadi neustarten und die Ressourcen einrichten

Unter Systeminstellungen > Erweitert > Akonadi-Einrichtung muss man nun den Akonadiserver neustarten. Danach kann man die neuen Google Ressourcen hinzufügen:

Bildschirmfoto4

Wie wohl bekannt ist, nimmt sich Okular zur Darstellung von z.B. PDF-Dateien auch gerne mal etwas mehr Arbeitsspeicher aus dem Topf heraus.

Okular SpeicherverwaltungVor ein paar Tagen durfte ich beobachten, dass es Okular – scheinbar nur bei NVIDIA-Karten – allerdings nicht dabei belässt. So gönnte sich der XOrg-Prozess nach nur 5 Stunden Laufzeit satte 700MB an Arbeitsspeicher, eindeutig zu viel. Es stellte sich dann neben einem Loch in Oxygen, Okular als Übeltäter heraus. Bei einer 200 Seiten starken PDF konnte ich den Speicherverbrauch des XOrg-Prozesses mit jeder Seite im wahrsten Sinne des Wortes hochscrollen.

Der Fehler ist schon länger im KDE Bugtracker gemeldet und in Launchpad erwähnt. Auch wenn es noch keinen Fix gibt, gibt es dennoch Abhilfe: Stellt man das Speichermanagement von Okular von Normal auf Gering, gibt Okular den gebrauchten Speicher nach dem Durchscrollen wieder frei. Das ist zwar CPU-lastiger, dafür schont es den Arbeitsspeicher und lässt den Verbrauch nicht gleich auf mehrere 100MB anwachsen.


14. Juli 2009

Heute hat meine Dreambox sehr merkwürdig gesponnen. Aufgenommene Filme wurden nicht mehr abgespielt, die Box reagierte sehr langsam und nach einem Neustart musste ich sehr sehr lange warten, bis ich an das System durfte.

Der Zugriff über das Bluepanel klappte zwar, aber ich konnte die Platte weder aushängen, einhängen, testen, formatieren oder andere Aktionen durchführen. Auch wenn ich mich direkt per ssh eingelogt habe, hatte ich nicht wirklich Zugriff auf die Festplatte

Nachdem ich die Platte ausgebaut, an meinen Rechner gehängt und dort festgestellt, dass ich auf die Dateien zugreifen konnte, habe ich erstmal ein paar Filme gesichert und dann die Platte mit ext3 neu formatiert. Dann die Platte wieder eingebaut, die Dreambox startete wieder normal, aber beim Versuch etwas aufzunehmen bekam ich folgende Fehlermeldung.

Aufnahme fehlgeschlagen, weil das Aufnahmemedium nicht angesprochen werden konnte.

Nach längerer Suche kam ich in diesem Forum auf den Tipp gestoßen, dass auf der Platte das Verzeichnis /hdd/movie geben muss, damit die Dreambox aufnehmen kann. Gelesen, getan, jetzt kann ich auch wieder aufnehmen.
Leider weiß ich nicht, was diese Störung ausgelöst hat, aber bei der Gelegenheit habe ich gleich mit hdparm den Accoustic Level auf 250 gesetzt, weil ich in letzter Zeit bei Aufnahmen kleine Aussetzer hatte, da wohl die Datenmenge zu groß war, die auf meine kleine 600C hereingeprasselt ist.

Für Vim gibt es ein sehr praktisches Plugin namens Surround, welches es einem ermöglicht Wörter, Sätze, Absätze, Zeilen,… mit Klammern, Anführungszeichen oder XML-Tags zu umschließen. Solche Umschließungen können auch geändert oder gelöscht werden.

Zur Installation wird das Archiv surround.zip im Verzeichnis ~/.vim entpackt.

Grundsätzlich lehnt sich die Bedienung an das Konzept an, den Text zwischen Klammern, Anführungszeichen,… zu ändern so wie es im Artikel Vim Bewegungskommandos im Abschnitt “Spezielle Bewegungskommandos” beschrieben ist.

Text Umschließen
Die Syntax zum Umschließen von Text ist:
ys<BEWEGUNG><ZEICHEN>

Beispiele:

  • ysis" – der aktuelle Satz wird mit doppelten Anführungszeichen umschlossen.
  • ysiw<b> – versieht das aktuelle Wort mit mit dem HTML-Tag b, so dass es fett angezeigt wird.
  • yss) – umschließt die aktuelle Zeile mit runden Klammern.
  • ysi)" – umschließt den Text zwischen den Klammern mit doppelten Anführungszeichen.
  • ysa") – umschließt den den Text zwischen den doppelten Anführungszeichen und die Anführungszeichen selbst mit runden Klammern.

Statt den Bewegungskommandos kann man auch im visuellen Modus den gewünschten Text markieren. Dann drückt man s gefolgt vom gewünschten Zeichen.
Beispiel: s" um den markierten Text mit doppelten Anführungszeichen zu umschließen.

Damit man es sich besser vorstellen kann hier ein konkretes Beispiel. Die folgende Zeile:

Dies ist eine Beispielzeile

wird durch yss" zu

"Dies ist eine Beispielzeile"

Liegt der Cursor auf dem Wort “eine”, so kann man mit ysiw) das Wort mit Klammern umschließen:

"Dies ist (eine) Beispielzeile"

Umschließung ändern
Um die Umschließung von Text zu ändern nutzt man folgende Syntax:
cs<AKTUELLES_ZEICHEN><NEUES_ZEICHEN>

Beispiele:

  • cst" – ändert das XML/HTML-Tag zu doppelten Anführungszeichen.
  • cs"' – ändert doppelte in einfache Anführungszeichen.
  • cs)} – ändert runde in geschweifte Klammern.

Umschließung löschen
Die Syntax um eine Umschließung zu löschen ist:
ds<ZEICHEN>

Beispiele:

  • ds] – löscht eckige Klammern.
  • ds' – löscht einfache Anführungszeichen.
  • dst – löscht XML/HTML-Tags.

Wiederholen
Leider funktioniert das Wiederholen des letzten Kommandos mit Punkt nicht mit dem Surround-Plugin. Jedoch kann man es mit dem Plugin repeat zum funktionieren bringen.
Dafür kopiert man die Datei repeat.vim in das Verzeichnis ~/.vim/autoload/. Nachdem man . (Punkt) gedrückt hat muss man jedoch das Zeichen, welches eingefügt werden soll wiederholen.

Abhilfe schafft ansonsten auch die Nutzung von Makros. Dabei können häufig genutzte Surroundings auch als Makro in die ~/.vimrc gespeichert werden.
Folgende Zeile definiert das Register k so, dass beim Aufruf des Makros k mittels @k das aktuelle Wort in runde Klammern eingeschlossen wird:

let @k="ysiw)"

Letzte Woche berichtete ich von meinen Problemen mit Wordpress und der Suche nach Alternativen. Serendipity, Textpattern und Habari habe ich mir nun genauer angesehen. Hier ein erstes und ernüchterndes Fazit:

  1. Habari: Das Grundsystem läuft ganz anständig, enthält aber nur die wirklich elementaren Bestandteile eines Blogs und das ist zu wenig. Schon für Pingbacks muss man auf Plugins zurückgreifen. Ich habe einige Plugins installiert und da liegt der Hund leider begraben. Ich erhalte Fehlermeldungen am laufenden Band. Außerdem gibt es keine Kategorien, sondern nur Tags. Das ist kein Problem, wenn man ein neues Blog anfängt, Ubuntu-Center jedoch hat bald 200 Artikel und 600 Kommentare! Sorry, für den produktiven Einsatz ist es für das System leider noch zu früh.
  2. Serendipity: Hinter jedem System steckt eine „Philosophie“. Und es tut mir leid, die habe ich bei Serendipity noch nicht verstanden. Das Templatesystem erfordert viel Einarbeitungszeit, hier bin ich noch am überlegen, ob ich mir das antue.
  3. Textpattern: Das ist eher ein CMS, welches auch als Blog genutzt werden kann. Der Adminbereich ist aufgeräumt und logisch angeordnet, da könnte man sich reinarbeiten. Auch hier müsste ich mich recht intensiv mit den Templatetags usw. beschäftigen, das sieht aber einfacher als bei Serendipity aus. Leider scheiterte jeder Versuch, einen ordentlichen Transfer der Artikel, Kommentare und Links zu erreichen.

Letzteres funktionierte bis jetzt bei keinem der Systeme, wäre aber sehr wichtig. Ich würde gerne jedes der 3 Systeme verwenden, wenn ich ein neues Blog anfangen müsste. Aber so stehe ich  jetzt ernsthaft vor der Frage: „In den sauren Apfel beißen und bei WordPress bleiben – oder selbst ein System programmieren?“ Letzteres wäre schon eine Herausforderung. Ich habe ja ein eigenes CMS, welches ich bei meinen Kunden einsetze. TinyMCE als Editor ist da schon  eingebunden, eine Bildverwaltung, Dateiverwaltung, Bildergalerie, Feedgenerator (für News) und einiges mehr sind vorhanden.

Ein erster Blick auf die WP-Datenbankstruktur zeigt mir, dass ich hier einen Importfilter erstellen könnte. Was würde für ein Blog noch fehlen?

  1. Kommentarfunktion (mit funktionierendem Spamfilter)
  2. Feeds für Artikel, Kommentare allgemein und zu einzelnen Artikeln
  3. Pingback/Trackback – Funktion
  4. Videoverwaltung und Einbinden von Youtube-Videos
  5. URL-Rewrite-Modul

Was vermisst Ihr denn in der Liste oder allgemein bei Blogsystemen? Desto mehr ich darüber nachdenke, desto besser gefällt mir die Idee für ein „Ubuntu-Blogsystem“.  ;-) Einzig Punkt 2 bereitet mir ein wenig Kopfschmerzen, da habe ich noch keinen Plan. Muss mal sehen, wie das mit der XML-RPC-Schnittstelle funktioniert. Oder gibt es jemanden da draußen, der sich damit auskennt? Da sind Tipps und auch Hilfe gern willkommen.