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.

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&amp;url=%s"
                   NC:prettyName="30 Boxes"
                   NC:uriTemplate="http://30boxes.com/external/widget?refer=ff&amp;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&amp;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