Tnach unter Linux nutzen

Der Programmierer von Tnach beabsichtigt eine Linux- bzw. Java-Version des Programmes zur Verfügung zu stellen.

Bis es soweit ist, gibt es zwei grundsätzliche Möglichkeiten, Tnach auch unter Linux zu nutzen:

Wine

Mit dem Windows-Emulator wine habe ich gewisse Erfolge erzielt - je nach Linux-Distribution und wine-Version war das Ergebnis aber nur mehr oder weniger befriedigend. Wer es damit für seine Lieblings-Distribution hinbekommt, hat sicher die einfachste Lösung.

Wer einen halbwegs aktuellen, leistungsfähigen PC sein eigen nennt, dem steht aber noch eine bequemere Möglichkeit offen: Unter Emulatoren wie bochs und qemu kann man sich sein Lieblings-Windows installieren, und darunter natürlich wieder alles, was das Herz begehrt - z.B. eben auch Tnach.

Ich habe sowohl mit bochs als auch mit qemu gute Erfahrungen gemacht, bevorzuge aber aus Gründen der Performance und der besseren Handhabbarkeit:

qemu

Installation des Emulators

Wer Fedora Core benutzt, kann diesen Emulator einfach installieren über 

# yum -y install qemu

Ähnlich funktiniert es mit apt. Notfalls sucht man sich ein RPM-Paket für seine Distribution (z.B. über http://rpm.pbone.net/)  oder holt sich das Binärpaket aus dem Downloadbereich

Wir testen, ob die Installation geklappt hat:

# qemu

Ist alles in Ordnung, dann gibt qemu jetzt eine ausführliche Hilfe von sich.

Vorbereitung einer "Festplatte"

Wir suchen uns ein beliebiges Verzeichnis aus, in dem wir unser Windows "installieren", z.B. /opt/qemu:

# cd /opt
# mkdir qemu

Wir arbeiten später natürlich nicht als root, daher geben wir dem Verzeichnis geeignete Rechte, etwa für den Benutzer "mhs":

# chown mhs:mhs qemu

Ab jetzt arbeiten wir als normaler Benutzer.

Um unser Windows - wir nehmen ein 98er, das reicht für diesen Zweck völlig aus - zu installieren, benötigen wir eine "Festplatte". Die erzeugen wir mit

$ qemu-img create win98.img 700M

Das wäre stattdessen auch von Hand gegangen:

$ dd if=win98.img bs=1024 seek=700000 count=0

Aber da qemu ein Werkzeug mitliefert, das das bestimmt richtig erledigt, benutzen wir das auch.

Der obige Befehl hat eine 700 MB grosse, aber leere Datei erzeugt:
$ ls -l
insgesamt xxxxx
-rw-r--r--  1 mhs mhs  734003200  8. Aug 20:02 win98.img
$

Eine nackte Installation von Windows98 benötigt keine 250 MB, so dass die 700 MB reichlich sind. Wer natürlich noch andere Dinge als Tnach installieren möchte, kann hier auch einen grösseren Wert wählen.

Installation von Windows

Wir legen jetzt die Installations-CD ins Laufwerk, das in diesem Beispiel /dev/hdc heisst, und mounten sie:

# mount /dev/hdc

Dann kann's losgehen: Wir müssen ein bisschen beschreiben, welche "Hardware" qemu vorfinden soll:

512 MB RAM (Faustregel: hier nimmt man die Hälfte des physikalischen Speichers im Wirtsrechner), die Uhr soll die Zeit vom Wirtsrechner übernehmen, die "Festplatte" soll die oben erzeugte win98.img sein, das CD-Laufwerk ist /dev/hdc, von dem auch gebootet werden soll:

# qemu -m 512 -localtime -user-net -hda win98.img -cdrom /dev/hdc -boot d

Es erscheint jetzt in einem Fenster genau das, was auf dem Bildschirm eines Rechners erscheinen würde, auf dem man Windows installiert:

1. Bildschirm

Hier wählen wir die zweite Option, dann erscheint

2. Bildschirm

und so weiter, und so weiter - man kennt das ja wahrscheinlich von zig Installationen.

Damit das Fenster die Maus "einfängt" muss man zuerst einmal irgendwo hinein klicken (der Mauszeiger wechselt dann die Farbe; erst war er schwarz, dann ist er weiss) . Um die "gefangene" Maus zu befreien, drückt man Strg-Alt, wobei der Mauszeiger wieder schwarz wird.

Irgendwann ist Windows so weit, dass es nach einem Rechner-Neustart verlangt. Das machen wir jetzt so (die CD lassen wir erstmal drin):

# qemu -m 512 -localtime -user-net -hda win98.img -cdrom /dev/hdc -boot c

Der Unterschied: Vorhin hiess es "-boot d", jetzt heisst es "-boot c", "boote von C:".

Jetzt ist Windows installiert (sogar das Netzwerk funktioniert!). Noch die Bildschirmauflösung einstellen (dazu schalten wir mit Strg-Alt-f in den Vollbild-Modus; mit demselben Tastendruck wird er auch wieder ausgeschaltet).

Die Bedienung hakelt manchmal ein bisschen: es kommt vor, dass ein Mausklick "verloren" geht - in diesem Fall klickt man halt ein zweites Mal.

Jetzt können wir daran gehen, Tnach zu installieren.

Installation von Tnach

Das funktionierende Netzwek könnte uns verleiten, die benötigten Pakete von Tnach direkt aus dem Netz zu holen, aber Vorsicht: Windows98 kann nicht mit ZIP-Dateien umgehen!

Klar, man könnte z.B. TugZIP installieren ... aber wozu mehr installieren als unbedingt nötig - macht doch nur das System instabil!

Wir holen besser die Pakete unter Linux und packen sie schon da aus. Dazu legen wir uns unter /tmp ein Verzeichnis an:

$ cd /tmp
$ mkdir tnach

Wir holen uns dann die Pakete tnach.zip, graeca.zip, elberfel.zip und vulgata.zip. Für jedes legen wir ein eigenes Unterverzeichnis an:

$ mkdir tnach graeca elberfel vulgata

Dann packen wir die Pakete in diese Unterverzeichnisse aus:

$ cd tnach
$ unzip ../tnach.zip
Archive:  ../tnach.zip
inflating: SETUP.PKG
inflating: _ISDEL.EXE
inflating: _SETUP.DLL
inflating: SETUP.EXE
inflating: _INST32I.EX_
inflating: SETUP.INS
inflating: _SETUP.LIB
extracting: SETUP.INI
inflating: SETUP.ISS
inflating: _SETUP.1
extracting: DISK1.ID
$ cd ../graeca
$ unzip ../graeca.zip

und so weiter und so fort, bis alle Pakete entpackt sind. /tmp/tnach sieht jetzt so aus:

$ ls -l
insgesamt 22400
drwxrwxr-x  2 mhs mhs    4096  9. Aug 06:26 elberfel
-rw-rw-r--  1 mhs mhs 5493021  8. Aug 07:09 elberfel.zip
drwxrwxr-x  2 mhs mhs    4096  9. Aug 06:26 graeca
-rw-rw-r--  1 mhs mhs 6132106  8. Aug 07:09 graeca.zip
drwxrwxr-x  2 mhs mhs    4096  9. Aug 06:20 tnach
-rw-rw-r--  1 mhs mhs 6086776  8. Aug 07:08 tnach.zip
drwxrwxr-x  2 mhs mhs    4096  9. Aug 06:26 vulgata
-rw-rw-r--  1 mhs mhs 5145888  8. Aug 07:09 vulgata.zip
$

qemu bietet zwar die Möglichkeit, Dateien vom Wirtsrechner auf die Emulation zu übertragen. Aber den dafür benötigen TFTP-Client bringt erst Windows 200 mit, und der ist eher bekannt für Würmer und Trojaner, die ihn benutzen. Zwar können wir über derartige Schädlinge nur müde lächeln, aber es gibt auch einen anderen Weg: wir brennen einfach eine "virtuelle" CD mit den benötigten Paketen. Sprich: wir erzeugen mit unserem Lieblings-Brennprogramm ein ISO-Image davon (wobei die Unterverzeichnisse genügen; die ZIPs können wir archivieren).

Das ISO-Image legen wir z.B. unter dem Namen tnach.iso in dasselbe Verzeichnis, in dem unsere "Festplatte" win98.img liegt.

Dann starten wir qemu so:

$ qemu -m 512 -localtime -user-net -hda win98.img -cdrom tnach.iso -boot c

Jetzt haben wir als Laufwerk D: das, was wir ins ISO-Image geschrieben haben. Wir wechseln ins Unterverzeichnis tnach und doppelklicken SETUP.EXE - die Installation beginnt wie gewohnt.

Danach installieren wir die anderen Pakete auch noch, und voilà - ein Linux-Desktop mit Tnach:

Fertig - ein Linux-Desktop mit Tnach!

Ein kleines Shellscript, das den Emulator aufruft, könnte so aussehen:

qemu -m 512 -localtime -user-net -hda /opt/qemu/win98.img -boot c

Das muss nur als Datei an eine Stelle im $PATH abgespeichert werden, z.B. unter dem Namen win98.sh.

Mehr über qemu

Natürlich gibt es über qemu noch viel mehr zu wissen; so gibt es z.B. wesentlich elegantere Methoden des Datenaustauschs zwischen Wirtsrechner und Gastsystem. Aber dies soll hier auch kein qemu-Tutorial sein, ich will nur zeigen, dass und wie es geht, Tnach zu benutzen.

Wer mehr über qemu wissen möchte, findet über die qemu-Homepage viel Interessantes, z.B. das HOWTO von Stefan Becker.