Hier habe ich ein paar Bugfixes und Patches für des Sharp- Cacko-ROM zustammengestellt, die das Leben etwas erleichtern sollen.

Wie üblich kann ich natürlich auch hier keinerlei Garantie dafür geben, dass die genannten Sachen auf jedem Zaurus genau so funktionieren, wie beschrieben. Daher: Nachahmung auf eigene Gefahr!



Wie bereits im HowTo erwähnt, funktioniert der Tab-Manager (Tab Settings) nicht richtig, wenn man die Einstellungen für die deutsche Sprache vorgenommen hat.

Nochmal im Detail, wo genau das Problem liegt:
Jedes Icons wird durch eine .desktop-Datei in /home/QtPalmtop/apps und dessen Unterverzeichnissen definiert. In dieser Datei gibt es zwei Einträge, die für unser Problem relevant sind. Einmal einen Eintrag Name und zum Anderen den Eintrag Name[de]. Durch die Umstellung auf die deutsche Sprache wird die Qtopia-Oberfläche dazu veranlaßt, den Wert von Name[de anzuzeigen. Auch der Tab-Manager liest diesen Wert ein und zeigt ihn korrekt an. Das Problem ist nun, dass der Tab-Manager zwar den Name[de]-Wert liest, aber nicht schreibt! Stattdessen werden sämtliche Änderungen dem Eintrag Name zugeordnet.

Beispiel:

myexample.desktop

Name=My Example
Name[de]=Mein Beispiel


Das Icon wird korrekt mit "Mein Beispiel" angezeigt und auch in den Tab Settings steht "Mein Beispiel" drin. Jetzt ändere ich im Tab-Manager "Mein Beispiel" in "Ein Test" und beende den Tab-Manager mit der Übernahme der Änderungen. Jetzt sieht myexample.desktop so aus:

Name=Ein Test
Name[de]=Mein Beispiel


Somit bleibt die Beschriftung des Icons unverändert, da Name[de] immer noch "Mein Beispiel" ist.

Die Lösung des Problems:

Eigentlich ist es ganz einfach, da die Änderungen ja tatsächlich in die .desktop-Dateien geschrieben werden, nur halt an die falsche Stelle. Es genügt also ein kleines Script, welches einfach nach jeder Änderung die Einträge von Name nach Name[de] kopiert. Dazu habe ich 2 kleine Scripte, die mir von Kay Schieck zur Verfügung gestellt wurden, entsprechend angepaßt.

Das eine Script kopiert die Einträge von "Name[de]" nach "Name", das andere Script macht genau das umgekehrte - es kopiert die Einträge von "Name" nach "Name[de]".

In der Praxis sieht das wie folgt aus: Nach der Installation der beiden Scripte gibt es bei den Einstellungen zwei neue Icons: Name-2-De und De-2-Name. Diese rufen einfach das jeweilige Script auf.
Man ruft nun wie gewohnt den Tab-Manager auf und führt dort die gewünschten Änderungen durch. Anschließend beendet man den Tab-Manager wieder. Jetzt sind die Änderungen in den .desktop-Dateien gespeichert, aber eben an falscher Stelle. Daher wird jetzt Name-2-De angeklickt. Außer einer Sanduhr in der Taktleiste ist nun nicht viel zu sehen.
Nachdem die Sanduhr verschwunden ist, sind auch die Einträge in den .desktop-Dateien korrekt, nur weiß Qtopia noch nichts davon. Eine Möglichkeit wäre nun Qtopia neu zu starten, doch es geht auch einfacher: Einfach Tab Settings erneut starten und danach gleich wieder mit OK beenden. Die Frage nach der Übernahme der Änderungen mit ja bestätigen. Damit werden die .desktop-Dateien neu eingelesen und die Änderungen sind wirksam.

Das war's! - Das ist vielleicht nicht die eleganteste Lösung, aber sie funktioniert - und ist immer noch einfacher, als jede Datei von Hand zu bearbeiten!

Installation:

Zunächst einmal lädt man sich die beiden Scripte icon_name2de.sh und icon_de2name.sh herunter, sowie die dazugehörigen .desktop-Dateien icon_name2de.desktop und icon_de2name.desktop.

Die beiden Scripte (*.sh) werden auf dem Zaurus ins Verzeichnis /home/QtPalmtop/bin kopiert (oder dorthin verlinkt) und mit chmod 777 icon_*.sh ausführbar gemacht. Alternativ kann man auch einfach den AdvancedFM nehmen und über "Set Permissions" die Ausführbarkeit einstellen.

Die beiden .desktop-Dateien werden auf dem Zaurus ins Verzeichnis /home/QtPalmtop/apps/Settings kopiert. Damit die Icons auch sichtbar werden, muß anschließend einmal Tab Settings gestartet und mit OK wieder beendet werden. - Jetzt sind 2 neue Icons bei den Einstellungen zu finden!

Damit die Scripte korrekt funktionieren, müssen sie mit root-Rechten laufen. Daher klicken wir jetzt nacheinander beide Icons an und halten den Stift gedrückt (nicht zwischendurch loslassen!), bis sich das Einstellungsfenster für das Icon öffnet. Dort setzen wir ein Kreuz in "Execture with root privilege".

Damit sind die Vorarbeiten abgeschlossen und beide Scripte können über die Icons gestartet werden.

Ganz wichtig: Als erstes sollte jetzt das Script De-2-Names aufgerufen werden! Damit werden zunächst einmal alle deutschen Iconsbeschriftungen in den Namenseintrag kopiert und damit zum Standard gemacht. Zur Sicherheit sollte man mit einem Texteditor bei ein oder zwei .desktop-Dateien prüfen, ob das Kopieren auch funktioniert hat.



Das SharpROM (und wohl nicht nur dieses) hat einen ziemlich lästigen Bug, wenn es um's Rebooten geht. Wird der Zaurus 2 Mal neu gestartet (Neustart=Reboot), ohne das er zwischen diesen Neustarts ausgeschaltet gewesen war, hängt er sich auf. Aus dieser "Totenstarre" läßt er sich dann nur noch durch ein Hard-Reset erwecken, was nicht gerade angenehm ist.

Mehr durch Zufall habe ich nun auf der Zaurus-Seite von Colin Pinkney eine Lösung für dieses Problem gefunden. Man benötigt die folgenden IPKs, die in den internen Speicher (Internal Storage) installiert werden müssen:

Die Idee hinter dem System ist so einfach wie genial. Der Zaurus wird damit um eine sog. "Suspend-Resume-Architektur" erweitert, d.h. ähnlich wie bei den Init-Scripten können hier nun Scripte (und damit auch Programme) angegeben werden, die der Zaurus vor jedem Aus- und nach jedem Einschalten ausführt.

Nach der Installation der Pakete sollten sich ein paar neue Verzeichnisse auf dem Zaurus befinden:

 /etc/apm.d
 /etc/apm.d/suspend.d
 /etc/apm.d/resume.d


In die Verzeichnisse "suspend.d" und "resume.d" können nun Programme oder Links zu Programmen abgelegt werden:
Zur Sicherheit findet bei den "suspend"-Programmen noch eine Zeitüberwachung statt. Sollte die Ausführung der dortigen Programme länger dauern, schaltet sich der Zaurus trotzdem aus, auch wenn die Programme vielleicht noch nicht vollständig ausgeführt worden sind. Die Zeit bis zur Zwangsabschaltung kann in der Datei /usr/local/bin/susp.sh eingestellt werden und ist auf 20 Sekunden voreingestellt.

Das safeboot-Programm baut auf diesem System auf und ersetzt den halt-Befehl (welcher das Ausschalten und Neustarten auf dem Zaurus steuert) durch ein neues Script.

Nachdem nun alle Programme installiert sind, sollte es keine Probleme mehr beim Rebooten des Zaurus geben.



©2004-2006 Frank A. Grenzel
Seite drucken