Linux-Arbeitskreis Hamburg

Vorkonfiguration

Linux-Programme sind für Multiuser-Umgebungen geschrieben worden. Von daher ist es kein Problem die Programme mehrfach zu starten. In Umgebungen mit sehr vielen Benutzern ist es aber lästig, wenn jeder Benutzer erst seine eigenen Einstellungen vornehmen muss (Name, E-Mail bzw. IP-Adressen). Besonders lästig sind Programme wie z.B. StarOffice52, bei denen eine benutzerspezifische Installation erfolgt.
Der vorliegende Text beschreibt, wie man vorgehen kann, um allen Benutzern bestimmte Anwendungen so vor zu konfigurieren, dass sie bereits beim ersten Start voll nutzbar sind.

Grundidee

Die Programme legen in der Regel im Home-Verzeichnis des Benutzers ein Verzeichnis an, in dem sich die Einstellungen finden. Es langt nun nicht diese Verzeichnisse einfach zu kopieren, da hier oft der Benutzername eingetragen ist. Man installiert und konfiguriert also die Anwendungsprogramme für einen Standardbenutzer, hier dummyusr und ersetzt dann beim Kopieren der Verzeichnisse und Dateien den Namen dummyusr durch den aktuellen Benutzernamen. Der Name des Standardbenutzers sollte so lang sein, wie der längste auftauchende Benutzername (deshalb hier 8 Zeichen), da gelegentlich auch kodierte Dateien verändert werden müssen.

Beim Anmelden eines Benutzers wird überprüft, ob die jeweilige Konfiguration bereits in seinem Homeverzeichnis vorhanden ist, wenn nicht wird sie erstellt. Als Ort für diese Überprüfung bietet sich (zumindest auf Sytemen mit SuSE_linux) die Datei /etc/profile.local an, die bei jeder Anmeldung abgearbeitet wird. Die Datei ist normalerweise nicht vorhanden und für solche Zwecke gedacht. Statt bei der Anmeldung des Benutzers kann man die entsprechende Überprüfung natürlich auch beim Start des jeweiligen Anwendungsprogrammes vornehmen.

Diese Anleitung basiert auf einer Anregung Martin Herweg von der Linux User Group Marl

Der Ablauf einer Konfiguration sieht dann folgendermaßen aus:

  1. Konfiguration der Anwendung für den Standardnutzer dummyuser
  2. Ablegen der Konfigurationsdaten im Verzeichnis /thintelligent/vorlagen
  3. Anpassen bzw. Erweitern der Datei /etc/profile.local

Erstellen der Konfigurationsvorlage

Viele der Konfigurationsdateien sind nicht benutzerspezifisch, können also einfach kopiert werden. Es gilt erst einmal die Dateien zu ermitteln, in denen Daten stehen, die angepasst werden müssen. Nachdem das jeweilige Programm für den Standardbenutzer dummyusr konfiguriert wurde sucht man diese Dateien, indem man in das Konfigurationsverzeichnis wechselt und dann eingibt:

find . -exec grep -iH dummyusr {} \;

Damit werden erst einmal alle Dateien im Verzeichnis und den Unterverzeichnissen ermittelt und dann deren Inhalt nach der Zeichenkette dummyusr durchsucht. Alle Dateien in denen der Name auftaucht werden ausgegeben.

Zusätzlich müssen die Rechte in dem Konfigurationsverzeichnis so verändert werden, dass alle Dateien und Verzeichnisse lesbar sind und alle in jedes Verzeichnis wechseln dürfen:

chmod  -R  a+r *
find  .  -type d  -exec chmod a+x {} \;

Das Leserecht kann man rekursiv (-R) vergeben, das x-Bit sollte man nur für Verzeichnisse ändern und nicht für Dateien, daher die Kombination aus find und chmod.

Zum Kopieren der Konfigurationsvorlagen bieten sich zwei Möglichkeiten an, die aber mit den gleichen Kommandos arbeiten können.

Die eine Möglichkeit besteht darin in /usr/local/bin ein Shellscript anzulegen, das so heißt wie das zu startende Programm. Dieses Shell-Script übernimmt das Anlegen der Konfiguration und startet anschließend die eigentliche Anwendung. Da /usr/local/bin weit vorne im Pfad der Benutzer steht hat das Shell-Script Vorrang vor der Anwendung. Bei dieser Möglichkeit wird das Konfigurationsverzeichnis nur dann angelegt, wenn der User die Anwendung auch benutzen will.

Die zweite Möglichkeit besteht darin die Konfiguration über das Script /etc/profile.local anzulegen, wenn sich der Benutzer anmeldet. Die Konfiguration wird dann auch erstellt, wenn die Anwendung nicht benutzt wird.

/etc/profile.local

Die Datei ist normalerweise nicht vorhanden. Falls Sie vorhanden ist, dann wird sie bei der Anmeldung eines Benutzers in die Datei /etc/profile eingebunden und so als Programm ausgeführt. Die Datei /etc/profile.local selber muss nicht ausführbar sein und auch nicht in irgendeiner Form als Programm gekennzeichnet werden. Der Rahmen für diese Datei sieht folgendermaßen aus:

# Erweiterungen von Uwe Debacher und Bernd Burre für Thintelligent
#
if [ $UID -gt 499 ] ; then
  # Befehle
fi

Generell sollte man die Anpassungen für die Systembenutzer unterlassen. Bei SuSE-Linux werden Benutzerkennungen (UID) erst ab 500 vergeben. Nur für solche Benutzer tut das Programm also etwas.

Nach jeder Änderung sollte man das Script testen. Dazu meldet man sich einfach als normaler Benutzer an einer Konsole neu an. Am einfachsten ist das unter KDE/ICEWM, da langt es einfach ein neues Shell-Fenster zu öffnen. Falls Fehlermeldungen auftauchen kann man das Script gleich korrigieren.

kde2 generell

KDE2 legt, zumindest auf SuSE-Systemen die Konfiguration im Verzeichnis .kde2 ab. Dort finden sich zwei Links in das Verzeichnis /tmp hinein, die einfach gelöscht werden, da in der Zielangabe der Benutzername auftaucht.

rm  socket-<servername>
rm  tmp-<servername>

Der konkrete Name des Links beinhaltet den Servernamen, hier also socket-boss bzw. tmp-boss.
Sofern der Dummyusr einmal KDE gestartet hat kann man das Verzeichnis nach individuellen Daten durchsuchen. Wechselt man nach /home/dummyusr/.kde2 und gibt ein:

find . -exec grep -iH dummyusr {} \;

so gibt es nur einen einzigen Treffer. In der Datei /home/dummyusr/.kde2/share/config/kedglobals findet sich die Zeile:

[Paths]
Trash=/home/dummyusr/KDesktop/Mülleimer/

ersetzt man dies durch

[Paths]
Trash=~/KDesktop/Mülleimer/

so ist der Verweis allgemeingültig, da ~/ allgemein das Homeverzeichnis des jeweiligen Benutzers kennzeichnet.

Mit

cp  -a  /home/dummyusr/.kde2  /thintelligent/vorlagen

ist das Verzeichnis einsatzbereit.
Da die Vorlagen aber anschließend nur mit den Rechten des sich anmeldenenden Benutzers kopiert werden muss man darauf achten, dass alle Dateien und Verzeichnisse für alle Benutzer erreichbar und lesbar sind.

chmod  -R  a+r  /thintelligent/vorlagen/.kde2
find  /thintelligent/vorlagen/.kde2  -type d  -exec chmod a+x {} \;

Auch hier immer wieder testen, es könnten im konkreten Fall noch Änderungen fehlen. Als normaler Benutzer sollte man versuchen das Vorlagenverzeichnis z.B. nach /tmp zu kopieren.

cp -r /thintelligent/vorlagen/.kde2  /tmp

Falls Fehlermeldungen auftauchen fehlt irgendwo noch ein Recht zum Wechseln in ein Verzeichnis. Das x-Bit sollte man aber nicht rekursiv setzen, da dann Dateien ausführbar werden, was ein Sicherheitsrisiko darstellen könnte.

Fertige Vorlagendatei

Im letzten Schritt erfolgt die Erweiterung von /etc/profile.local:

# Erweiterungen von Uwe Debacher und Bernd Burre für Thintelligent
#
if [ $UID -gt 499 ] ; then

  if test ! -d ~/.kde2 ; then
    cp -r /thintelligent/vorlagen/.kde2 ~/
    sed  s/dummyusr/$USER/  /thintelligent/vorlagen/.kde2/share/config/kdeglobals  >  ~/.kde2/share/config/kdeglobals

  fi
fi

Hier steht noch einmal die komplette Version mitsamt der bereits beschriebenen Abfrage der UID. Es wird die Existenz der Verzeichnisses .kde2 im Homeverzeichnis des Benutzers abgefragt. Falls das nicht existiert (test  !  -d ) wird es kopiert.

Konqueror

Den Webbrowser Konqueror kann man unter Einstellungen -> Konqueror einrichten ... an die eigenen Bedürfnisse anpassen. Bei Bedarf sollte man dort unter Konqueror-Browser in den Reitern Java und Javascript die jeweiligen Sprachen global für den Benutzer aktivieren. Unter Proxies&Zwischenspeicher finden sich die wichtigen Proxy-Einstellungen. Den Zwischenspeicher sollte man auf 0 KB einstellen, sofern man einen Proxy benutzt.

Die Einstellungen finden sich in der Dateien

wieder. Da hier ansonsten keine Benutzerdaten auftauchen kann man die Dateien einfach mit dem .kde2 Verzeichnis kopieren (s.o.) oder bei späteren Änderungen mit den Zeilen:

cp  /thintelligent/vorlagen/.kde2/share/config/konquerorrc  ~/.kde2/share/config
cp  /thintelligent/vorlagen/.kde2/share/config/kioslaverc  ~/.kde2/share/config

Natürlich muss man die veränderten Dateien vorher in das Vorlagenverzeichnis kopiert haben.

KMail

In KMail nehmen Sie Ihre individuellen Einstellungen unter Einstellungen -> KMail einrichten ... vor.

Dort trägt man unter Identität den Namen dummyusr und unter E-Mail-Adresse seine Mail-Adresse ein, z.B. dummyusr@gyloh.hh.schule.de.

Unter Netzwerk sollte man SMTP anwählen und die IP-Adresse des Servers angeben 192.168.1.1. Anschließend klickt man dort unter eingehende E-Mail auf Hinzfügen, um ein neues Postfach einzurichten. Als Postfach-Typ wird in der Regel POP3 üblich sein. In dem sich öffnenden Fenster gibt man als Name wieder dummyusr ein und als Benutzer ebenfalls. Bei Server ist wieder die IP gefragt, 192.168.1.1. Das Passwort-Feld sollte leer bleiben.

Damit ist die Konfiguration abgeschlossen und KMail kann beendet werden.

KMail speichert seine Einstellungen in der Datei /home/dummyusr/.kde2/share/config/kmailrc. Hier taucht auch der Benutzername auf, insofern kann die Datei nicht einfach kopiert werden. Beim Kopieren muss jeweils dummyusr durch den aktuellen Benutzernamen ersetzt werden.
Das geschieht durch die folgende Zeile in der /etc/profile.local:

   sed  s/dummyusr/$USER/  /thintelligent/vorlagen/.kde2/share/config/kmailrc  >  ~/.kde2/share/config/kmailrc

Das Programm sed ist eine Art Editor. Er liest die Vorlagendatei ein und wendet einen regulären Ausdruck, ein Suchmuster auf diese Eingabe an. Über das Suchmuster wird der Text dummyusr durch den aktuellen Benutzernamen ersetzt. Die Ausgabe von sed wird in die Zieldatei umgeleitet.

Falls die Konfiguration von KMail bereits vor dem Erstellen der .kde2 Vorlage erfolgt ist, kann die Zeile in den /etc/profile.local Abschnitt von kde mit aufgenommen werden:

if test ! -d ~/.kde2 ; then
    cp -r /thintelligent/vorlagen/.kde2 ~/
    sed  s/dummyusr/$USER/  /thintelligent/vorlagen/.kde2/share/config/kmailrc  >  ~/.kde2/share/config/kmailrc
fi

Bei späteren Änderungen an der Konfiguration sollte die Zeile außerhalb der Bedingung stehen:

if test ! -d ~/.kde2 ; then
    cp -r /thintelligent/vorlagen/.kde2 ~/
fi
sed  s/dummyusr/$USER/  /thintelligent/vorlagen/.kde2/share/config/kmailrc  >  ~/.kde2/share/config/kmailrc

Opera 5

Opera ist zwar kommerzielle Software, aber sehr schnell und gut. Die Konfiguration erfolgt unter File -> Preferences.

Die Proxy-Einstellungen finden sich unter Network im Reiter Proxy servers. Unter History und Cache kann man den Disk cache auf 0 kb setzen, oder zumindest Empty on exit aktivieren.

Unter Document sollte man im Reiter Languages German als bevorzugte Sprache hinzufügen.

Da Opera über keinen eigenen Mail-Client verfügt sollte man unter Applications im Reiter Paths kmail als Mail- und News-Client eintragen (kmail klein geschrieben).

Damit sind die wichtigsten Einstellungen erfolgt uns man kann das Menü verlassen. Zum Abschluss kann man dann noch unter View einige der Leisten abstellen, z.B. Hotlist -> Off.

Nach dem Beenden von Opera befinden sich die Einstellungen in dem Verzeichnis .opera, das nach dem Kopieren in den Vorlagenordner noch allgemein zugänglich gemacht werden muss:

chmod  -R a+r  /thintelligent/vorlagen/.opera
chmod  a+x  /thintelligent/vorlagen/.opera

Fertige Vorlagendatei

Der Benutzername findet sich nur in der Datei opera.ini, von daher sind die Anpassungen an der /etc/profile.local relativ einfach:

  if test ! -d ~/.opera ; then
    cp -r /thintelligent/vorlagen/.opera ~/
    sed s/dummyusr/$USER/ /thintelligent/vorlagen/.opera/opera.ini > ~/.opera/opera.ini
  fi

Netscape 4.7x

Netscape unter Linux ist eine instabile Angelegenheit. Gerade in Mehrbenutzer-Umgebungen taucht das Problem auf, dass Netscape auch nach einem Absturz gern weiter Prozessorlast um 100% verursacht. Damit können die anderen Benutzer kaum sinnvoll weiter arbeiten.

Wer davon nicht abgeschreckt wird, der kann die Konfiguration folgendermaßen vornehmen.

Die Konfigurationsmöglichkeiten finden sich unter Bearbeiten -> Einstellungen.

Unter Navigator kann man die Startseite festlegen. Unter Navigator -> Sprachen sollte man Deutsch als erste Sprache auswählen.

Die Mail-Einstellungen erfolgen unter E-Mail & Newsgroups. Dort unter Identität erfolgen die persönlichen Angaben, Name und Mailadresse. Unter Mail-Server gibt man dann für den SMTP-Server wieder die IP-Adresse an. Den vordefinierten POP-Server muss man bearbeiten. Unter Server-Name gibt man die IP an und unter Benutzername wieder dummyusr.
Entsprechend muss dann unter Newsgroup-Server die Bearbeitung erfolgen. Da man den Servernamen nicht ändern kann muss man mit Hinzufügen den Server 192.168.1.1 neu hinzufügen und den vorgegebenen Server news löschen.

Unter Erweitert kann man Java und Javascipt aktivieren (auf keinen Fall für Mail und News). Unter Cache sollte man den Festplattencache wieder auf 0 kByte einstellen. Die wichtigen Proxy-Einstellungen stehen dann in der Rubrik Proxies.

Danach kann man den Netscape wieder schließen.

Netscape legt die Verzeichnisse nsmail und .netscape an. Da nsmail im Bedarfsfall neu erstellt wird müssen wir dieses Verzeichnis nicht beachten. Man kopiert wieder das Verzeichnis in das Vorlagenverzeichnis und mach die Dateien allgemein zugänglich:

chmod  -R a+r  /thintelligent/vorlagen/.netscape
find  /thintelligent/vorlagen/.netscape  -type d  -exec chmod a+x {} \;

Fertige Vorlagendatei

Netscape speichert seine Einstellungen in der Datei preferences.js. Von daher ist die Anpassung hier wieder recht einfach.

  if test ! -d ~/.netscape ; then
    cp -r /thintelligent/vorlagen/.netscape ~/
    sed s/dummy/$USER/ /thintelligent/vorlagen/.netscape/preferences.js > ~/.netscape/preferences.js
  fi

Netscape 6.2

Die Experimente mit Netscape 6.2 waren mit sehr großen Hoffnungen auf größere Stabilität verbunden. Leider hat Netscape diese Hoffnungen enttäuscht. Auch in der Version 6.2 bleibt Netscape oft hängen und belastet weiter den Prozessor hoch. Generell kann man beide Netscape-Versionen nur einsetzen, wenn man abends über einen Cronjob alle verbliebenen Prozesse beendet.

Die Konfiguration von Netscape 6.2 entspricht weitgehend der von Netscape 4.7x, nur speichert das Programm seine Einstellungen jetzt im Verzeichnis .mozilla. Bevor man Netscape 6.2 für den dummyusr erstmalig startet sollte man unbedingt ein eventuell vorhandenes Verzeichnis .netscape löschen, sonst importiert das Programm die alten Einstellungen und verteilt seine Konfiguration über beide Ordner.

Bei der Installation von Netscape 6.2 taucht zuerst eine Aktivierungsaufforderung auf. Diese kann man einfach abbrechen, danach startet Netscape dann ganz normal. Nach der Konfiguration (analog zu 4.7x) sollte man noch die Seitenleiste ausblenden, Anzeigen -> Meine Seitenleiste. Unter Gesamtbild -> Themes kann man den Netscape auf die klassische Darstellung umstellen. Unter eMail und Diskussionsforen kann man das Häkchen bei Startseite von eMail entfernen, oder eine eigene Startseite angeben. Nach der Konfiguration des Browsers sollte man den Messenger starten. Es startet dann sofort der Konto-Assistent, über den man ein neues Mailkonto einrichten kann.

Der erste Auswahlpunkt ISP- oder Provider-eMail ist für ein lokales Netz am sinnvollsten. Der Assistent fragt dann die Daten nacheinander ab. Die Seitenleiste sollte man gleich wieder ausblenden Anzeigen -> Meine Seitenleiste.

Sollte man ein weiteres Konto einrichten wollen, z.B. ein Newskonto, so kann man den Assisten unter Bearbeiten -> eMail und Diskussionsforen-Konto-Einstellungen -> Neues Konto erneut aufrufen.

Danach kann man dann den Messenger und Netscape beenden.

Netscape legt drei Ordner an:

Es langt aber sich mit dem Ordner .mozilla zu beschäftigen. In dem Ordner gibt es eine Datei appreg und ein Verzeichnis namens default. Die Datei appreg enthält Benutzerinformationen in kodierter Form. Leider findet sich bisher keine Beschreibung, wie diese Datei korrekt zu bearbeiten ist, daher bleibt nur eine Manipulation auf Binärebene.

Zuerst kopiert man sich das Verzeichnis .mozialla in den Vorlagenordner.

Im Verzeichnis default befindet sich ein Unterverzeichnis, dessen Name eine zufällige Buchstabenkombination mit 8 Zeichen und der Endung .slt ist (z.B. y8k4x8sl.slt). Für die Vereinheitlichung der Scripten ist es sinnvoll dieses Verzeichnis in z.B. default1.slt umzubenennen (ebenfalls 8 Zeichen).

mv  y8k4x8sl.slt  default1.slt

Nun wechselt man in dieses Verzeichnis default1.slt. In diesem Verzeichnis befinden sich zwei Dateien mit benutzerspezifischen Einstellungen, nämlich prefs.js und panacea.dat. In diesen beiden Dateien befindet sich auch der Name des Verzeichnisses, das gerade umbenannt wurde. Die Dateien müssen also gleich angepasst werden.

sed s/y8k4x8sl.slt/default1.slt/   /home/dummyusr/.mozilla/default/y8k4x8sl.slt/prefs.js  >  /thintelligent/vorlagen/.mozilla/default/default1.slt/prefs.js
sed s/y8k4x8sl.slt/default1.slt/   /home/dummyusr/.mozilla/default/y8k4x8sl.slt/panacea.dat  >  /thintelligent/vorlagen/.mozilla/default/default1.slt/panacea.dat

Wenn die Verzeichnisnamen exakt gleichlang sind, dann kann man auch die Datei appreg entsprechend kopieren, in der ebenfalls der Verzeichnisname auftaucht.

sed s/y8k4x8sl.slt/default1.slt/   /home/dummyusr/.mozilla/appreg  >  /thintelligent/vorlagen/.mozilla/default/default1.slt/appreg

Nun noch die üblichen Änderung, damit alle User die Dateien kopieren dürfen:

chmod  -R  a+r  /thintelligent/vorlagen/.mozilla

Damit ist die Vorlage fertig.

Beim Kopieren der Vorlage taucht nun ein Problem auf. Wenn ein Benutzername kürzer oder länger ist, als der vom Standarduser, dann führen einfache Ersetzungen in der Datei appreg zu Fehlern. In dieser Datei scheinen die Daten in Nullterminierten Strings abgelegt zu sein. Man muss also darauf achten, dass am Ende des Benutzernamen noch das Zeichen #0 geschrieben wird. Längere Namen dürfen nicht auftauchen, so sollte der Standardbenutzer angelegt sein.

  if test ! -d ~/.mozilla ; then
    cp -r /thintelligent/vorlagen/.mozilla ~/
    QUELLE="dummyusr"
    ZIEL="$USER"
    /usr/local/bin/appreg.pl $QUELLE $ZIEL
    sed s/dummyusr/$USER/ /thintelligent/vorlagen/.mozilla/default/default1.slt/prefs.js > ~/.mozilla/default/default1.slt/prefs.js
    sed s/dummyusr/$USER/ /thintelligent/vorlagen/.mozilla/default/default1.slt/panacea.dat > ~/.mozilla/default/default1.slt/panacea.dat
  fi

Für die Dateien prefs.js und panacea.dat ist die Änderung unkompliziert, für appreg benötigt man das folgende Perlscript:

#!/usr/bin/perl
# Script zur Anpassung der appreg von Netscape 6.2
$quelle=shift;
$quelle="$quelle/.mozilla/default/default1.slt";
$ziel=shift;
$home="/home/$ziel";
$ziel="$ziel/.mozilla/default/default1.slt";
while (length($ziel) < length($quelle)) {
  $ziel="$ziel\0";
}
@ARGV = ("$home/.mozilla/appreg");
$^I= ".bak";
while (<>) {
 s/$quelle/$ziel/;
 print;
}

Dieses kleine Programm verlängert den Benutzernamen um das Zeichen #0, solange er kürzer ist als der vom Standardbenutzer. Danach führt es eine Ersetzung der Zeichenkette durch, beide sind jetzt ja gleichlang.

Falls jemand eine einfachere Lösung kennt, immer her damit.

StarOffice 5.2

Jeder Benutzer, der StarOffice erstmalig aufruft sieht sich mit einem Installationsdialog konfrontiert. Das Risiko für den Systemadministrator besteht darin, dass der Benutzer sich versehentlich 100 MByte in sein Homeverzeichnis installiert. Von daher ist hier eine Vorkonfiguration sinnvoll.

Beim Start wird auch der dummyusr mit dem Installationsdialog konfrontiert. Er sollte nur seine Mail-Adresse eingeben und dann die Standard Workstation Installation auswählen. Beim Java-Setup folgt man der Vorgabe. Nach der Installation beendet sich StarOffice und muss neu gestartet werden, wenn noch Einstellungen erfolgen sollen. Nach dem Neustart meldet sich ein Assisten für die Interneteinstellungen. Hier kann man interaktiv die Proxyeinstellungen vornehmen.
Mail und News sollte man nicht konfigurieren, da die automatische Anpassung der Postfächer nicht gelöst ist. Mail und News muss dann bei Bedarf jeder Benutzer einzeln konfigurieren über Datei -> AutoPilot -> Internet-Setup.

Danach kann man StarOffice wieder beenden. Bei einem dritten Start kommt noch eine Registrierungsaufforderung. Hier kann man Nie registrieren auswählen und StarOffice dann endgültig beenden.

StarOffice legt die Dateien:

und das Verzeichnis

an. Die beiden Dateien werden unbedingt benötigt. Die Datei .sversionrc ist eine Textdatei, die den Benutzernamen enthält. .user52.rdb ist eine kodierte Datei, die aber keine Benutzerdaten enthält.

Im Verzeichnis office52 befinden sich mehrere Dateien mit dem Benutzernamen. Die meisten Treffer gibt es auf die Datei setup.log, die man einfach löschen kann. Dann gibt es noch mehrere kodierte Dateien mit der Endung .scs oder .scc, die man vermutlich besser belassen sollte.

rm office52/setup.log
rm office52/instdb.ins
rm office52/usr/config/rootstg.scs
rm office52/usr/config/rootstg.bak
rm office52/user/explorer/Arbeitsplatz.scc
rm office52/user/store/file.scs

Fertige Vorlagendatei

Die wichtigste Konfigurationsdatei ist office52/user/sofficerc. Daraus resultiert dann folgende Installation:

  if test ! -d ~/office52 ; then
    cp /thintelligent/vorlagen/.user52.rdb  ~/
    sed s/dummyusr/$USER/ /thintelligent/vorlagen/.sversionrc  >  ~/.sversionrc
    cp -r /thintelligent/vorlagen/office52 ~/
    sed s/dummyusr/$USER/ /thintelligent/vorlagen/office52/user/sofficerc > ~/office52/user/sofficerc
  fi

Der Umgang mit den kodierten Dateien ist leider noch nicht ganz klar, die Installation so aber bis auf Mail funktionsfähig. Wenn Mail konfiguriert ist dann tauchen weitere kodierte Dateien auf, deren Anpassung schwierig ist

Hinweis: Bei mit NFS gemounteten Homeverzeichnissen gibt es Probleme mit der StarOffice Installation. Der Text von SuSE beschreibt einen Lösungsansatz. Das Problem betrifft aber nur die erstmalige Installation für den dummyusr. Die vorkonfigurierten Installationen sind auch in diesem Umfeld problemlos nutzbar.

OpenOffice

Die Konfiguration von OpenOffice ist eigentlich ganz einfach, zumindest wenn man auf die deutsche Rechtschreibung verzichten mag. Ansonsten sind ein paar Schritte erforderlich, die kaum zusammenhängend dokumentiert sind.

Deutsche Wörterbücher

Die folgende Beschreibung geht davon aus, dass OpenOffice im Verzeichnis /opt/OpenOffice.org641_de installiert ist, das ist die Vorgabe bei SuSE 8.0.

Zuerst holt man sich über die Seite http://de.openoffice.org/about-spellcheck.html die Datei de_DE.zip und legt sie im Verzeichnis /opt/OpenOffice.org641_de/user/wordbook ab. Anschließend wird die Datei mit
unzip  de_DE.zip
in dem Verzeichnis entpackt. Dabei entstehen u.a. die Dateien de_DE.aff und de_DE.dic. Da einige Archiv-Versionen die Dateien als ausführbar kennzeichen macht es vermutlich Sinn die entsprechenden Attribute generell zu setzen:
chmod  a+x  de_*

Nun muss die Datei dictionary.lst im gleichen Verzeichnis erweitert werden, um die im folgenden Listing hervorgehobene Zeile.

# List of All Dictionaries to be Loaded by OpenOffice
# ---------------------------------------------------
# Each Entry in the list have the following space delimted fields
#
# Field 1: Entry Type "DICT" is the only supported entry type so far
#
# Field 2: Language code from Locale "en" or "de" or "pt" ...
#
# Field 3: Region Code from Locale "US" or "UK" or "PT"
#
# Field 4: Root name of Dictionary "english" or "en_US" or ...
#          (do not add the .aff or .dic extensions to the name) 
DICT de DE de_DE
DICT en US en_US

Nun starte man OpenOffice und nimmt die weiteren Einstellungen unter Extras->Optionen vor. Zuerst korrigiert man unter OpenOffice.org->Pfade den Pfad zum Wörterbuch. Der vorhandene Eintrag verweist auf das Homeverzeichnis der aktuellen Benutzers, sollte aber auf /opt/OpenOffice.org641_de/user/wordbook zeigen.
Danach geht man dann auf Spracheinstellungen->Linguistik und klickt dort auf den Knopf Bearbeiten. In dem folgenden Fenster kann man jetzt Deutsch auswählen. Anschließend noch das Häkchen vor dem Spell-Checker setzen. Unter Spracheinstellungen->Sprachen stellt man dann noch die Standardsprache Westlich auf Deutsch ein und kann dann mit Schließen und OK das Konfigurationsmenü verlassen.

Fonts und Drucker

Die Ausstattung von OpenOffice mit Schriften ist etwas spartanisch und die als Default eingestellte Schrift Thorndale scheint nicht vorhanden zu sein. Man kann OpenOffice aber dazu veranlassen alle Truetype und Typ1 Schriften die auf dem System installiert sind auch zu nutzen. Dazu muss man als root (sonst fehlen eventuell Schreibrechte, das Programm /opt/OpenOffice.org641_de/spadmin aufrufen.
Wenn die grafische Oberfläche von einem normalen Benutzer aufgerufen wurde, dann wechselt man mit
xhost +
su

zum Root-Account. Und ruft dann
/opt/OpenOffice.org641_de/spadmin
auf.

Im folgenden Fenster klickt man auf den Knopf Schriften und dann auf Hinzufügen. In der Zeile Quellverzeichnis gibt man dann
/usr/X11R6/lib/X11/fonts/truetype/ an, oder wählt das über die Auswahlbox aus. Es sollte nun eine längere Liste mit Schriften in dem oberen Teil des Fensters erscheinen. Mit Alle markieren und OK übernimmt man diese Schriften für OpenOffice. Nun noch zweimal auf Schließen klicken und nach einem Neustart sollte OpenOffice über die neuen Schriften verfügen. Enstsprechend kann man auch die Schriften aus dem Verzeichnis /usr/X11R6/lib/X11/fonts/Type1/ übernehmen.

Wer sich an der voreingestellten Schrift Thorndale stört, der geht über Extras->Optionen und kann dort Textdokument->Grundschriften eine der vorhandenen Schriften auswählen, z.B. Times New Roman.

Danach kann man OpenOffice beenden und aus dem Homeverzeichnis des dummyusers das Verzeichnis

OpenOffice

und die Dateien

.sversionrc
.user60.rdb

ins Vorlagenverzeichnis kopieren. Falls parallel auch StarOffice52 benutzt werden soll, sollte die Datei .sversionrc folgenden Inhalt besitzen:

[Versions]
StarOffice 5.2=/home/dummyusr/office52
OpenOffice.org 641=file:///home/dummyusr/OpenOffice

Dann führt man im Template-Verzeichnis

chmod -R a+r OpenOffice
find  OpenOffice  -type d  -exec chmod a+x {} \;

aus. Der Benutzername findet sich nur in den Dateien:

OpenOffice/user/config/registry/instance/org/openoffice/UserProfile.xml
OpenOffice/user/config/registry/instance/org/openoffice/Setup.xml
OpenOffice/user/config/registry/instance/org/openoffice/Office/Common.xml

Damit sollte dann folgendes Installationsskript die notwendigen Anpassungen vornehmen:

if [ $UID -gt 499 ] ; then 
 # OpenOffice
 if test ! -d ~/OpenOffice ; then
   echo "Lege OpenOffice Konfigurationsdateien an"
   cp /thintelligent/vorlagen/.user60.rdb ~/
   sed s/dummyusr/$USER/g /thintelligent/vorlagen/.sversionrc > ~/.sversionrc
   cp -r /thintelligent/vorlagen/OpenOffice ~/
   sed s/dummyusr/$USER/g /thintelligent/vorlagen/OpenOffice/user/config/registry/instance/org/openoffice/UserProfile.xml > ~/OpenOffice/user/config/registry/instance/org/openoffice/UserProfile.xml
   sed s/dummyusr/$USER/g /thintelligent/vorlagen/OpenOffice/user/config/registry/instance/org/openoffice/Setup.xml > ~/OpenOffice/user/config/registry/instance/org/openoffice/Setup.xml
   sed s/dummyusr/$USER/g /thintelligent/vorlagen/OpenOffice/user/config/registry/instance/org/openoffice/Office/Common.xml > ~/OpenOffice/user/config/registry/instance/org/openoffice/Office/Common.xml
 fi
fi

Damit sollte OpenOffice für alle Benutzer sinnvoll vorkonfiguriert sein.


Kritik, Anregungen und Ergänzungen willkommen. Zusammengestellt von Uwe Debacher und Bernd Burre, letzte Änderung am 27.01.2006
Impressum