Verschiedenes

An dieser Stelle will ich Kleinigkeiten sammlen, die sonst nirgendwo hineinpassen.

fgPrinters

Dazu zählt zunächst eine kleine Erweiterung, die ich für Mozilla Sunbird geschrieben habe. Damit habe ich die Druckausgabe etwas an meine Bedürfnisse angepasst. Das Installationspaket gibt es auf der Projekt-Website.

Zu den Neuerungen zählt, dass nunmehr bei der Monatsübersicht auch dann der nächste Monat nicht mehr gedruckt wird, wenn die Woche nicht am Sonntag beginnt. Darüber hinaus verwenden die Ansichten jetzt beim Drucken weniger Farbe, weil nicht der komplette Hintergrund eines Events farbig gefüllt wird, sondern nur noch ein farbiger Rahmen gezogen wird. Die bisherige Sunbird-Darstellung kann allerdings in den Erweiterungs-Optionen wieder aktiviert werden.

Ins Auge sticht sicherlich auch, dass die Schrift in der Wochenübersicht stark vergrößert wurde, um eine Lesbarkeit auch aus größerer Entfernung zu gewährleisten. Die Schriftgrößen sowie die Hintergrundfarben für das Wochenende, die Titelzeilen und die Tage, die in einem anderen Monat sind, sind jetzt über den Einstellungsdialog auch konfigurierbar, ebenso wie einige andere Kleinigkeiten.

Hinzugekommen ist auch die Möglichkeit, für die Events in der Wochenübersicht auch die Beschreibung mit auszudrucken, um einen detaillierteren Plan zu ermöglichen. Daneben ist jetzt auch einstellbar, ob die Wochentage alle mit gleicher Höhe gedruckt werden sollen. Dies hat sich bei stark unterschiedlicher Anzahl von Terminen an den verschiedenen Wochentagen als unpraktisch erwiesen.

Seit Version 0.1.3 besteht auch die Möglichkeit, ein Time Sheet zu drucken, welches die Anzeige der Kalender in Sunbird nachempfindet – soweit dies mit HTML und CSS möglich ist.

Seit Version 0.3.1 gibt es eine weitere Druckform, nämlich die Listenansicht. Ziel dieser Darstellung ist es, einen möglichst platzsparenden Überblick über die bestehenden Termine auszudrucken.

Seit Version 0.4.4 gibt es auch eine Jahresansicht. Diese berücksichtigt zwar keine eingetragenen Termine, ermöglich es aber, schnell einen Jahreskalender zu drucken. Diese Funktion habe ich auf wiederholten Wunsch verschiedener Nutzer der Erweiterung eingebaut – vielleicht nützt sie ja dem einen oder anderen.

Die Französische Übersetzung wurde von Denis Bitouzé beigesteuert, bei dem ich mich hiermit bedanken möchte.

Für die Sprachfassungen Spanisch und Katalanisch danke ich Xavi Montero recht herzlich!

Die italienische Übersetzung sowie die Lokalisierung der AddOn-Beschreibung stammt von Danilo Fortunato – Vielen Dank!

Weitere Übersetzungen sind den freiwilligen Helfern von BabelZilla zu verdanken.

Fujitsu Stylistic LT C-500

Fujitsu Stylistic LT C-500

Vor einiger Zeit habe ich mir gebraucht bei eBay einen Tablet-PC gekauft – den Fujitsu Stylistic LT C-500. Das Gerät ist zwar schon etwas in die Jahre gekommen, aber als kleiner eBook-Reader allemal zu gebrauchen. Der Akku hält nicht mehr ewig, aber ansonsten klappt alles prima.

Da auf dem Gerät kein wirkliches Betriebssystem installiert war, und erfahrungsgemäß Linux etwas genügsamer mit knappen Ressourcen (Celeron mit 500 MHz, 256 MB RAM, 15 GB Festplatte) umgeht, habe ich mich entschieden, darauf Xubuntu 7.04 (Feisty Fawn) zu installieren. Xubuntu ist eine Variation von Ubuntu, bei der an Stelle des GNOME Desktop der genügsamere Xfce eingesetzt wird. Die Live-CD umfasst nicht einmal 600 MB...

Da der Stylistic nur von der internen Platte booten kann, habe ich die Festplatte zur Installation mit einem ATA-Adapter an meinen PC angeschlossen, und dort die Installation durchgeführt. Das funktionierte soweit auch problemlos. Nach dem Einbau der Festplatte in den Stylistic bootete das System, aber der X-Server funktionierte nicht – was absehbar war, denn die Grafikkarte ist eine andere als im Hauptrechner. Das Problem ließ sich aber mit einem dpkg-reconfigure xserver-xorg ohne weiteres beheben. Zum Zwecke der Konfiguration sollte man am besten eine USB-Tastatur an den Stylistic anschließen – das macht das Leben einfacher.

Fujitsu Stylistic LT C-500 mit eigenem Splash

Da ich von einem älteren Laptop noch eine PCMCIA-Netzwerkkarte rumliegen hatte, musste ich auch nicht alle erdenklichen Pakete schon am PC installieren – ich konnte einfach die Netzwerkkarte einstecken, sie wurde problemlos erkannt, und mittels aptitude dann die benötigten Pakete nachinstallieren. Für den Betrieb notwendig ist auf jeden Fall das fpit-Paket (xserver-xorg-input-fpit), welches den Treiber für den Touchscreen beinhaltet. Dann muss noch die X11-Konfiguration angepasst werden. Dazu muss in die Datei /etc/X11/xorg.conf folgendes eingefügt werden:

Section "InputDevice"
  Identifier "Touchscreen"
  Driver "fpit"
  Option "Device" "/dev/ttyS1"
  Option "Baudrate" "9600"
  Option "MaximumXPosition" "4096"
  Option "MaximumYPosition" "4096"
  Option "MinimumXPosition" "0"
  Option "MinimumYPosition" "0"
EndSection

In dem Abschnitt Section "ServerLayout" muss noch folgende Zeile hinzugefügt werden:

  InputDevice "Touchscreen" "SendCoreEvents"

Sollte in diesem Abschnitt hinter der standardmäßig konfigurierten Maus die Option "CorePointer" fehlen, so ist diese zu ergänzen.

Dadurch ließ sich der Mauszeiger zumindest schon einmal zum unkontrollierbaren Herumspringen bewegen. Xubuntu erkannte zwar die serielle Schnittstelle, stellte die Parameter jedoch falsch ein.

Kontrollierbar wird das ganze, wenn man während des Systemstarts zwei Befehle ausführen lässt, die die serielle Schnittstelle richtig konfigurieren. Dazu kann man z. B. in die Datei /etc/rc.local folgende zwei Zeilen aufnehmen:

/bin/setserial /dev/ttyS1 autoconfig
/bin/setserial /dev/ttyS1 uart 16450 irq 5 port 0xfd68

Die Nummer des seriellen Ports scheint teilweise auch unterschiedlich zu sein. Wichtig ist, dass man den Port konfiguriert, der an der Adresse 0xfd68 ist. Dies findet man mit folgendem Befehl heraus:

/bin/setserial -g /dev/ttyS*

Danach muss dann der X-Server neu gestartet werden (was beim Systemstart ja automatisch passiert), und dann funktioniert der Stylus.

Zum Schluss sollte man – je nach Geschmack – den acpid noch dazu überreden, bei einem Druck auf den Power-Knopf am oberen Gehäuserand nicht den Rechner herunterzufahren, sondern in den Hibernate-Modus zu gehen. Dann klappt das erneute Starten deutlich schneller. Dazu muss nur in der Datei /etc/acpi/events/powerbtn die Zeile

action=/etc/acpi/powerbtn.sh

durch die Zeile

action=/etc/acpi/hibernate.sh

ersetzt werden.

Fujitsu Stylistic LT C-500 im Betrieb

Die Console, die man ohne Tastatur ja ohnehin nicht sieht, kann man mittels der Option vga=788 am Bootprompt (oder durch den entsprechenden Eintrag in /etc/grub/menu.lst, dort defoptions, und anschließendem update-grub) erreichen.

Anschließend sollten alle Funktionen des Gerätes zur Verfügung stehen. Für das tippen zwischendurch sollte man aber noch das Paket xvkbd installieren. Bei dem Programm handelt es sich um eine virtuelle Tastatur, die Tastendrücke an andere Programme sendet, so dass man wenigstens behelfsmäßig auch Kommandos in einem Terminal-Fenster oder mal ein Passwort eingeben kann. Allerdings hatte ich mit dem Programm meine Probleme – es meinte ständig, die Control-Taste sei gedrückt worden, und sendete darüber hinaus doppelte Anschläge. Dies konnte ich dem Programm nur durch zwei kleine Änderungen abgewöhnen – eine davon in einer Konfigurationsdatei, die andere allerdings am Quelltext. Diese Probleme scheinen aber nicht überall zu bestehen. Zumindest beschreibt diese Seite keine solchen Probleme.

Da ich aber auf dieses Problem angesprochen wurde, hier meine Änderungen. Die erste betrifft den Quelltext. Dafür muss man sich diesen zunächst herunterladen. Ich habe die Version 2.8 genommen. Hier muss folgender Patch angewendet werden:

--- xvkbd.c 2006-09-10 07:16:00.000000000 +0200
+++ /usr/src/xvkbd-2.8/xvkbd.c 2007-06-01 09:25:13.000000000 +0200
@@ -1556,6 +1556,7 @@
* only need to check which mouse button is pressed here.
*/
static unsigned int n_key_repeat;
+static unsigned int suppress_double;

static void ButtonDownAction(Widget w, XEvent *event, String *pars, Cardinal *n_pars)
{
@@ -1563,7 +1564,7 @@

switch (event->xbutton.button) {
case Button2:
- mouse_shift |= ControlMask;
+// mouse_shift |= ControlMask;
break;
case Button3:
case Button4:
@@ -1953,6 +1954,12 @@

if (appres.debug) fprintf(stderr, "KeyPressed: key=%s, widget=%lx\n", key, (long)w);

+ if (suppress_double)
+ {
+ suppress_double = 0;
+ return;
+ }
+
value = FindFunctionKeyValue(key, TRUE);
if (value != NULL) {
if (appres.debug) fprintf(stderr, "Assigned string: %s\n", value);
@@ -2137,6 +2144,7 @@
shift_state &= ~altgr_mask;
}
RefreshShiftState(FALSE);
+ suppress_double = 1;
}

/*
@@ -3021,6 +3029,8 @@
Window child;
int op, ev, err;

+ suppress_double = 1;
+
argc1 = argc;
argv1 = malloc(sizeof(char *) * (argc1 + 5));
memcpy(argv1, argv, sizeof(char *) * argc1);

Das diff-File gibt es hier zum Download.

Weiterhin muss die Datei /etc/X11/app-defaults/XVkbd-common wie folgt modifiziert werden:

--- XVkbd-common.ad 2005-11-20 02:35:13.000000000 +0100
+++ XVkbd-common 2007-06-01 09:39:11.000000000 +0200
@@ -28,7 +28,7 @@
XVkbd*Command.translations: #override \n\
<EnterWindow>: ShowBalloon() highlight() \n\
<LeaveWindow>: CloseBalloon() unhighlight() \n\
- <BtnDown>: ButtonDownAction() set()\n\
+ <BtnDown>: ButtonDownAction() set() notify() unset() ButtonUpAction()\n\
<BtnUp>: notify() unset() ButtonUpAction()
XVkbd*Repeater.translations: #override \n\
: ShowBalloon() highlight() \n\

Es ist also die Zeile „<BtnDown>: ButtonDownAction() set()\n” durch die Zeile „<BtnDown>: ButtonDownAction() set() notify() unset() ButtonUpAction()\n\” zu ersetzen.

Eine andere Lösung hat Georg Meyer-Spasche mir per E-Mail zukommen lassen. Danach muss nur eine weitere Änderung an der xorg.conf vorgenommen werden. Folgende Optionen sind in der Section "InputDevice", Identifier "Touchscreen" einzufügen:

  Option "Passive"
  Option "CorePointer"

Vielen Dank an dieser Stelle für den Hinweis, mit dem sich die Probleme auch bei mir beheben ließen!

Schließlich kann man dem Gerät zum Schluss noch seine individuelle Note dadurch geben, dass man z. B. den Desktop-Hintergrund verändert und den Bootsplash anpasst. Mit persönlich war z. B. das Xubuntu-Logo bei dem Standard-USplash-Theme zu klein, so dass ich mir selbst ein Bild zusammen gebastelt habe, bei dem das Logo deutlich größer ist.

Da mich auf Dauer die immer wieder anlaufende Festplatte und die dadurch bedingten, trägen Zugriffe störten, habe ich die Installation auf eine CF-Karte (4 GB) übertragen, dich ich mit einem geeigneten Adapter in den Stylistic eingebaut habe. Anpassungen waren allerdings in /etc/fstab notwendig – Xubuntu trug hier bei der Installation UUIDs ein, die mit denen der Partitionen auf der CF-Karte nicht mehr übereinstimmten. Hier habe ich die UUIDs einfach durch die Device-Einträge (/dev/hda1 und /dev/hda5) ersetzt. Gleiches war für den „root=”-Eintrag in /boot/grub/menu.lst notwendig, damit der Bootmanager die richtige Partition zum starten verwendet. Nach diesen Anpassungen läuft der Stylistic jetzt lautlos und auch etwas zügiger, weil Zugriffe auf das Speichermedium nicht mehr warten müssen, bis die Festplatte angelaufen ist.

Um die Anzahl der Schreibzugriffe zu reduzieren, habe ich noch /var/log auf ein RAM-Disk gelegt. Die dort enthaltenen Dateien werden bei jedem Herunterfahren gepackt und auf die „Festplatte” geschrieben, damit die Daten nicht verloren gehen.