.

MS Internet Explorer auf Linux (mit Wine)

Hinweis: Das ist ein amüsantes Zeitdokument aus dem Jahre 2006 (oder so). Inzwischen haben alle Webdesigner*innen bereits auf dem Grab des Internet Explorer getanzt.
... Und fluchen mittlerweile über Chrome. ;-)

Hier ist ein Update nötig:
Zwei sehr komfortable Möglichkeiten zur Installation eines IE6 auf Linux mit wine gibt es. Bitte hier nachlesen.

In diesem Tutorial geht es darum, wie man den Internet Explorer auf Linux mit Wine zum Laufen bringt und mit einem Mini-Skript in Quanta Plus einbindet.

Das Um und Auf bei der Web-Entwicklung ist das Testen auf verschiedenen Browsern. Gerade der Internet Explorer hat bei der CSS-Umsetzung seine Macken, deshalb ist das Testen auf diesem Browser besonders wichtig.
Der Explorer ist aber leider ein Windows-Programm, das macht das Testen auf Linux umständlich: Auch wenn sich auf eurem Compi eine Windows-Partition befindet, müsst ihr ständig zwischen den Betriebssystemen wechseln und die Datei mit verschiedenen Programmen bearbeiten. Das wird schnell lästig.

Wäre es nicht toll, wenn der Internet Explorer in Quanta genau so aufgerufen werden könnte, wie die anderen Browser der externen Vorschau, am liebsten über ein Icon in der Werkzeugleiste?
Ja, das wäre es!
Und so wird´s gemacht:

Als Erstes braucht ihr Wine.
Wine baut ein fake-Windows und stellt das als Grundlage für Windows-Programme auf Linux zur Verfügung. Die Chancen stehen gut, dass ihr Wine auf eurer Distribution bereits installiert habt, ein paar Multimedia-Programme scheinen es zu benötigen. Es stellt sich nur die Frage, wie aktuell eure Wine-Version ist. Besonders Debian-User werden nicht gerade mit der neuesten Ausgabe verwöhnt.

Handelt man sich mit Wine und Microsoft-Software auf Linux ein Sicherheitsproblem ein?
So einfach lässt sich das nicht beantworten. Zwei interessante Artikel habe ich auf Heise Security gefunden, und zwar zu den Themen Windows Sicherheitslücke im API-Nachbau und Registry-Kopie für jedermann lesbar.
Ein paar Dinge sollte man beherzigen:
• Die neueste Wine-Version enthält immer Bugfixes und stopft entdeckte Sicherheitslücken. Die verwendete Version sollte also möglichst aktuell sein.
• Wine und WineTools niemals als root, sondern immer nur als normaler User starten.
• Den Internet Explorer zum Testen, aber nicht zum Surfen verwenden (wer würde das auch wollen, wenn Firefox zur Verfügung steht).

Frische Wine-Versionen gibt es auf der Wine-Homepage unter www.winehq.com für alle gängigen Distributionen (auch als rpm).
Mit Wine alleine ist es mir allerdings nicht gelungen, den IE6 auf Linux zum Laufen zu bringen. Auch mit ies4linux (ein anderes Projekt, das auf Wine aufbaut) scheiterte ich kläglich.
Problemlos gelungen ist es mit WineTools.

WineTools ist ein Download- und Konfigurationstool für Wine, das verständlichere Meldungen ausgibt und die Installation von Windows-Software auf Linux deutlich erleichtert.
Ihr holt euch einfach die WineTools-Version, die zu eurer Wine-Version passt. Welche das ist, entnehmt der Tabelle auf www.von-thadden.de. Angeboten wird WineTools wahlweise als rpm oder tar.gz.

Was ihr jetzt noch braucht, ist eine Internet-Verbindung, dann kann es losgehen.
Öffnet eine Shell (als normaler user!) und tippt wt ein.

WineTools klopft als Erstes eure Wine-Version darauf ab, ob die Kombination mit eurer WineTools-Version schon getestet wurde. Auch wenn eure Wine-Version neuer ist und eine Meldung ausgegeben wird, dass das Ergebnis nicht vorhersehbar ist, kann das Ganze durchaus funktionieren. Bei mir klappte es problemlos in der Kombination Wine-0.9.12-SuSELinux100.i586.rpm (Wine 20050725) und WineTools-0.9-3jo.i386.rpm auf Suse 10.0. Als Nächstes kommt das AboutWineTools - wer hat´s geschrieben, unter welcher Lizenz. Danach kommt noch ein Hinweis zur EULA. Der MS Internet Explorer ist proprietäre Software, die nur Inhaber einer gültigen Windows-Lizenz herunterladen dürfen. Außerdem folgen ein paar allgemeine Hinweise - abnicken - dann erscheint das WineTools-Menü.

WineToolsMenü
Der erste Schritt ist das Base setup. WineTools kocht bei der Wine-Konfiguration ein eigenes Süppchen. Falls ihr Wine schon einmal konfiguriert habt, bietet WineTools an, die alten Einstellungen als Backup zu speichern. Falls es - wie bei mir - vergebliche Versuche waren, könnt ihr den .wine-Ordner auch einfach überschreiben.
WineTools legt in eurem Home-Directory zwei Ordner an:
.wine - die Wine Konfigurations-Dateien (versteckt) und
winetools - die WineTools-Einstellungen und Downloads.

Als Nächstes werdet ihr noch ein paar Windows-Systemdateien benötigen, auf alle Fälle DCOM98.EXE, wahrscheinlich auch mfc40.dll und mfc42.dll und eine Systemschrift. Folgt einfach den Hinweisen, die WineTools ausgibt.

Nun könnt ihr versuchen, den Internet Explorer herunterzuladen. Falls noch eine Datei fehlen sollte, gibt WineTools hilfreiche Tipps.
Windows-Software erwartet nach der Installation einen Neustart. WineTools kann so einen reboot simulieren.

Hat alles geklappt, könnt ihr den Explorer jetzt starten: Einfach in der Shell ie6 eintippen.

Falls es nicht klappt, kann ich euch leider auch nicht helfen. Über die Interna von Wine weiß ich nichts. Sollte z.B. nur ein Fensterrahmen um eine leere weiße Fläche entstehen, fehlt sehr wahrscheinlich noch eine Windows-Datei. Vielleicht werdet ihr ja in den Wine FAQ´s oder im Wine HowTo fündig.
Auf www.von-thadden.de wird auch professioneller Support für Wine und WineTools angeboten.

Ein kleiner Hinweis noch zu Schriften:
Wenn ihr ohnehin eine Windows-Partition habt, könnt ihr ruckzuck die originalen Windows True Type Fonts in den .wine-Ordner kopieren.
Auf Windows findet Ihr die .ttf Dateien im Ordner c/Windows/Fonts (das ist jetzt der Linux-Pfad). Die Kopien steckt Ihr in ~/.wine/drive_c/windows/fonts. Die Schriften stehen dann für Windows-Programme auf Linux zur Verfügung.

Als nächsten Schritt werden wir den IE6 in Quanta "einbauen". Das ist denkbar einfach: Über Einstellungen/Aktionen festlegen... wird das ie6-Skript als Aktion in einer lokalen Werkzeugleiste definiert.

Aktionen-Dialog
Bleibt das Luxusproblemchen mit dem currentfile-Platzhalter: In der bisher beschriebenen Form startet der IE6 nicht mit dem momentan aktiven Dokument. Im Vergleich zum dauernden hin und her booten, das mich vorher so nervte, ist diese Lösung - IE auf Linux, von Quanta aus zu starten - schon recht komfortabel.

Viel eleganter ist es natürlich, den Explorer gleich mit der aktuellen Datei zu starten. Dazu muss allerdings Quantas external-preview-shellscript adaptiert werden - Dank an Klemens für die Hilfe.
Das Skript findet Ihr unter .../kde3/share/apps/quanta/scripts/externalpreview.sh und so sieht es aus:

#!/bin/bash
#Previews the current document in Mozilla/Netscape/Opera, depending
#on the last two arguments (browsername, newtab command).
#Might be adjusted in the feature to support more browsers.
pid=$1
currentURL=""
if test $pid == "unique"
then
  currentURL=`dcop quanta WindowManagerIf saveCurrentFile`
  shift
else
  currentURL=`dcop quanta-$pid WindowManagerIf saveCurrentFile`
fi
browser=$2
newTab=$3
#fragt nach ie6
if [ $browser = "ie6" ]
then
  $browser "${currentURL/file:\/\/\/home\/alexandra/Y:}"
exit 0
fi
if test $currentURL
then
  if ! $browser -remote "openURL($currentURL,$newTab)"
  then
    $browser $currentURL
  fi
fi
Eingefügt wurden die folgenden Zeilen:
if [ $browser = "ie6" ]
then
  $browser "${currentURL/file:\/\/\/home\/alexandra/Y:}"
exit 0
fi
Zur Erklärung: Tatsächlich liegt die Datei in eurem Home-Ordner (file:...). Meines heißt "alexandra", eures natürlich anders - ersetzt das durch den richtigen Namen.
Windows-Pfade (auch Fake-Windows) sind aber anders aufgebaut (Y:...). Wenn der Browser also der IE6 ist, muss Quanta einen anderen Pfad mitgeben. Die eingefügten Zeilen bewirken genau das.

Außerdem muss man auch noch das Skript im Aktionen-Dialog anpassen. Aufgerufen wird das obige Skript mit:

sh %scriptdir/externalpreview.sh %pid ie6 new-tab
(statt nur ie6).

Zum Abschluss gibt´s noch einen Screenshot mit Quanta im Hintergrund, unten das Nachrichtenfenster mit der Skriptausgabe, im Vordergrund der Internet Explorer 6 mit dem Tutorial-Dokument. So sieht das Ergebnis aus.

Viel Spaß beim Webdesign!

nach oben