ICQ Kontakte in Google Talk und auf Android Phones einbinden

Es gibt einige Möglichkeiten den Instant Messenger ICQ auf einem Android Phone zu verwenden. Neben der Verwendung einer eigens dafür geschriebenen App gibt es die Möglichkeit die ICQ Kontakte in den standardmäßigen Google Talk Client einzubinden. Das was mir an diesem Ansatz sehr gut gefällt ist, dass die Kontakte dann auch direkt in den Chats anderer Google Dienste wie GMail oder iGoogle verwendbar sind. So muss man unterwegs keine weiteren Webclients verwenden, sondern kann direkt auf seiner iGoogle oder GMail Seite mit den ICQ Kontakten chatten.

Das einbinden der ICQ Kontakte wird dadurch möglich, dass Google Talk ein XMPP basierter Instant Messaging Dienst ist. Für XMPP gibt es so genannte XMPP-Transports, die es ermöglichen Benutzer anderer Instant Messaging Dienste transparent einzubinden. Diese Funktion lässt sich ausnutzen, um die ICQ Kontakte auf der nativen Google Talk App eines Android Phones zu nutzen.

XMPP-Transport Plugin

Als erstes benötigt man einen Instant Messaging Client der das einbinden von XMPP-Transports unterstützt. Da ich Pidgin als IM Client verwende und dieser XMPP-Transports per Plugin unterstützt, werde ich diesen Client als Beispiel verwenden. Zunächst muss man das Google Talk Konto in Pidgin erstellen. Dazu wählt man XMPP als Protokoll und stellt gmail.com als Domain ein. Als Benutzer und Passwort wird der normale GMail Login verwendet. Somit sollte sich Pidgin bei dem Google Talk Account anmelden.

Als nächstes sollte man überprüfen, ob das Plugin aktiviert ist. Dazu unter Werkzeuge -> Plugins die entsprechende Checkbox aktivieren. Nachdem dies erledigt ist, sollte unter dem Menüpunkt Werkzeuge ein neues Untermenü mit dem Namen XMPP-Dienstsuche erscheinen.

XMPP-Server Eingabedialog

Beim öffnen dieses Menüpunktes erscheint ein Dialog in dem man das eben erstellte XMPP Konto auswählen muss. Nach dem Verwenden des Suchen Buttons wird man aufgefordert einen XMPP-Server einzutragen, der nach XMPP-Transports durchsucht werden soll. Ein XMPP-Server der ICQ-Transports unterstützt ist jabberd.eu.

Nach der Suche sollten im Dienstsuche Dialog zwei ICQ-Transports angezeigt werden. Die Auswahl kann sich natürlich von Server zu Server unterscheiden, aber im Grunde wäre in diesem Fall also das Einbinden von zwei ICQ Kontos möglich. Nun muss man nur noch einen ICQ-Transport auswählen und ihn auf seinem XMPP Konto registrieren. Dazu ist es nötig die ICQ Nummer und das Passwort anzugeben.

ICQ-Transport Auswahl

Nach der Registrierung sollte ein neuer Kontakt auftauchen mit den Namen ICQ Transport. Kurz darauf werden Benutzeranfragen von allen Benutzern des ICQ Kontos erscheinen. Nachdem diese abgearbeitet sind, kann man mit allen ICQ Kontakten per Google Talk chatten. Da Google Talk mit den GMail Kontakten verbunden ist, werden diese Kontakte natürlich auch zwangsweise in den GMail Kontakten auftauchen. Um ein Chaos zu vermeiden habe ich die Kontakte in Gruppen eingeteilt. Diese können dann auch beliebig auf dem Android Phone aktiviert oder deaktiviert werden, um ein Chaos zu vermeiden.

ICQ Transport Kontakt in Pidgin

Da der Google Talk Client auf einem Android Phone das eben eingerichtete XMPP Konto verwendet, werden von nun an auch alle ICQ Kontakte in der Android Anwendung angezeigt und können verwendet werden. Neben der Möglichkeit die Google Talk Dienste von GMail und iGoogle zu verwenden, sind andere Vorteile die online History bei GMail und die Möglichkeit sich mit mehreren Clients bei XMPP anzumelden.

Probleme mit Munin unter Ubuntu 10.04

Als ich mir gestern nach längerer Zeit einmal wieder die Munin Statistiken meines Server ansehen wollte, bemerkte ich, dass sie seit dem Update auf Ubuntu 10.04 nicht mehr aktualisiert zu sein schienen.

Nach längerer Fehlersuche und einigem Kopfzerbrechen, weil weder System- noch Muninprotokolle Fehlermeldungen beinhalteten, fand ich die Ursache. Es scheint so, als ob das Standard HTML Verzeichnis in der neuen Munin Version, die Ubuntu 10.04 beiliegt, geändert wurde. Der neue Standardwert ist /var/cache/munin/www. Um das ganze zu beheben, musste ich folglich nur den entsprechenden Pfad in der Datei /etc/munin/munin.conf ändern:

# Example configuration file for Munin, generated by 'make build'

# The next three variables specifies where the location of the RRD
# databases, the HTML output, logs and the lock/pid files.  They all
# must be writable by the user running munin-cron.  They are all
# defaulted to the values you see here.
#
# dbdir /var/lib/munin
htmldir <Hier Pfad Einfügen>
# logdir /var/log/munin
# rundir /var/run/munin

Danach wurden meine Statistiken wieder sauber erstellt. Die neue Version bringt ein leicht verändertes Layout mit, welches schon ein wenig besser aussieht als der Vorgänger 😉

Ubuntu 10.04 LTS Bootsplash Auflösung

Nach dem Update auf Ubuntu 10.04 LTS begrüßte mich ein recht verpixelter und überdimensionierter Bootsplash. Das Problem scheint in Verbindung mit meiner Nvidia Grafikkarte und dem proprietären Treiber zu stehen. Das ganze konnte ich jedoch mit ein paar Zeilen in Konfigurationsdateien und einem zusätzlichen Paket beheben.

Zunächst muss das Paket v86d installiert werden.

sudo apt-get install v86d

Als nächstes müssen die Kernelparameter von GRUB in der Konfigurationsdatei /etc/default/grub geändert werden. Zunächst sollte der Wert von GRUB_CMDLINE_LINUX_DEFAULT geändert werden.

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash video=uvesafb:mode_option=1680x1050-24,mtrr=3,scroll=ywrap"

Dabei sollte der mode_option Parameter entsprechend angepasst werden, um der Auflösung und Farbtiefe des Monitors zu entsprechen. Außerdem muss GRUB_GFXMODE auskommentiert und auf die korrekte Auflösung gesetzt werden.

GRUB_GFXMODE=1680x1050

Als nächstes die folgende Zeile an die Datei /etc/initramfs-tools/modules anhängen (wieder auf Auflösung achten):

uvesafb mode_option=1680x1050-24 mtrr=3 scroll=ywrap

Die letzte Datei ist /etc/initramfs-tools/conf.d/splash (musste ich manuell anlegen). In diese Datei die folgende Zeile eintragen:

FRAMEBUFFER=y

Nun noch die folgenden Kommandos ausführen, um GRUB2 und das initramfs auf den neusten Stand zu bringen:

sudo update-grub2
sudo update-initramfs -u

Bei einem Neustart sollte man dann mit einem scharfen Bootsplash mit angemessener Auflösung begrüßt werden.

Schwierigkeiten mit Symlinks und Samba Windows Shares Part 2

Nach einiger Zeit funktionierten die Symlinks meiner Samaba Shares für Windows wieder nicht. Das letzte mal genügte es die Option unix extensions abzuschalten, um die Option wide links zu aktivieren. Als das Problem nun wieder auftauchte nahm ich die Option wide links genauer unter die Lupe:

wide links (S)

This parameter controls whether or not links in the UNIX file system
may be followed by the server. Links that point to areas within the
directory tree exported by the server are always allowed; this
parameter controls access only to areas that are outside the
directory tree being exported.

Note: Turning this parameter on when UNIX extensions are enabled
will allow UNIX clients to create symbolic links on the share that
can point to files or directories outside restricted path exported
by the share definition. This can cause access to areas outside of
the share. Due to this problem, this parameter will be automatically
disabled (with a message in the log file) if the unix extensions
option is on.

Default: wide links = no

Wie man sieht ist sie standardmäßig deaktiviert. Auch wenn es vorher funktionierte, ohne sie explizit zu aktivieren, änderte ich die Konfigurationsdatei wie folgt:

wide links = yes
follow symlinks = yes
unix extensions = no

Nun funktionieren die Links wieder und dies wird sich hoffentlich auch nicht mehr einfach so ändern 😉

Schwierigkeiten mit Symlinks und Samba Windows Shares

Mein Server hatte gerade ein paar Schwierigkeiten Symlinks per Samba für Windows Clients freizugeben. Seltsamerweise funktionierte alles zuletzt noch und an der Konfiguration wurde nichts verändert. Nach einer kurzen Fehlersuche konnte ich das Problem auf die Option unix extensions der smb.conf zurückführen. Hier was die Manpage zu der Option sagt:

unix extensions (G)

This boolean parameter controls whether Samba implements the CIFS
UNIX extensions, as defined by HP. These extensions enable Samba to
better serve UNIX CIFS clients by supporting features such as
symbolic links, hard links, etc... These extensions require a
similarly enabled client, and are of no current use to Windows
clients.

Note if this parameter is turned on, the wide links parameter will
automatically be disabled.

Default: unix extensions = yes

Weil ich Samba im Grunde nur für meine Windows Shares benutze und diese Option implizit die Option wide links, welche für die Verwendung von Symlinks unter Windows notwendig ist, deaktiviert, musste ich unix extensions deaktivieren:

unix extensions = no

Nun funktionieren Symlinks auch wieder unter Windows.

Oracle XE System Passwort vergessen

Nur für den Fall, dass man seine Oracle XE Installation nicht so oft verwendet und einmal das Passwort vergessen haben sollte, hier eine kurze Anleitung wie man das Passwort mit einer Linux Shell oder der Windows CMD neu setzen kann.

Zuerst die Variablen ORACLE_SID und ORACLE_HOME setzen…

Linux Shell:

export ORACLE_SID=XE
export ORACLE_HOME=<ORACLE_PATH>
sqlplus / as sysdba

Windows CMD:

set  ORACLE_SID=XE
set  ORACLE_HOME=<ORACLE_PATH>
sqlplus / as sysdba

<ORACE_PATH> muss dabei auf das Verzeichnis server verweisen (z.B. C:\Program Files\oraclexe\app\oracle\product\10.2.0\server)

Danach in sqlplus das System Passwort per alter user neu setzen:

SQL> alter user system identified by <neues_passwort>;

Danach sollte der Zugang zur Datenbank wieder möglich sein.

Tiling unter Windows

Nachdem ich mich die letzten Tage mit Tiling unter Linux beschäftigt habe, wollte ich WinSplit unter Windows ausprobieren. Dieses Tool diente als Vorbild für das Grid Compiz Plugin, welches ich unter Linux verwende.

Bei der Installation kann man entscheiden, ob WinSplit als normale Anwendung (Entfernen durch Software Verwaltung möglich), oder einfach in ein Verzeichnis installiert wird. Die zweite Option ermöglicht es WinSplit auf ein portables Medium zu kopieren (z.B. USB Stick) und somit auf jedem Windows Rechner zu verwenden.

WinSplit in Aktion

Nach der Installation startet WinSplit automatisch im Hintergrund und ein neues Icon erscheint in der Taskleiste. Von nun an kann man, genau wie beim Compiz Plugin, Fenster mit Hilfe der Tastenkombination Strg + Alt + Ziffernblocktaste in die entsprechende Ecke verfrachten.

Bisher hatte ich keine Probleme und ich kann dieses Tool nur empfehlen.

Simples Tiling mit Grid Compiz Plugin

Es passiert recht oft, dass ich auf einer Arbeitsfläche mit einer größeren Anzahl von Fenstern ende. Dabei kann man hin und wieder etwas den Überblick verlieren. Nachdem ich einige gute Dinge über Tiling Window Manager gehört hatte, probierte ich Bluetile aus. Bluetile ist ein recht aktueller Tiling Window Manager der einige nette Funktionen bietet. Allerdings konnte ich mir nicht wirklich vorstellen diesen Window Manager die ganze Zeit zu benutzen. Daher suchte ich nach etwas simpleren Alternativen.

Grid Shortcut Einstellungen
Fenster Positioniert mit Grid Plugin

Während meiner Suche stieß ich auf das Compiz-Fusion Grid Plugin welches grundlegende Tiling Funktionen bietet. Um die Installation zu vereinfachen kann man auf gnome-look.org eine Sammlung von Compiz Plugins (deb Paket) herunterladen, welche das entsprechende Plugin enthält. So lässt sich das ganze später auch wieder einfacher entfernen 😉

Das Plugin ermöglicht es durch Shortcuts nach dem Muster Strg + Alt + Ziffernblocktaste das aktuell fokussierte Fenster in die entsprechende Bildschirmecke zu positionieren. So positioniert der Shortcut Strg + Alt + 7 das Fenster in die linke obere Ecke. Beim erneuten drücken des selben Shortcuts verändert sich die Größe des Fensters.

Fenster Positioniert mit Grid Plugin - Andere Fensterdimension

Jede Zahl des Ziffernblocks steht hierbei für die entsprechende Position des Bildschirms und bietet unterschiedliche Fensterdimensionen. Somit lassen sich recht simpel unterschiedliche Layouts erstellen, um mehrere Fenster auf dem Bildschirm anzuordnen.

Im allgemeinen bin ich recht zufrieden mit diesem Plugin und es erfüllt soweit seinen Zweck. Einen dummen Nachteil gibt es jedoch, wenn man einmal ein Fenster per Grid positioniert hat, gibt es keine Möglichkeit mehr zur Ausgangssituation zurückzukehren. Wenn man nicht mehr mit einem Tile Layout arbeiten möchte, muss man die Fenster wieder per Drag & Drop verschieben und auf die gewünschte Größe skalieren.

Beispiel für Tile Layout mit Grid

Ubuntu 9.10 SSD Optimierung

Wie bei Äpfeln und Birnen gibt es gravierende Unterschiede bei SSDs und HDDs. Im Internet kann man Guides für verschiedene Betriebssysteme finden. Meistens geht es darum Optimierungen für normale Festplatten zu deaktivieren oder aber die Anzahl der Schreibzugriffe auf die SSD zu verringern. Da ich auf meinem Notebook Ubuntu 9.10 installiert habe, will ich hier kurz Beschreiben welche Einstellungen und Tweaks ich vorgenommen habe.

Die Optimierung beginnt bereits bei der Wahl des Dateisystems. Moderen Dateisysteme sind meistens Journaling Dateisysteme. Diese Dateisysteme legen alle Änderungen des Dateisystems in ein Journal ab bevor sie wirklich geschrieben werden. Ein solches Journal produziert weitere Schreibzugriffe. Um die Schreibzugriffe zu reduzieren kann man ältere Dateisysteme verwenden, wie zum Beispiel ext2.

Als nächstes können einige Einstellungen in der Datei /etc/fstab vorgenommen werden. Die erste Einstellung, die unmittelbar nach der Installation durchgeführt werden kann, ist die Option noatime für die SSD zu aktivieren. Für gewöhnlich speichert Linux die letzte Zugriffszeit einer Datei. Mit der Option noatime deaktiviert man diese Funktion und spart dadurch wiederum Schreibzugriffe. Eine entsprechende Zeile könnte folgendermaßen aussehen:

UUID=2147e92a-6f70-4deb-ab68-ae96c55d1f4c /               ext2    noatime,errors=remount-ro 0       1

Eine weitere Änderung, die man in der /etc/fstab durchführen kann, ist das Auslagern von bestimmten Verzeichnissen in ein tmpfs. Bei der Verwendung von tmpfs wird ein Verzeichnis in den Arbeitsspeicher ausgelagert. Dateien, die in dieses Verzeichnis geschrieben werden gehen daher bei einem Neustart verloren. Der Vorteil ist jedoch, dass die Dateien nie auf die Festplatte geschrieben werden. Für meine Installation habe ich mich entschieden die Verzeichnisse /tmp, /var/log und /var/tmp in ein tmpfs auszulagern. Die entsprechenden Zeilen sehen so aus:

# mount temp as tmpfs
tmpfs /tmp tmpfs defaults,noatime,nodiratime,mode=1777   0  0

# mount several /var directories as tmpfs
tmpfs /var/log tmpfs defaults,noatime,nodiratime,mode=0755  0  0
tmpfs /var/tmp tmpfs defaults,noatime,nodiratime,mode=1777  0  0

Dabei ist zu beachten, dass einige Anwendungen etwas beleidigt reagieren, wenn ihre Unterverzeichnisse im Verzeichnis /var/log nicht vorhanden sind. Um Probleme zu umgehen kann man eine kleine Schleife in die Datei /etc/rc.local vor der Anweisung exit 0 einbauen, welche die entsprechenden Verzeichnisse erstellt:

for dir in apparmor apt news cups dist-upgrade fsck gdm installer samba
unattended-upgrades
do
 if [ ! -e /var/log/$dir ]
 then
 mkdir /var/log/$dir
 fi
done

Die letzte Einstellung die ich vorgenommen habe ist den I/O Sheduler der Festplatte zu ändern. Ein I/O Sheduler ist dazu da die Festplattenzugriffe zu optimieren. Bei normalen Festplatten wird dabei besonderes Augenmerk auf die Optimierung der Schreiblesekopfbewegungen gelegt. Weil SSDs keine Schreibleseköpfe besitzen ist dieses Verhalten jedoch unnötig. Daher kann man einen anderen I/O Sheduler verwenden, der diese zusätzliche Arbeit nicht durchführt. Ein Sheduler der einfach nicht optimiert ist noop. Um diesen Sheduler zu verwenden muss eine weiter Zeile in /etc/rc.local eingetragen werden:

echo noop > /sys/block/sda/queue/scheduler

sda sollte dabei natürlich durch die entsprechende Gerätedatei des jeweiligen Systems ersetzt werden.

Diese Einstellungen sollten die SSD etwas länger am Leben halten und den Zugriff optimieren. Hier ein hdparm Test meiner SSD:

:~$ sudo hdparm -t /dev/sda
[sudo] password for carsten: 

/dev/sda:
 Timing buffered disk reads:  486 MB in  3.01 seconds = 161.65 MB/sec

Dabei ist zu beachten, dass mein Notebook leider nur SATA 1 unterstützt. Mit SATA 2 sollte noch mehr drin sein. Zum Vergleich hier der selbe Test mit der neuen 500GB HDD:

:~$ sudo hdparm -t /dev/sdb

/dev/sdb:
 Timing buffered disk reads:  200 MB in  3.02 seconds =  66.19 MB/sec

Durchaus ein kleiner Unterschied zu verzeichnen 😉

HP Pavilion DV9590EG Tuning mit 64GB SSD und 500GB HDD

Da mein Notebook langsam etwas in die Jahre gekommen ist, hatte ich schon länger mit dem Gedanken gespielt mir ein neues zu kaufen. Nach längerem überlegen kam ich jedoch zu dem Schluss, dass sich diese Anschaffung zum jetzigen Zeitpunkt nicht lohnen würde. Aus diesem Grund habe ich mich nach Möglichkeiten umgesehen, wie ich wenigstens noch etwas Performance aus dem Notebook kitzeln kann.

HP Pavilion DV9590EG

Zunächst hatte ich eine neue CPU im Auge, diese Möglichkeit legte ich allerdings recht schnell beiseite. Das Preis-/Leistungsverhältnis stimmte einfach nicht. Da die schon eingebauten 4GB Arbeitsspeicher auch keine Möglichkeit zum Aufrüsten boten, entschied ich mich letztendlich dafür auf Solid State Drives zu setzen.

Entschieden habe ich mich letztendlich für diese beiden Festplatten:

OCZ OCZSSD2-1VTX60G 60 GB Vertex Series SATA II 2.5-Inch SSD

Western Digital Scorpio Blue 500GB Sata 8MB Cache 2.5 Inch HDD

In diesem Artikel werde ich zunächst die Einbauschritte für mein HP Pavilion DV9590EG beschreiben. Im nächsten werde ich dann genauer auf die Installation und Konfiguration von Ubuntu 9.10 eingehen.

Geöffnetes Notebook

Als erstes müssen die drei Abdeckungen an der Unterseite des Notebooks entfernt werden. Auch wenn sich die Festplatten nur unter zwei dieser Abdeckungen befinden, müssen alle drei entfernt werden. Die Festplatten lassen sich dann einfach nach oben herausnehmen. An den Festplatten befindet sich jeweils ein SATA Adapter der entfernt werden muss. Diese können nachher für die neuen Laufwerke verwendet werden.

SSD mit montiertem SATA Adapter

Als nächstes muss man die Adapter auf die neuen Laufwerke stecken, um sie danach in das Notebook einzubauen. Ich habe die SSD dabei als erste und die HDD als zweite Festplatte eingebaut.

Nun nur noch die Abdeckungen montieren und schon ist das Werk vollbracht. Der ganze Vorgang ist nicht wirklich spektakulär 😉

Notebook mit eingebauten Festplatten