Skip to content

Aktualisiertes Paket “usb-modeswitch” für Ubuntu Karmic

Wie im letzten Eintrag versprochen, habe ich ein Debian-Paket für Ubuntu Karmic zusammengeschnürt und in mein PPA hochgeladen. Die PPA-Version entspricht bis auf ein aktualisiertes Wrapper-Skript und einem Austausch des Schlüsselworts “SYSFS” gegen “ATTRS” in der Datei “80-usb_modeswitch.rules” der Version 1.0.7 des Tools.

Die neue Version von usb-modeswitch unterstützt jetzt den UMTS-Stick “Vodafone/Huawei KV3675-HV” von Haus aus. Es reicht das Paket zu installieren um den Stick benutzen zu können.

Bitte testet das Paket und meldet die auftauchenden Probleme bitte per Kommentar zu diesem Artikel. Ich werde dann versuchen das Problem selbst zu lösen oder leite dieses an den Entwickler von USB-Modeswitch weiter.

Falls Probleme auftauchen, sollte man das Logging des Wrapper-Skripts anschalten. Dazu muss nur in der Datei “/usr/sbin/usb_modeswitch.tcl” die Zeile “set logging 0″ auf “set logging 1″ geändert werden. Danach legt das Skript eine Datei namens “/var/log/usb_modeswitch_*”  (* steht für den SYSFS-Pfad) an und protokolliert alle Aktivitäten von usb-modeswitch darin.

Ubuntu Karmic und Vodafone K3765-HV/Huawei K3765

In der aktuellen c’t (Ausgabe 01/2010) findet sich auf den Seiten 122-127 ein Test (“UMTS zum Anstecken”) zu einigen der momentan erhältlichen UMTS-USB-Sticks (Hauptsächlich solche die über die diversen Mobilfunkanbieter vertrieben werden). Darunter befindet sich auch der aktuell von Vodafone vertriebene Stick “Vodafone K3765-HV”. Dieser liegt z.B. dem “Surf-Sofort-Paket” bei, ist aber auch einzeln, ohne weiteren Vertrag erhältlich.

In diesem Artikel schreiben die Autoren das es ihnen nicht möglich war diesen UMTS-Stick unter Linux zum Funktionieren zu bringen, da sie keine funktionierende Umschaltsequenz für das Programm “usb-modeswitch” für den Stick finden konnten.

Ohne diese Umschaltsequenz wird der Stick nur als Massenspeicher vom System erkannt. In diesem Modus wird der Stick als USB-Flash-Laufwerk behandelt und man kann in diesem Modus die darin enthaltenen Treiber (nur Windows) installieren. Unter Windows wird nach der Installation des Treibers der Stick vom Treiber in den Modem-Modus versetzt. Unter Linux wird dazu ein kleines Tool namens “usb-modeswitch” benötigt, um das Umschalten zu bewerkstelligen. Für viele Sticks reichen die, im Tool eingebauten, vorgegebenen Umschaltsequenzen. Im Fall des Vodafone K3765-HV muss man etwas tiefer in die Trickkiste greifen.

Es gibt dank der Arbeit des “vodafone-mobile-connect-driver”-Projekts eine funktionierende Sequenz für diesen Stick :

sudo usb_modeswitch -v 12d1 -p 1520 -M 55534243EE0000006000000000000611062000000000000000000000000000

Diese Sequenz schaltet den Stick zuverlässig in den Modem-Modus um.

In der neuen Version 1.0.6 des Tools “usb-modeswitch” ist eine weitere Sequenz für den Stick enthalten :

sudo usb_modeswitch -v 12d1 -p 1520 -M 55534243123456780000000000000011060000000000000000000000000000

Diese funktioniert ebenfalls problemlos. Welche man benutzt scheint egal zu sein.

Ubuntu Karmic : “ureadahead” ersetzt “sreadahead”

Seit ein paar Stunden steht für Karmic ein kleines, aber sehr tiefgreifendes Update bereit :

Der Dienst “sreadahead” wird durch den neuen Dienst “ureadahead” ersetzt.

Während “sreadahead” hauptsächlich dafür gedacht ist die Bootgeschwindigkeit des Systems mit SSD-Platten zu erhöhen und fast keine Auswirkungen bei normalen Festplatten hatte, ist “ureadahead” auf normale Festplatten optimiert.

Die Funktionsweise des Dienstes lässt sich einfach gesprochen so erklären :

Nach der Installation des Dienstes muss man den Rechner neu starten. Während des erneuten Startvorgangs analysiert “ureadahead” den Startvorgang und überprüft welche Dateien geladen werden und wo diese auf der Festplatte liegen. Ist der Startvorgang abgeschlossen, werden diese Informationen in eine Datei mit Namen “pack” ins Verzeichnis “/var/lib/ureadahead” geschrieben.

“ureadahead” benötigt für diesen Vorgang zwingend einen Kernelpatch, welcher aber seit der Kernelversion “2.6.31-15″ (Seit ca. drei Wochen erhältlich) im Kernel vorhanden ist. Wer einen Mainline -oder Selbstbau-Kernel benutzt, muss einen Patch in den Kernel integrieren und diesen Neukompilieren.

Beim Nächsten Startvorgang benutzt “ureadahead” diese Datei um die, für den Startvorgang, benötigten Dateien in einer optimierten Reihenfolge in den PageCache des Kernels zu laden. Ist dieser Vorgang abgeschlossen, kann das System auf diese Dateien deutlich schneller zugreifen und die nächsten Startvorgänge des System läufen dadurch wesentlich schneller als zuvor ab.

Um von “ureadahead” wirklich zu profitieren, sollte man nach der Installation des Dienstes folgendes tun :

  1. Das automatische Login per “System->Systemverwaltung->Anmeldebildschirm” aktivieren (Falls man es nicht eh schon benutzt).
  2. Das Paket “xplash” deinstallieren. Dieses ist im Zusammenspiel mit “ureadahead” absolut nicht mehr notwendig, da der Xserver und GDM so schnell gestartet werden, das xsplash die Ladezeit nur verlängert.
  3. Den Rechner neu starten.
  4. Warten bis das Panel erscheint und danach sofort die normalerweise benutzten Programme starten (Bei mir Firefox und Evolution). Das funktioniert auch, wenn der GNOME-Keyring-Manager ein Passwort verlangt. Dieses kann man nach dem Starten der Programme eingeben.
  5. Jetzt muss man nur noch knapp eine Minute warten, damit sich “ureadahead” beendet und die Datei “pack” geschrieben wurde.
  6. Das Autologin deaktivieren (Siehe Punkt 1) und den Rechner neu starten.

Der Geschwindigkeitszuwachs beim Startvorgang kann je nach Rechner mehr oder weniger dramatisch ausfallen. Auf meinem Notebook sind es ohne “ureadahead” ca. 48s bis ein, per Autostart geladener, Firefox die Seite des Heise-Newstickers anzeigt. Mit “ureadahead” sind es gerade mal 28s.

Beim normalen Startvorgang (ohne Autologin und Autostart) dauert es bei meinem Rechner bis zum Laden von GDM 24s. Der GNOME-Desktop ist dann in weiteren 4s geladen. Firefox lädt in ca. 4s, Evolution in knapp 2s.

Wer viel mit irgendwelchen Diensten oder anderen Startrelevanten Programmen herumexperimentiert, muss daran denken das “ureadahead” bei jeder (De-)Installation eines solchen Programmes ein neues Profil anlegt und das alte Profil löscht. Das heißt der erste Startvorgang nach einer solchen (De-)Installation wird wieder länger dauern, die darauf folgenden Startvorgänge sind wegen des neu angelegten Profils aber wieder schneller.

Aussehen von GDM unter Ubuntu Karmic konfigurieren II

Vor ein paar Tagen bin ich auf eine Möglichkeit gestoßen das Aussehen von GDM auch mit grafischen Tools einstellen zu können. Man muss den “sudo”-Befehl nur um den Befehl “dbus-launch” ergänzen.

Um z.B. den grafischen Gconf-Editor zu starten, muss nur folgender Befehl eingegeben werden :

sudo -u gdm dbus-launch gconf-editor

Den normalen Erscheinungsbild-Einstellungsdialog kann man per folgendem Befehl aufrufen :

sudo -u gdm dbus-launch gnome-appearance-properties

Die dabei erscheinende Fehlermeldung kann man ignorieren.

Aussehen von GDM unter Ubuntu Karmic konfigurieren

An dieser Stelle möchte ich mit Hilfe einer kleinen Anleitung zeigen, wie man die neueren GDM-Versionen (2.22 und höher) konfigurieren bzw. das Login-Fenster an den eigenen Geschmack anpassen kann.

Bis Version 9.04 benutzte Ubuntu noch die alte Version von GDM (Version 2.20).  Diese benutzte zur Konfiguration des Login-Managers die Dateien “/etc/gdm/gdm.conf” bzw. “/etc/gdm/custom.conf”. Diese beiden Dateien sind in allen neueren Versionen von GDM (2.22+) nicht mehr vorhanden bzw. werden bei einem Upgrade nutzlos.

Alle neuen Versionen von GDM benutzen die gconf-Datenbank zur Konfiguration. Im Prinzip ist der Login-Manager nichts anderes als eine vollwertige GNOME-Anwendung. Das hat zur Folge, das man alle Einstellungen die man für den GNOME-Desktop möglich sind, auch für den Login-Manager vornehmen kann (z.B. Theme, Hintergrundbild, Schriftart, Schrifthinting, Barrierefreiheit, usw.).

Auf Grund der neuen Architektur haben sich die Verzeichnisse mit den Konfigurationsdateien grundlegend geändert. Das liegt daran das ein Teil von GDM jetzt nicht mehr mit root-Rechten läuft, sondern als nicht-privilegierter Benutzer “gdm”. Deshalb findet man auch fast keine Konfigurationsdateien unter “/etc/gdm” mehr (nur noch solche die für das Session-Management zuständig sind), sondern die Dateien liegen im Verzeichnis “/var/lib/gdm”, welches nichts anderes als das Benutzerverzeichnis des Benutzers “gdm” ist (Siehe auch die Datei “/etc/passwd”).

Da GDM die Gconf-Datenbank zur Konfiguration benutzt, sind eben in jenem Verzeichnis auch alle Dateien der Datenbank des Benutzers “gdm” zu finden (Vor allem im Verzeichnis “/var/lib/gdm/.gconf”).

Ein Problem ist, das es im Moment noch kein grafisches Tool für die neue GDM-Version gibt und das Tool “gconf-editor” nicht eingesetzt werden kann. Deshalb muss man leider auf das Konsolenprogramm “gconftool-2″ ausweichen. Die Bedienung des Programms ist zwar nicht ganz intuitiv, mit etwas Übung aber recht einfach.

Eine wichtige Voraussetzung um das Programm überhaupt einsetzen zu können, ist die Wahl des richtigen Benutzers beim Aufruf. Da der grafische Login-Manager als Benutzer “gdm” läuft, muss man dem Programm eben jenen Benutzer mitteilen. Das geht über die Option “-u” des “sudo”-Programms :

sudo -u gdm gconftool-2

Um jetzt z.B. das Hintergrundbild des Login-Managers zu ändern, gibt man folgendes in die Konsole ein :

sudo -u gdm gconftool-2 --type string --set /desktop/gnome/background/picture_filename /usr/share/backgrounds/Arc-Brave.png

Die Schrift des Login-Managers lässt sich mit folgender Zeile ändern :

sudo -u gdm gconftool-2 --type string --set /desktop/gnome/interface/font_name "DejaVu Sans Book 10"

Hinweis
Einen Tippfehler im Schlüsselwert quittiert das Programm mit keinerlei Fehlermeldung. Man sollte also vor dem Absetzen einer Änderung alles nochmals überprüfen. Nur Fehler im Schlüsselnamen (z.B. falscher Pfad) werden angezeigt.

Die genaue Bezeichnung einer Schriftart setzt sich aus dem Namen der Schrift, dem Stil und der Schriftgröße zusammen. Wichtig ist vor allem das man die Schriftart in Anführungszeichen setzt um die Leerzeichen benutzen zu können. Ansonsten wird jedes Wort als eigenständiger Parameter interpretiert und man bekommt im besten Fall eine Fehlermeldung präsentiert.

Die Syntax des Programms relativ einfach erklärt :

Die Option “–type” ist der Typ des Wertes den man setzen möchte (Bei Wörtern immer “string”, bei einer Ja/Nein-Option immer “bool”) , “–set” dient zum Setzen eines Wertes in der Datenbank, dahinter folgt der Schlüsselname zusammen mit seinem Pfad und danach der Schlüsselwert. Per Option “–get” kann man gezielt einzelne Schlüsselnamen und deren Werte auslesen.

Der folgende Befehl listet ausgehend vom Wurzelpfad “/” der Datenbank rekursiv (Option “-R”) alle Schlüssel auf :

sudo -u gdm gconftool-2 -R / | less

Die wichtigsten Schlüssel für die Optik des Loginmanagers sind im Pfad “/desktop/gnome/interface” und ” /desktop/gnome/font_rendering” zu finden :

sudo -u gdm gconftool-2 -R /desktop/gnome/interface
sudo -u gdm gconftool-2 -R /desktop/gnome/font_rendering

Eine genauere Beschreibung des Programms “gconftool-2″ erhält man über den Parameter “–help” oder über dessen Man-Page.

Weiterführende Informationen zu “gconf” kann man unter den folgenden Links finden :

Wikipedia-Eintrag zu Gconf
GConf configuration system
GConf Reference Manual

Skript zur Installation von OpenOffice.org3.1.1 unter Debian/Ubuntu

Mit ein paar Tagen Verspätung :

Skript für OpenOffice.org 3.1.1

Das Skript benötigt folgende Pakete, damit es funktioniert :

  • fakeroot
  • rpm
  • desktop-file-utils
  • libgtk2.0-bin
  • shared-mime-info

Das Skript wird einfach per “bash ooo311-install-de.sh” gestartet. Der Rest geschieht von alleine.

Skript zur Installation von StarOffice 8 PP13 unter Debian/Ubuntu

An dieser Stelle ist mein Skript zur Erstellung eines Debian-Pakets aus der Downloadversion von StarOffice8 zu finden. Da meine alte Homepage nicht mehr existiert, biete ich das Skript in dieser Stelle wieder an.

Skript für StarOffice 8

Das Skript benötigt folgende Voraussetzungen, damit es funktioniert :

Pakete :

  • fakeroot
  • fastjar
  • rpm
  • desktop-file-utils
  • libgtk2.0-bin
  • shared-mime-info

Dateien :

  • Downloadversion von StarOffice 8 (Dateiname “so-8-?-bin-linux-en-US_de.sh”)
  • Product Patch 13-Archiv (Dateiname “120184-17.jar”) im JAR-Format.

Das Skript wird einfach per “bash so8-autoinstall-PP13.sh” gestartet. Der Rest geschieht von alleine.

Firefox unter Debian/Ubuntu vernünftige Schriften beibringen

Vor etwas längerer Zeit fragte ein Webdesigner im Forum von ubuntuusers.de nach Screenshots seiner Website, welche mit Linux-Browsern aufgerufen wurde. In einem anderen Thread wurde vom gleichen Webdesigner nachgefragt welche Schriftarten standardmäßig unter den diversen Linux-Distributionen installiert sind bzw. mit welchen man in Normalfall immer rechnen kann. Daraus entwickelte sich eine Diskussion über gutes Webdesign bzw. die Abhängigkeit eines Webdesigners von den vorhandenen Schriftarten.

Ich habe schon im Forum eine kurze Erklärung verfasst, warum manche Webseiten unter Linux sehr oft recht bescheiden ausschauen (Komische Schrift, zerrissenes Layout usw.) und wie man dieses Problem recht einfach beseitigen kann (Aus Nutzer -und aus Webdesignersicht)

Wie wählt mein Browser die Schriftarten aus?

Zuallererst möchte ich die Grundlagen, wie ein Browser unter Linux seine Schriftarten auswählt, erläutern. Jeder moderne Browser bietet in seinen Konfigurationsdialogen eine Möglichkeit an die Schriften, welche zum Darstellen der Webseiten benutzt werden sollen, auszuwählen. In den meisten Fällen beschränkt sich die Auswahl auf drei Möglichkeiten :

  • Serif
  • Sans Serif
  • Monospace

Ersteres sind Serifenschriften (z.B. Times New Roman oder DejaVu Serif), zweiteres Schriften ohne Serifen (z.B. Arial oder DejaVu Sans) und letzteres Schriften mit fester Breite (z.B. Courier New oder DejaVu Sans Mono). Zusätzlich lässt sich noch die Größe der Schriften und die Minimalgröße der Schriften festlegen (Beispiel Firefox, Opera bietet wesentlich tiefergehende Möglichkeiten zur Schrifteinstellung)

Warum zeigt mir der Browser dann trotz allem einige Seiten mit einer anderen Schrift an?

Hier kommt nun ein Element von HTML ins Spiel :

Wird im HTML-Code explizit eine bestimmte Schriftart vorgegeben (z.B. Verdana auf ubuntuusers.de oder Spiegel Online), übergeht der Browser die vorgegebenen Schriftarten und benutzt die im HTML-Code angegebenen. In der Regel sieht das dann so im Quellcode einer Seite aus (Auszug aus einer CSS-Datei von Spiegel Online) :

font-family: verdana, arial, helvetica, geneva, sans-serif;

Zuerst soll der Browser die Seite mit der Schriftart “Verdana” anzeigen. Falls diese nicht vorhanden ist, soll “Arial” benutzt werden, falls diese wiederum nicht vorhanden ist, wird  “Helvetica” versucht, dann “Geneva” und falls alle Stricke reißen soll die im Browser unter “sans-serif” vorgegebene Schriftart benutzt werden.

Warum sieht dann stellenweise die Schrift in meinen Browser immer noch so bescheiden aus?

Jetzt könnte man als Benutzer meinen das alles in Butter ist. In der Regel hat man ja auch unter Linux die Windows-Schriftarten “Verdana” und “Arial” installiert (z.B. durch das Paket “msttcorefonts” bzw. “ttf-mscorefonts-installer”). Leider ist das nicht immer der Fall. So ist z.B. in der Grundinstallation der meisten Distributionen aus Lizenz-technischen Gründen dieses Paket nicht enthalten. Normalerweise wäre auch das kein Problem, da der Browser im Zweifelsfall einfach die unter “sans-serif” angegebene Schriftart benutzt, da in der Auswahl der Schriften im Browser kein Helvetica auftaucht, diese also nicht vorhanden ist.

Jedoch besitzen moderne Linux-Distributionen ein Schrift-Konfigurationssystem namens “Fontconfig”, welches dafür sorgt das das System auch bei  nicht vorhandenen Schriftarten eine (mehr oder weniger) fehlerfreie Ausgabe auf dem Bildschirm liefert. Dieses lässt sich sehr flexibel auf die eigenen Bedürfnisse anpassen, hat in der Grundkonfiguration aber eine, gelinde gesagt, hirnrissige Einstellung, welche für die schlechte Darstellung der Schriften sorgt :

Findet der Browser, um auf das obige Beispiel zurückzukommen, weder die Schriftart “Verdana” noch “Arial”, benutzt dieser die in Fontconfig vorgebene Alternative für die Schriftart “Helvetica”. Und das ist im Normalfall die Postscript-Schriftart “Nimbus Sans”. Und da die Schriftart “Helvetica” somit vorhanden ist, gibt es auch kein Ausweichen auf “sans-serif”. Und gerade diese Schriftart ist nicht gerade für ihr gutes Aussehen auf Bildschirmen bekannt und sorgt immer wieder für Beschwerden im Stil von “Warum sieht die Schrift unter Firefox stellenweise so bescheiden aus!”.

Besonders blöd wird die Situation, wenn der Webdesigner explizit die Schriftart “Helvetica” ganz an den Anfang der Liste im Tag “font-family” setzt (z.B. auf der Webseite von Canonical). Dann hilft auch nämlich auch kein Installieren von “Arial” oder “Verdana” mehr, der Browser benutzt immer die Schriftart “Nimbus Sans” als Ersatz für das nicht vorhandene “Helvetica”. Die meisten Benutzer greifen dann einfach zur Radikalmethode und verbieten dem Browser per Konfigurationsoption das Benutzen aller anderen Schriftarten. Doch es geht auch eleganter.

Fontconfig die “Nimbus”-Schriftart abgewöhnen

Um Fontconfig, Firefox und allen anderen Anwendungen das Ersetzen der Schriftart “Helvetica” gegen “Nimbus Sans” abzugewöhnen ohne die Schriften löschen zu müssen oder den Browser umzukonfigurieren, gibt es eine ganz einfache Methode :

Man löscht einfach alle Vorkommen von “Nimbus” in den Dateien unter “/etc/fonts/conf.avail”. Unter Ubuntu kommt dieser Name nur in drei Dateien vor (Bei anderen Distributionen dürften die Dateinamen und Vorkommen identisch sein):

  • 30-metric-aliases.conf
  • 45-latin.conf
  • 60-latin.conf

Um die Sache etwas zu vereinfachen, biete ich die geänderten Dateien zum Download an :

Fontconfig-Dateien ohne Nimbus-Schriften

Die im TAR-Archiv enthaltenen Dateien müssen einfach nur nach “/etc/fonts/conf.d” entpackt werden. Vorher sollte man aber auf alle Fälle die Originaldateien sichern um bei Nichtgefallen bzw. Problemen die Änderungen schnell wieder rückgängig machen zu können.

Startet man jetzt den Browser neu bzw. loggt sich neu ein, wird die Schriftart “Nimbus Sans” nicht mehr als Ersatz für den Schrifttyp “sans-serif” verwendet, sondern eine der Schriftarten aus der Liste “DejaVu Sans”, “Liberation Sans” oder”Arial” (Bzw. eine andere Ersatzschriftart aus den, in den Fontconfig-Dateien gelisteten Schriftarten).

Somit benutzen Firefox und andere Browser endlich vernünftige Bildschirmschriften und man muss sich als Benutzer nicht mehr mit einem schlechten Schriftbild rumärgern.

Skript zur Installation von OpenOffice.org3.1 unter Debian/Ubuntu

Mit ein paar Tagen Verspätung :

Skript für OpenOffice.org3.1.0

Das Skript benötigt folgende Pakete, damit es funktioniert :

  • fakeroot
  • rpm
  • desktop-file-utils
  • libgtk2.0-bin
  • shared-mime-info

Das Skript wird einfach per “bash ooo310-install-de.sh” gestartet. Der Rest geschieht von alleine.

PPA für den Intel-Grafiktreiber 2.7 für Jaunty

Nach ein paar Tagen des Rumbasteln und Lesens,  habe ich es endlich geschafft ein PPA einzurichten und dort einen aktuelleren Treiber für Intel-Grafikkarten hochzuladen. Der Treiber entspricht dem Versionstand 2.7.0, wurde von mir aber wie folgt modifiziert :

  • Kernel-Mode-Setting wurde deaktiviert, da Jaunty keine Unterstützung dafür anbietet (Dateiname 105_no_modesetting.diff)
  • Die zum Kompilieren notwendige “libdrm” wurde auf Version 2.4.5 gesetzt. Somit kann die von Jaunty mitgelieferte “libdrm” eingesetzt werden (100_change_libdrm.patch)
  • Einen Teil der Patches aus dem Ubuntu-Treiber übernommen und an den Quellcode des Treibers angepasst (namentlich die Patches 01_gen_pci_ids.diff, 103_quirk_intel_mb890.patch, 109_i830-fifo-watermark-conservative.patch, 110_quirk_hp_mini.patch und 112_num_used_fences.patch)

Das PPA ist unter folgender Adresse zu finden :

https://launchpad.net/~glasen/+archive/ppa

Warnung :

Je nach Hardware funktioniert der Treiber sehr gut oder auch gar nicht. Wer den Kernel 2.6.29 oder höher und UXA unter Jaunty einsetzt, sollte sich darauf gefasst machen das eventuell der Xserver nach dem Installieren nicht mehr startet. Testet also erst einmal in einem Trockenlauf ob der Treiber bei euch funktioniert und sichert vor allem das Paket des alten Treiber, damit ihr ohne viel Aufwand die Installation rückgängig machen könnt.

Eine Diskussion zu dem Treiber findet ihr im Forum von Ubuntuusers.