Crossoverinstallation auf SUSE
Script zur Installation von Crossover:
Voraussetzungen:
Erstellung der Datei .cxoffice.tar.gz
:
es müssen manuell auf einem Testrechner crossover und in crossover MS-Office installiert werden.
Das im home entstehende Verzeichnis .cxoffice muss getart, dann gezippt und auf dem Webserver als .cxoffice.tar.gz hochgeladen werden.
Es dürfen keinerlei weitere Einstellungen in Office vorgenommen werden.
in dem Verzeichnis muss das angepasste Installationsscript installcx.sh
liegen (s.u.).
in dem Verzeichnis muss die Datei mimeTypes.rdf
liegen (s.u.).
die o.g. Dateien sollten per Web-zugriff erreichbar sein (ev. Dateieigentümer auf www-data stellen).
die Mailfunktion auf dem linuxclient sollte funktionieren (dann erhält der Admin eine Mail nach der Installation).
Das Script muss als normaler Benutzer unter KDE ausgeführt werden.
Das Rootpasswort mus dem Benutzer bekannt sein, da es abgefragt wird.
Installation:
der Benutzer muss mit seinem normalen Account nur folgenden Befehl ausführen:
kioexec sh http://webserver/suse/extras/installcx.sh
Die Datei installcx.sh:
- installcx.sh
#!/bin/bash
#Installationsroutine zur Installation von Crossover/js/2010
#auf Netztesten (Zentrale oder Filiale)
#IP Filiale = 172.x.x.x
#IP Zentrale = alle anderen IPs
MYIP=`/sbin/ifconfig eth0 | grep "inet "|cut -d: -f2|cut -d. -f1`
if [ $MYIP = "172" ];then
#echo meine ip lautet :$myip also Filiale
SRV="filialesrv" #hier dnsnamen des webservers eintragen
else
#echo also Zentrale
#wenn nur ein server vorhanden,dann hie den DNSNamen eintragen.
SRV="zentralesrv" #hier dnsnamen des webservers eintragen
fi
#auf root testen
if [ $UID -eq 0 ];then
kdialog --title "Falscher Benutzer!" --error "Starten Sie dieses Script bitte nicht als root.\nversuchen Sie es erneut als normaler Benutzer.";
exit 1;
fi
if ! kdialog --warningcontinuecancel "Willkommen zur CrossOverInstallation!\nDabei wird auf Ihrem Rechner eine Microsoft Office 2007 Installation durchgeführt.\nDiese Software darf nicht ohne gueltige Lizenz installiert werden!\nInstallation starten?" --title "CxInstallation von CrossOver"; then
exit;
fi
if ! NAME=`kdialog --inputbox "Bitte geben Sie Ihren Namen ein:" "\$USER" --title "Wer sind Sie?"`; then
exit;
fi
if ! HOME=`kdialog --inputbox "Bitte geben Sie Ihr Heimatverzeichnis ein:" "\$HOME" --title "Wo befindet sich Ihr Heimatverzeichnis?"`; then
exit;
fi
################
#Passwortprüfung
if ! PASS=`kdialog --password "Bitte geben Sie das Rootpasswort (!) ein:" --title "das Rootpasswort?"`; then
exit;
fi
echo $PASS | su -c "ls >/dev/null" 2>/dev/null
while ! [ $? = 0 ];
do
if ! PASS=`kdialog --password "Ungültiges Rootkennwort. Bitte geben Sie das richtige Rootpasswot ein:" --title "das Rootpasswort?"`;then
exit;
fi
echo $PASS | su -c "ls >/dev/null" 2>/dev/null
done
################
#Crossover download und installation
cd $HOME
#echo $PASS | su -c "rcSuSEfirewall2 stop"
kdialog --title "einen Augenblick bitte..." --passivepopup " Lade Crossover herunter ..." 8 &
#wget http://$SRV/suse/extras/.install-crossover-pro-8.0.3.sh;clear
wget http://$SRV/suse/extras/crossover-pro-8.0.3-1.i386.rpm;clear
echo "Einen Augenblick bitte..."
kdialog --title "einen Augenblick bitte..." --passivepopup " installiere CrossOver ..." 3
kdialog --title "einen Augenblick bitte..." --passivepopup " bitte haben Sie etwas Geduld..." 8 &
echo $PASS | su -c "rpm -Uv crossover-pro-8.0.3-1.i386.rpm"
sync
if test -f crossover-pro-8.0.3-1.i386.rpm;then
rm -f crossover-pro-8.0.3-1.i386.rpm
################
#MSoffice download und Installation
kdialog --msgbox "OK, die Crossoverinstallation scheint fertig zu sein\nich mache weiter mit der Microsoft Office Installation\nDauer ca. 3 Minuten";
else
kdialog --error "konnte crossover-pro-8.0.3-1.rpm nicht löschen";
exit 1;
fi
kdialog --title "einen Augenblick bitte..." --passivepopup " Lade MS Office herunter ..." 80 &
wget http://$SRV/suse/extras/.cxoffice.tar.gz;clear
if test -f .cxoffice.tar.gz;then
echo "packe OFFICE aus..."
kdialog --title "einen Augenblick bitte..." --passivepopup " packe MS OFFICE aus ..." 3
kdialog --title "einen Augenblick bitte..." --passivepopup " dass kann etwas dauern ..." 7 &
gunzip .cxoffice.tar.gz
else
kdialog --error "konnte .cxoffice.tar.gz nicht entzippen";
exit 1;
fi
if test -f .cxoffice.tar;then
echo "enttare MS Office ..."
kdialog --title "einen Augenblick bitte..." --passivepopup " enttare MS OFFICE ..." 25
tar xvf .cxoffice.tar
else
kdialog --error "konnte .cxoffice.tar nicht enttaren";
exit 1;
fi
if test -f .cxoffice.tar;then
echo "lösche Installationspakete..."
rm .cxoffice.tar
else
kdialog --error "konnte .cxoffice nicht löschen";
exit 1;
fi
if ! test -d .cxoffice;then
kdialog --error "Installation fehlgeschlagen";
exit 1;
fi
################
# mail an admin wegen Lizenzsammlung
/opt/cxoffice/bin/cxmenu --install
echo "crossover auf `hostname` installiert" | mail hausnetz@meinefirma.de -s "cxinstallation";
################
#erstmaliger Outlookstart und konfiguration
if ! kdialog --warningcontinuecancel "Microsoft Office Installation\nwurde erfolgreich durchgeführt\nWollen Sie jetztOutlook starten und Ihre Maileinstellungen konfigurieren?" --title "Outlookkonfig starten "; then
exit;
fi
OLMCL=/home/$USER/.cxoffice/winxp/desktopdata/cxmenu/StartMenu.C^5E3A^5Fusers^5Fcrossover^5FStart^2BMenu/Programs/Microsoft+Office/Microsoft+Office+Outlook+2007
/home/$USER/.cxoffice/winxp/desktopdata/cxmenu/StartMenu.C^5E3A^5Fusers^5Fcrossover^5FStart^2BMenu/Programs/Microsoft+Office/Microsoft+Office+Outlook+2007
#/opt/cxoffice/bin/wine control
#/opt/cxoffice/bin/wine c:/Program Files/Microsoft Office/Office12/Outlook.exe
#####################
#Outlook als Standardmailclient in SUSE konfigurieren
#
#if ! kdialog --warningcontinuecancel "Soll Outlook jetzt als Standardmailclient für Firefox konfiguriert werden ?" --title " Standardmailclient"; then
# exit;
# fi
#####################
# Firefox wurde noch nie gestartet? deshalb gibts keine profiles.ini
if [ ! -f $HOME/.mozilla/firefox/profiles.ini ] ; then
kstart --skiptaskbar --iconify firefox >/dev/null 2>/dev/null
sleep 5
killall -r firefox
fi
MTO=`cat $HOME/.mozilla/firefox/profiles.ini | grep Path |cut -d= -f 2 -`
PREFS=$HOME/.mozilla/firefox/$MTO/prefs.js
EINTRAG=network.protocol-handler.app.mailto
#auf Eintrag prüfen
if cat $PREFS| grep $EINTRAG;then
echo Eintrag vorhanden
ALTESPROG=`cat $PREFS| grep $EINTRAG | cut -d\" -f 4 - `
echo alter Eintrag: $ALTESPROG
sed -i"" 's|'$ALTESPROG'|'$OLMCL'|g' $PREFS
exit
fi
echo "Eintrag nicht vorhanden, erstelle EINTRAG..."
#printf "user_pref(\"network.protocol-handler.app.mailto\", \"kmailservice\");\n" >>$PREFS
printf "user_pref(\"network.protocol-handler.app.mailto\", \"$OLMCL\");\n" >>$PREFS
printf "user_pref(\"network.proxy.type\", 4);\n" >>$PREFS
cd $HOME/.mozilla/firefox/$MTO
rm -f mimeTypes.rdf
wget -q http://$SRV/suse/extras/mimeTypes.rdf
kdialog --title "Konfigdatei : \$PREFS" --passivepopup " Eintrag : $EINTRAG " 3 &
kdialog --msgbox "Installation war erfolgreich"
killall -r kioexec bash 2>/dev/bash >/dev/null
echo Script ist fertig
exit
Die Datei mimeTypes.rdf für den Firefox:
- mimeTypes.rdf
<?xml version="1.0"?>
<RDF:RDF xmlns:NC="http://home.netscape.com/NC-rdf#"
xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<RDF:Description RDF:about="urn:schemes">
<NC:Protocol-Schemes RDF:resource="urn:schemes:root"/>
</RDF:Description>
<RDF:Description RDF:about="urn:root"
NC:de_defaultHandlersVersion="2" />
<RDF:Seq RDF:about="urn:mimetypes:root">
</RDF:Seq>
<RDF:Description RDF:about="urn:handler:local:/opt/cxoffice/bin/cxstart"
NC:prettyName="cxstart"
NC:path="/opt/cxoffice/bin/cxstart" />
<RDF:Description RDF:about="urn:scheme:webcal"
NC:value="webcal">
<NC:handlerProp RDF:resource="urn:scheme:handler:webcal"/>
</RDF:Description>
<RDF:Description RDF:about="urn:scheme:externalApplication:mailto"
NC:prettyName="cxstart"
NC:path="/opt/cxoffice/bin/cxstart" />
<RDF:Description RDF:about="urn:scheme:mailto"
NC:value="mailto">
<NC:handlerProp RDF:resource="urn:scheme:handler:mailto"/>
</RDF:Description>
<RDF:Description RDF:about="urn:handler:web:http://30boxes.com/external/widget?refer=ff&url=%s"
NC:prettyName="30 Boxes"
NC:uriTemplate="http://30boxes.com/external/widget?refer=ff&url=%s" />
<RDF:Description RDF:about="urn:scheme:handler:webcal"
NC:alwaysAsk="true">
<NC:possibleApplication RDF:resource="urn:handler:web:http://30boxes.com/external/widget?refer=ff&url=%s"/>
</RDF:Description>
<RDF:Description RDF:about="urn:scheme:handler:mailto"
NC:alwaysAsk="false">
<NC:possibleApplication RDF:resource="urn:handler:local:/opt/kde3/bin/kmail"/>
<NC:possibleApplication RDF:resource="urn:handler:local:/opt/cxoffice/bin/cxstart"/>
<NC:externalApplication RDF:resource="urn:scheme:externalApplication:mailto"/>
</RDF:Description>
<RDF:Seq RDF:about="urn:schemes:root">
<RDF:li RDF:resource="urn:scheme:mailto"/>
<RDF:li RDF:resource="urn:scheme:webcal"/>
</RDF:Seq>
<RDF:Description RDF:about="urn:handler:local:/opt/kde3/bin/kmail"
NC:prettyName="kmail"
NC:path="/opt/kde3/bin/kmail" />
<RDF:Description RDF:about="urn:mimetypes">
<NC:MIME-types RDF:resource="urn:mimetypes:root"/>
</RDF:Description>
</RDF:RDF>
mögliche Fehler:
Fehler:
Datei libgnutls.so.26
wird zur Installation von MS Office 2010 benötigt.
Lösung:
ln -s /usr/lib/libgnutls.so.28 /usr/lib/libgnutls.so.26
zurück