Linux-Arbeitskreis Hamburg |
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.
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:
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.
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 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.
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.
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.
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 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
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 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 {} \;
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
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.
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
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.
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.
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.
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.