Bluefish-Editor

http://images.t-error.ch/blog/538/bluefish_logo.pngÜber Yodas Blog bin ich auf den HTML Edior Bluefish gestossen. Ich verwende Bluefish nun schon seit einiger Zeit. Hauptsächlich zum bearbeiten von HTML oder PHP Dateien. Vor Bluefish habe ich Kate genutzt. Nur ist Kate eigentlich für KDE gedacht und hat dementsprechend auch das Look and Feel von KDE. Und das passt nicht so zu Gnome.
Bluefish ist, wie auf der Homepage angegeben, für Programmierer und Webdesigner gedacht.
Bluefish is a powerful editor targeted towards programmers and webdesigners, with many options to write websites, scripts and programming code. Bluefish supports many programming and markup languages, and it focuses on editing dynamic and interactive websites.

Unterstützt werden die folgenden Programmier-/Scriptsprachen:
  • Python
  • HTML
  • PHP
  • C
  • Java
  • JavaScript
  • JSP
  • SQL
  • XML
  • Perl
  • CSS
  • ColdFusion
  • Pascal
  • R
  • Octave/MATLAB
Natürlich kann man auch in anderen Sprachen programmieren und funktioniert dort das Syntaxhighlighting nicht.

http://images.t-error.ch/blog/538/bluefish.png

Ich finde die Benutzeroberfläche äusserst Übersichtlich und sie macht einen guten Eindruck. Auf der linken Seite hat man einen Überblick über die Ordner und Dateien und unten sind die geöffneten Dateien als Tabs dargestellt. Die Schaltflächen oben habe ich noch nie benutzt, für Anfänger im HTML-Bereich kann das aber durchaus ein Vorteil sein.

http://images.t-error.ch/blog/538/bluefish_einstellungen.png

Besonders erfreut hatten mich die Einstellungen. Man kan wirklich fast alles Einstellen. Sei es die Schriftart, die Tabulatorenbreite oder auch das Syntaxhighlighting.

Anfangs hatte ich noch das Problem, dass PHP Blöcke nicht hervorgehoben wurden. Ich kam dem Problem aber relativ schnell auf die Schliche. Das Problem war, dass ich die PHP Blöcke nicht mit einem <?php, sondern mit einem <? begann. Bluefish erkannte dies aber nicht.
Wie schon gesagt, kann man aber die Einstellungen des Syntaxhighlightings verändern. So habe ich das Muster "PHP Block" so angepasst, dass noch auch die kurze Version funktioniert. Bei mir steht im Feld Suchmuster nun das folgende
<\?(php|=|)


Bluefish hat sich nun zu meinem Lieblingseditor gemausert. Unter anderem aufgrund der Übersichtlichen Benutzeroberfläche und auch wegen der super Funktionalität.

Avant Window Navigator

Am Donnerstag habe ich ja bereits erwähnt, dass ich den Avant Window Navigator installiert habe. Aufgrund des schlechten Wetters konnte ich AWN über das Wochenende nun etwas austesten und möchte hier etwas dazu schreiben.

Was ist der Avant Window Navigator?

Der Avant Window Navigator, kurz AWN, ist eine Dockähnliche Navigationsleiste für Linux. Damit ist es möglich Programme zu starten und die Übersicht über schon geöffnete Programme zu behalten. Mit sogenannten Lauchern kann man Programm über die Leiste starten. Applets sind kleine Programme, welche in der Leiste laufen und so einen Zusatznutzen bringen und mit den Themes kann man das Design der Leiste noch anpassen. Die Leiste sieht zum Beispiel so aus.
http://images.t-error.ch/blog/528/awn_example.jpg


Installation

Die Installation ist sehr simpel und auch gut beschrieben. Wer unter dem Feisty Compiz über das Repository installiert hat, hat auch AWN schon in den Quellen. Die anderen müssen noch die Quellen in die sources.list einfügen und apt mit sudo apt-get update aktualisieren.
Nun können die benötigten Pakete installiert werden:
sudo apt-get install avant-window-navigator awn-manager awn-core-applets python-libawn0

In der Dokumentation sind nur die ersten drei Packete angegeben. Das python-libawn0 Packtet musste ich aber auch installieren, da sonst einige Applets nicht funktionierten.

Der AWN Manager

Wenn AWN nun installiert ist, kann man es mit dem Befehl avant-window-navigator starten. AWN wird nun am unteren Bildschirmrand angezeigt. Konfiguriert wird AWN über den AWN Manager, welchen man über System -> Einstellungen oder mit dem Befehl awn-manager starten. Im Manager gibt es vier Teile. Zum einen General, die allgemeinen Einstellungen, Verhalten, Animationen usw. Und dazu die schon genannten Applets, Launchers und Themes.
http://images.t-error.ch/blog/528/awn_manager_general_allgemein.jpg

Unter General kann man diverse Einstellungen machen. Zum Beispiel, ob die Leiste automatisch verschwinden soll, oder ob maximierte Fenster die Leiste überlappen dürfen. Die meisten Einträge sind selbsterklärend.

Applets

Die Applets sind kleine Hilfsprogramme, die in der Leiste laufen. Das wohl meistgebrauchte nennt sich Launcher/Taskmanager und zeigt alle geöffneten Programme an. Also eigentlich die Taskleiste. Andere Applets zeigen zum Beispiel das Wetter an, oder ermöglicht das Umschalten auf die anderen Arbeitsflächen. Die Auswahl an Applets ist noch recht dürftig, aber ich denke, da werden noch einige dazukommen. Eine Übersicht über die Applets gibt es in der Applet Gallery.
http://images.t-error.ch/blog/528/awn_manager_applets.jpg


Hier möchte ich noch zwei Applets kurz beschreiben.
Zum einen wäre das der BlingSwitcher, mit welchem man auf die anderen Arbeitsflächen umschalten kann. Ein klick auf das Icon öffnet eine Leiste mit allen Arbeitsflächen. Der BlingSwitcher ist eigentlich eine alternative zum Workspace Switcher, aber der ist so hässlich, dass man den lieber sein lässt.
http://images.t-error.ch/blog/528/awn_applet_blingswitcher.jpg


Zum anderen hääten wir noch das AWN System Monitor Applet. Der Name erkärt recht genau was das Applet macht. In der Leiste wird die CPU-Auslastung angezeigt und mit einem klick darauf öffnet sich ein Fenster, welches die aktuellen Prozesse anzeigt. So findet man relativ schnell heraus, welcher Prozess das System gerade auslastet. Einen grafisches top, sozusagen.
http://images.t-error.ch/blog/528/awn_applet_sysmon.jpg


Launchers

Dann hätten wir noch die Launchers. Das ist nichts weiter als eine Verknüpfung zu einem Programm. Die Launchers sind ganz Links in der Leiste und werden immer angezeigt. Mit einem klick auf das Icon öffnet sich das Programm. Ist das Programm schon geöffnet wird das Programm in den Vordergrund geholt und wenn nötig noch zur richtigen Arbeitsfläche gewechselt.
http://images.t-error.ch/blog/528/awn_manager_launchers.jpg


Themes

Zum Schluss noch die Themes, schliesslich soll so ein Programm ja auch optisch etwas hermachen. Auch die Auswahl an Themes ist noch nicht so berauschend, aber unter den bestehenden gibt es doch einige schöne. Die Installation ist recht simpel, einfach das Theme als .tar.gz oder .tgz herunterladen und dann im AWN Manager unter Themes -> Installieren diese Datei anwählen.
http://images.t-error.ch/blog/528/awn_manager_themes.jpg


Hier noch einige Beispiele:
Carbonfire
http://images.t-error.ch/blog/528/awn_theme_carbonfibre.jpg


Scaled Black
http://images.t-error.ch/blog/528/awn_theme_scaledblack.jpg


Simple Glass
http://images.t-error.ch/blog/528/awn_theme_simpleglass.jpg


Fazit

Der Avant Window Navigator ist in meiner Meinung ein praktischer Ersatz für die Taskleiste. Nach einiger Umgewöhnungszeit kann man sehr gut damit Arbeiten und dank den Applets hat man einige Dinge wie Systemauslastung, Batteriestand oder auch das Wetter im Blick.
Leider läuft das Dings noch nicht so stabil, wie man sich das wünschen könnte. Manachmal wird bei mir das Theme nicht richtig geladen oder einige Applets funktionieren nicht. Ein neustart von AWN funktioniert dann meistens, aber leider auch nicht immer.

Linux Eyecandy

Während sich die Mac-Jünger über das neue OS X hermachen, erfreue ich mich immer mehr dem kostenlosen Linux. Nun habe ich zwei Programme installiert, die ich hier kurz erwähnen werde. Vielleicht werde ich noch mehr darüber schreiben, aber dazu möchte ich die Programme erst etwas testen.

Zum einen habe ich Avant Window Navigator (AWN) installiert. AWN ist ein Dock ähnliches Panel, mit welchem man Applikationen starten und die offenen Fenster verwalten kann. Sieht hübsch aus und ist nach einiger Eingewöhnung auch sehr praktisch. AWN ist eigentlich dazu gedacht, dass die anderen Panels nicht mehr gebracht werden, in der Praxis klappt das aber nicht. Ich möchte den Arbeitsflächenumschalter und die Menus im oberen Panel nicht mehr missen.
Und so sieht das aus:
http://images.t-error.ch/blog/527/awn.jpg


Das andere Programm, das ich installiert habe heisst Screenlets und ist eine alternative zu gDesklets. Damit lassen sich sogenannte Screenlets (Widgets/Gadgets) auf den Bildschirm installieren. Einige Screenlets werden schon mitgeliefert, andere kann man von Gnome-Look herunterladen. Ich habe mir eine Sidebar eingerichtet, mit einer Auflösung von 1600x1200 ist da ja auch genügend Platz vorhanden.
http://images.t-error.ch/blog/527/screenlets.jpg


Zusammen mit Compiz Fusion kann sich das schon sehen lassen. Nun möchte ich aber noch einige Screenshots zeigen.

Mein Desktop mit geöffnetem Firefox. Linux die Sidebar von Screenlets und unten der AWN,
http://images.t-error.ch/blog/527/desktop.jpg


Die Expose-Funktion von Compiz.
http://images.t-error.ch/blog/527/expose.jpg


Windowswitcher im Coverflowmodus.
http://images.t-error.ch/blog/527/coverflow.jpg


Die Scale-Funktion von Compiz, äusserst praktisch, wenn mehrere Fenster offen sind.
http://images.t-error.ch/blog/527/scale.jpg

Gutsy Gibbon ohne Compiz

Heute habe ich es gewagt und mein Ubuntu auf den mutigen Affen (Gutsy Gibbon) geupdatet. Das Update ist sehr einfach zu vollziehen. In der Aktualisierungsverwaltung wir man darauf hingewiesen, dass es eine neue Version von Ubuntu gibt.
http://images.t-error.ch/blog/508/neue_version.jpg


Mit einem klick auf Aktualisieren gehts los. Lizenzvereinbarung lesen und schon gehts los. Die Packetdepots werden angepasst und nach einem Hinweis, was alles heruntergeladen wird startet der Download auch. Nur ist der Hinweis nicht ganz optimal lokalisiert.
http://images.t-error.ch/blog/508/packages.jpg


Nach dem alle Packete heruntergeladen und installiert, bzw aktualisiert sind muss man den Computer auch neustarten. Kernel Updates gehe halt nicht ohne Neustart. Selbst unter Linux nicht.

Ausser neuen Software Packete (OpenOffice, Gimp...) und habe ich bisher noch keinen grossen Vorteil von Gutsy gesehen. Das meiste funktioniert wie vorher schon ohne Probleme. Ich kann weiterhin meine Fotos herunterladen, Mails schreiben, Surfen usw. Von dem her nichts neues.

Nur läuft mein Compiz nicht mehr. Und auf das möchte ich eigentlich nicht verzichten. Möglicherweise liegt es am Treiber für die Grafikkarte. Aber wenn ich den Treiber von Ati für meine Radeon Fire GL installiere habe ich nur noch eine Auflösung von maximal 800x600. Mit dem Vesa Treiber habe ich wieder meine 1600x1200, allerdings ohne Compiz. Weiss da jemand eine Lösung?

Zudem habe ich noch ein weiteres Problem. Beim Login ist mein Tastaturlayout auf US. Das hat natürlich ein Weilchen gedauert, bis ich bemerkt habe, dass das y und das z vertauscht sind. Später, im normalen Betrieb ist alles wieder OK, nur beim Login ist es falsch. An was könnte das liegen?

ZKB Onlinebank Java unter Linux

Als Kunde der ZKB und Informatiker bin ich ein Nutzer der Java Onlinebank. Damit kann ich meine Bankgeschäfte schön Online abwickeln, ohne einen Browser benutzen zu müssen. Vor allem aus Sicherheitsgründen ist das ein meinen Augen ein grosser Vorteil.

Vor einiger Zeit bin ich ja von Windows auf Linux umgestiegen, habe die Onlinebank aber weiter unter Windows genutzt. Allerdings halt im virtuellen Windows unter VirtualBox. Da Java ja eigentlich bedeutet, dass die Software auf allen Betriebssystemen laufen kann, wollte ich die Onlinebank mal unter Linux installieren. Es gibt sogar eine Linux Version zum Download. Mit 25.7 MB zwar mehr als viermal grösser als die Mac Version, aber was solls.

Also habe ich mir die Datei heruntergeladen. setup_bin_htm.File.bin ist zwar ein spezieller Dateiname, aber das muss ja nichts bedeutet. Wie es in der Installationsanleitung steht habe ich die Rechte der Datei geändert und wollte die Installation danach auch starten.
david@pluto:~/downloads$ chmod 755 setup_bin_htm.File.bin
david@pluto:~/downloads$ ./setup_bin_htm.File.bin

Doch was müssen meine Augen da sehen? Eine Fehlermeldung reiht sich an die andere:
./setup_bin_htm.File.bin: line 1: !DOCTYPE: No such file or directory
./setup_bin_htm.File.bin: line 2: syntax error near unexpected token `('
'/setup_bin_htm.File.bin: line 2: `<!-- saved from url=(0041)http://www.zkb.ch/onba/download/setup.bin -->

Dass keine Datei mit dem Nahmen !DOCTYPE existiert ist mir auch klar, der Installationsdatei scheinbar aber nicht. Ein Blick in die .bin Datei zeigt das Problem auch recht schnell auf:
david@pluto:~/downloads$ less setup_bin_htm.File.bin
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0041)http://www.zkb.ch/onba/download/setup.bin -->
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=windows-1252">
<META content="MSHTML 6.00.2900.2976" name=GENERATOR></HEAD>
<BODY><PRE>#!/bin/sh

Die Damen und Herren bei der ZKB haben die .bin Datei wohl in irgendein HTML Template gepackt und dass man die Datei dann nicht ausführen kann ist dann auch nicht weiter verwunderlich. Wenn ich die Datei zum Bsp. mit dem VI bearbeite, also den HTML Code lösche wird die Datei völlig unbrauchbar, die ZKB muss also ran.

Der ZKB habe ich über das Kontaktformular eine genaue Fehlerbeschreibung geschickt, bisher allerdings noch keine Antwort erhalten. Nicht mal eine Eingangsbestätigung oder etwas in der Art. Schade eigentlich. Nicht, dass ich auf die Linuxversion angewiesen wäre, aber wenn sie sich schon die Mühe machen und eine Linux Version Programmieren, dann dürfte sie doch auch funktionieren.

SMB Share mit Userrechten mounten

Wie man einen SMB Share unter Linux automatisch mountet habe ich ja bereits beschrieben. Allerdings hatte ich da immer das Problem, dass der Share als Root gemountet wurde und ich als normaler Benutzer nichts ändern konnte. Es sei den ich mountete den Share als User.

Dank einem Kommentar von Martin habe ich nun erfahren wie man einen Share automatisch als mit Userrechten Mounten kann. Wie schon in der vorherigen Lösung muss man dazu in der Datei /etc/fstab eine neue Zeile einfügen. Bei den Optionen muss man aber noch zusätzlich die eigene User und Gruppen ID angeben. Das sieht dann so aus:
//server/share /mount/point smbfs \\
users,_netdev,defaults,uid=uid,gid=gid,username=user,password=pass 0 0
(Die beiden Backslashes symbolisieren einen Zeilenumbruch)

Die eigene uid und gid findet man mit dem Befehl id heraus. Beim nächsten Start von Linux wird dieser Share dann mit dem User als Owenr gemountet. Recht einfach, wenn man weiss wie es geht.
Danke Martin

VirtualBox 1.5

Über VirtualBox habe ich ja schon mal berichtet. Nun ist schon seit längerem die neue Version 1.5 verfügbar. Und heutte habe ich mir vorgenommen auf die neue Version zu updaten. Das ganze geht relativ einfach von der Hand. Das Programm kann ganz einfach über apt-get geupdated werde. Dafür muss man allerdings noch eine neue Quelle für apt-get definieren, sofern das noch nicht passiert ist. Das ganze ist zudem noch auf der Homepage beschrieben.

Also erstmal die neue Quelle in der Datei /etc/apt/sources.list einfügen.
deb http://www.virtualbox.org/debian feisty non-free

Und dann noch den Schlüssel hinzufügen. Diesen kriegt man von http://www.virtualbox.org/debian/innotek.asc
apt-key add innotek.asc

Nun muss man apt noch mitteilen, dass eine neue Quelle verfügbar ist.
apt-get update

Jetzt ist die neue Version von VirtualBox verfügbar und kann entweder über Synaptic oder die Konsole installiert werden.

Bevor man VirtualBox nun wieder benutzen kann, muss man den Linux Computer erst noch neustarten, damit die neuen Kernelmodule geladen werden können. Nach dem Neustart kann man die virtuellen Maschinen wieder ohne Probleme starten. Damit nun aber alle neuen Funktionen verfügbar sind muss man die Guest Additions (Gasterweiterungen) nochmals installieren.
http://images.t-error.ch/blog/472/vbox_guestadditions.jpg


Neu ist in der neuen Version der so genannte Seamless Mode (Nahtloser Modus). Damit kann man Fenster von Windows direkt im Linux anzeigen lassen. Das ohne den Rahmen von VirtualBox. Nun ja, etwas schwierig zu erklären. Ein Bild sagt ja bekanntlich mehr als tausend Worte. Der Internet Explorer unter Linux.

Momentan ist das einfach ein netter Effekt, aber wie sich das in der Praxis bewährt wird sich wohl noch zeigen. Alles in allem sieht es aber sehr viel versprechend aus.

Neuerdings funktioniert auch die Sache mit den Gemeinsamen Ordnern. Diese Funktion gab es auch in der älteren Version schon, allerdings hat sie bei mir nie so wirklich funktioniert. Nun kann man für eine virtuelle Maschine ganz einfach einen Ordner definieren, welcher im Windows dann als Netzlaufwerk angezeigt wird. Datentransfer leicht gemacht.
http://images.t-error.ch/blog/472/vbox_ordner.jpg


Wie gesagt kann ich momentan noch nicht allzuviel über den Nutzen von diesen Funktionen und die neue Version sagen, aber auf den ersten Blick sieht das schon sehr viel versprechend aus.

SMB Share mounten

Mal wieder etwas aus der Linuxecke. Und zwar habe ich heute versucht unter Ubuntu Linux einen SMB Share so zu mounten, dass es bei jedem Start immer gemountet ist. Auf einen SMB Share zugreifen ist unter Gnome ja herzlich einfach, entweder man gibt die Adresse in der Adresszeile ein, oder sucht den Share über den Netzwerkbrowser. Damit man einen SMB Share aber mounten kann muss smbfs installiert sein. Also machen wir das schnell:
sudo apt-get install smbfs

Nun kann man den Share schon manuell mounten. Entweder mit smbmount oder normal mit mount
mount -t smbfs //server/share /mount/point -o username=user,password=pass

Wenn man den Compuer jetzt neustartet ist der Share aber nicht mehr gemountet. Die Lösung für das Problem ist die Datei /etc/fstab. Mit einem richtigen Eintrag in dieser Datei wird der Share Standardmässig beim Booten gemountet.
Nach einigem recherchieren bin ich auf diese Lösung gekommen
//server/share /mount/point smbfs users,_netdev,defaults,username=user,password=pass 0 0
Die meisten Parameter sollten eigentlich selbsterklärend sein. Zuerst den Share, gefolgt vom Mountpoint und dem Filesystem. In diesem Falle natürlich smbfs. Die Optionen sind ähnlich wie die beim manuellen Mounten haben aber noch einige Zusätze wie das _netdev. Dadurch wird der Share erst gemountet, wenn eine Netzwerkverbindung aufgebaut ist, alles andere macht ja herzlich wenig Sinn.
Diese Lösung bringt allerdings ein Problem mit sich. Da der Share vom System gemountet wird, hat der normale Benutzer keine Schreibrechte. Man kann sich die Datei und Ordner auf dem Share zwar ansehen, aber nichts verändert. Wenn man den Share als root unmountet und als normalen Benutzer wieder mountet, hat man Schreibrechte, aber dann kann man ja gleich alles manuell machen. Wenn ich herausfinde, wie es vollautomatisch geht, werde ich dies sicher mitteilen.

Festplattenimage mit Linux erstellen

Mit dem Befehl dd ist es unter Linux relativ einfach ein Image von einer Festplatte zu machen. Praktisch zum Beispiel wenn man den Computer mit Windows frisch aufgesetzt hat und diesen, noch funktionierenden, stand nun sichern will. Man kann ganz einfach von Knoppix booten und dann ein Image erstellen.
Entweder kann man das Image lokal speichern und dann auf eine DVD brennen oder direkt über SSH auf einen andere (Linux)Computer schreiben.
Mit dem folgenden Befehl speichert man das Image lokal auf den PC. Allenfalls ist es unter Knoppix von vorteil, wenn man das Image auf eine (externe) Festplatte sichert.
dd if=/dev/hda | gzip -c | cat > image.gz
Und so holt man das Image wieder zurück.
gzip -d -c image.gz | dd of=/dev/hda


Wie gesagt kann man das Image via SSH auf einen anderen Computer speichern und auch wieder zurückholen. Diese geht mit diesen Befehlen:
dd if=/dev/hda | gzip -c | ssh user@server "cat > image.gz"
ssh user@server "gzip -d -c image.gz" | dd of=/dev/hda

Bilder mit ImageMagick unter Linux verkleinern

Letzthin habe ich einen Beitrag über ein PHP Script geschrieben, welches automatisch Bilder verkleinert. Dank eine Hinweis von Boje bin ich dann zu diesem Artikel über Script-Fu gekommen. Eigentlich geht es dort darum, wie man Bilder automatisch im Gimp verkleinert, allerdings hat es oben ein kurzes Shellscript, welches zeigt wie man ein Bild mit dem Befehl convert verkleinert. Und das ist einiges simpler als meine PHP-Lösung. Das Script erfüllt allerdings nicht ganz meine Anforderdungen, also habe ich es noch etwas angepasst. convert ist ein Bestandteil von ImageMagick also muss man das zuerst installieren, falls das nicht nicht geschehen ist.
sudo apt-get install imagemagick

Das Script ist dann relativ schnell gemacht und es ist doch einiges simpler und kürzer als die PHP Version. Und sie funktioniert genauso gut.
#!/bin/bash

# Alle .jpg Dateien auslesen
for file in *.jpg
do
    # Thumbnail erstellen
    convert ${file} -resize x150 `basename $file .jpg`_thumb.jpg

    # Die grosse Datei verkleinern
    convert ${file} -resize x600 ${file}
done