Einsatz des DOS-Warenwirtschaftssystems „CTO-EHO“ unter Linux

Diese Seite beschreibt die Einrichtung eines DOS-basierenden Warenwirtschaftssystems unter Linux

Vorgeschichte

Seit 1992 verwende ich in meinem 1-Mann-Betrieb (Mopedwerkstatt) das Warenwirtschaftsrogramm EHO der Fa. CTO-Software. Damals lief es unter MS-DOS3.3, ein Fortschritt war dann schon Novell-Dos 7 mit dem Taskswitcher, da konnte ich Warenwirtschaft, graphische Oberfläche (Geoworks) und noch ein paar Programme parallel betreiben. Irgendwann kam dann die schöne Windows-Welt und das Programm lief zuletzt unter Win98 klaglos im Dos-Fenster. Wegen der Virenflut der letzten Jahre, aber auch aus prinzipiellen Gründen wollte ich weg vom Betriebssystem-Monopolist.
Ich habe mich an das Programm und die vielen Tastenkombinationen gewöhnt, zum erstellen einer Bar-Quittung brauche ich keine 10 Tastenanschläge (bei einem Artikel), der Kassenbondruck läuft kostengünstig auf einem Nadeldrucker auf Rollenpapier. In den 14 Jahren gab es viele Updates, die meisten der hinzugekommenen Funktionen benötige ich nicht, manche möchte ich aber auch nicht missen. Natürlich habe ich mir andere Programme angesehen und ausprobiert, vornehmlich Linux und Opensource, aber ich verstehe noch immer nicht wieso man zum erstellen einer Quittung oder Rechnung eine Maus und einen Datenbankserver braucht. Für mich ist dieses DOS-Programm ideal.

Versuche

Mit Linux als Betriebssystem habe ich mich über die Jahre langsam aber umso intensiver "angefreundet", es ist kostenlos, stabil, quelloffen, modern. Also: ich möchte bei dem Programm bleiben, auch unter Linux. Über einige Jahre habe ich immer mal wieder versucht im Dosemulator unter SuSE-Linux das Programm zu starten – erfolglos. Im Internet las ich: Clipper-Programme sind schlecht bis gar nicht zum laufen zu bekommen und ich dachte es liegt an einer Unverträglichkeit von Programm und dosemu.

Der Weg zur Lösung

Nach einer Festplatteninstallation von Knoppix kam plötzlich die Überraschung: EHO läuft im Dosemulator perfekt, als wäre das schon immer so! Auf meinem „Arbeitsrechner“ war aber SuSE Linux installiert und da ging nichts. Nach einigen Experimenten und Emails mit einem Entwickler auf dosemu.org stellte sich schließlich SuSE, wahrscheinlich die gepatchten Kernelquellen, als „der Schuldige“ heraus.

Distribution

Da die Knoppix-Installation auf diesem Rechner Probleme machte wählte ich Fedora Core (basiert auf Redhat). Bei mir läuft die Gnome-Oberfläche, als Browser Firefox, als E-Mail und Terminplaner Evolution. Office Paket ist OpenOffice.org, welches sich auch hervorragend zum konvertieren von Dateien aus EHO (Zeichensatz cp437) nach Linux eignet. Zum Faxen verwende ich efax in Verbindung mit einem analogen Modem.

Einrichtung

Meine Festplatte enthält auch weiterhin die primäre Partition mit Windows98, allerdings startet die graphische Oberfläche per Default nicht. EHO liegt immer noch unter C:\eho, so kann ich auch mal „ganz schnell“ einen Verkauf machen wenn der Rechner ausgeschaltet ist: Dos booten, EHO startet gleich, los geht's. Der Start von Linux auf meinem schon etwas betagten AMD-K6III-400 dauert dagegen ein Weilchen...
Unter Linux habe ich die Windows-Partition mit Schreib rechten auch für User gemountet:

# /etc/fstab
/dev/hda1 /mnt/hda1 vfat user,exec,umask=000 0 0

in meinem Homeverzeichnis ist ein Link „eho“ auf /mnt/hda1/eho gesetzt, damit ich das Verzeichnis schnell erreichen kann, um z.B. die Faxdatei zu lesen. Der Dosemulator greift ebenfalls über diesen Link zu. Im virtuellen Dos ist Laufwerk D: mein Linux-Homeverzeichnis, also erreiche ich unter D:\eho das Programmverzeichnis von EHO. Entsprechend sieht das Ende der Autoexec.bat des Dos-Emulator aus:

set CTOEHO=1,,M,,0
set clipper=E0
d:
cd eho
eho

Drucker

Am Rechner hängen ein Laserdrucker Kyocera FS-600 an LPT1 (/dev/lp0) und ein Nadeldrucker Panasonic für den Kassenbondruck an LPT2 (/dev/lp1). In EHO sind die Drucker mit passenden Treibern eingerichtet. Im Drucker-Einrichtungsprogramm von Linux habe ich 3 Drucker erstellt:
- für die Ausdrucke der Linux-Programme einen mit Namen kyocra und den passenden Druckertreibern, die von CUPS angeboten werden.
–für den Rechnungsdruck von EHO einen mit Namen lp0 OHNE Druckertreiber (sog. RAW-Treiber), d.h. die Daten werden von EHO unverändert an lp0 durchgereicht.
–für den Kassenbondruck einen mit Namen lp1 ebenfalls mit RAW-Treiber auf /dev/lp1

Anpassungen

Hier die Zeilen der .dosemurc (im User-Homeverzeichnis) die vom Default abweichen

$_internal_char_set = "cp437" #korrekte Zeichendarstellung
$_external_char_set = "cp437" #korrekte Zeichendarstellung
$_layout = "de" #für Umlaute, Sonderzeichen
$_mouse_internal = (off) #keine Maus nötig
$_joy_device = "" #kein Joystick
$_printer = "lp0, lp1" #die NAMEN der beiden Drucker, wie sie in CUPS vergeben wurden
$_printer_command = "lpr -l" #nötig, damit die Zusammenarbeit mit CUPS klappt
$_printer_timeout = (2) #Verzögerung vor dem Ausdruck
$_sound = (off) #Soundkarte unnötig
$_X_title = "...runs on LINUX!" #die Fenster-Titelzeile
$_X_icon_nam
e = "EHO" #der Name, der in der Taskleiste angezeigt wird

Datensicherung

Hier kommt ein Tandberg-Streamer am SCSI-Controller zum Einsatz
eine Datei mit den Befehlen zur Bandsicherung liegt unter /root

#/root/ehobackup
tar cvzf /dev/st0 /mnt/hda1/eho

Ein Eintrag in crontab mittels vcron erstellt, sichert das ganze Verzeichnis jeweils nach Feierabend auf Band. Da die DOS-Programme nicht so verschwenderisch mit Platz umgehen wie das heute oft der Fall ist, wird das 525MB-Band wohl für immer reichen...

Update 2008

Seit Anfang 2007 steht ein Pentium III-800 mit 768MB RAM im Büro. Die Linux-Variante ist jetzt Ubuntu 8.04, die Sicherung erfolgt nun auf einer DVD-RAM, das geht bedeutend schneller. Der Laserdrucker ist jetzt ein Samsung SCX-4200 (mit Scanner), er läuft mit den Treibern des Herstellers
Das modernere Linux ist in einigen Dingen flexibler, z.B. wenn man einen USB-Stick benutzt geht das auch ohne Kommandozeile, optisch etwas "moderner" und immer noch schnell und sicher!

Update 2009

Bei einem Rechner, der den ganzen Tag läuft, lohnt es sich auch mal auf den Energieverbrauch zu schauen. Mit dem neuen Board mit Celeron 430 Prozessor, 2GB RAM und Onboardgraphik bleibt er unter 50Watt (ohne Monitor). Außerdem macht es jetzt mehr Spaß, "moderne" , interaktive Webseiten zu benutzen. Der Umbau war dank Linux kein Problem: Board austauschen, starten: alles läuft! Noch die 3D-Treiber online nachinstalliert: perfekt.