Crossoverinstallation auf SUSE

Script zur Installation von Crossover:

Voraussetzungen:
  • mindestens ein Webserver mit dem Verzeichnis http://meinserver/suse/extras/ muss vorhanden sein.(keine Filiale vorhanden ?)
  • in dem verzeichnis muss das rpm-Paket von Crossover liegen.
  • in dem verzeichnis muss das benutzerverzeichnis .cxoffice als .cxoffice.tar.gz liegen.

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&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