Die Einrichtung von APW-Linux - Res Medicinae

Transcription

Die Einrichtung von APW-Linux - Res Medicinae
Die Einrichtung von APW-Linux
Dr. med. Claudia Neumann
Die Einrichtung von APW-Linux
Dr. med. Claudia Neumann
Veröffentlicht 24.07.2014
Zusammenfassung
Diese Webseite beschreibt die Einrichtung des Arztabrechnungsprogramms Arztpraxis Wiegand (APWiegand) in der
Linux-Version und die Einrichtung anderer Programmen unter Linux . Es soll Anwender darin unterstützen, von Windows nach Linux zu wechseln.
Inhaltsverzeichnis
1. Einleitung ...................................................................................................................... 1
Entwicklung .............................................................................................................. 1
Feedback ................................................................................................................... 1
Danksagung ............................................................................................................... 2
Copyright .................................................................................................................. 3
Obligatorischer Disclaimer ........................................................................................... 3
2. Die Einrichtung von APW-Linux ....................................................................................... 4
Download der Demo-Version aus dem APW-Repository .................................................... 4
Die APW-Linux-Live-DVD .......................................................................................... 6
Installation der APW-Linux-Live-DVD mit dem Debian-Installer ........................................ 6
Anpassungen der Installation ...................................................................................... 27
Anpassungen für den User praxis ......................................................................... 27
System-Anpassungen ......................................................................................... 31
3. Die Installation von APWLIN ......................................................................................... 35
4. Die Einrichtung von APWLIN auf 64-Bit-Systemen ............................................................ 37
5. Einrichtungshinweise zu APWLIN ................................................................................... 38
APWLIN unter X/KDE .............................................................................................. 38
APWLINK.UNX an der Linux-Konsole (nur 32-Bit) ....................................................... 40
6. Die Einrichtung von Kartenlesegeräten .............................................................................. 41
Allgemeines zum Einlesen über die serielle Schnittstelle .................................................. 42
Einlesen über kvklin.unx ............................................................................................ 42
Einlesen über die Bibliothek libctapi-mkt ...................................................................... 42
Einlesen über KVK-/eGK-Lesegeräten in Client-Installationen über das Netzwerk (SSH) ........ 43
Celectronic Card Star /medic2 und /memo2 ................................................................... 45
Orga HML 5010 ....................................................................................................... 45
Einrichten eines USB-RS232-Konverters ............................................................... 45
Einstellungen für HML 5010 .............................................................................. 46
Orga 6041 L ............................................................................................................ 46
Anschluß über die serielle Schnittstelle ................................................................. 46
Anschluß über eine USB-Schnittstelle .................................................................. 48
Anschluß über LAN .......................................................................................... 49
Orga 920/930 M plus eGK und Cherry ST-1530 ............................................................. 51
Hypercom (ehemals Thales) medCompact ..................................................................... 51
Anschluß über die serielle Schnittstelle ................................................................. 52
Anschluß über die USB-Schnittstelle .................................................................... 52
Hypercom medMobile und SCM eHealth500 ................................................................. 52
Cherry-Tastatur G80-1502 .......................................................................................... 53
Cherry ST-1503 und Cherry-Tastatur G87-1504 ............................................................. 53
Cherry ST-2052 ........................................................................................................ 53
SCM eHealth200 BCS ............................................................................................... 54
Zemo VML-GK1/GK2 ............................................................................................... 54
Gemalto GCR 5500-D ............................................................................................... 54
German Telematics GT 900 eHealth-BCS und GT 90 ...................................................... 55
Kobil KAAN Advanced ............................................................................................. 55
ECO 5044 ............................................................................................................... 55
udev-Regeln für Kartenlesegeräte ................................................................................ 55
7. Druckereinrichtung ........................................................................................................ 57
Drucken mit CUPS im Rohdatenmodus ........................................................................ 57
Ausdruck über Rohdatendrucker mit CUPS funktioniert nicht ........................................... 67
Ausdruck über Rohdatendrucker ergibt verstümmelten Ausdruck ....................................... 68
Ausdruck über Rohdatendrucker an USB-Parallel-Adapter ................................................ 68
iii
Die Einrichtung von APW-Linux
Drucken über PostScript mit CUPS .............................................................................. 69
Anlegen eines Druckers für PostScript in CUPS ..................................................... 69
Konfiguration in APW-Linux .............................................................................. 74
Briefe und Rechnungen mit Logo ........................................................................ 77
Blankoformulardruck in APW-LInux .................................................................... 78
Generatorformulare ........................................................................................... 80
Drucken über das Netzwerk mit CUPS ......................................................................... 81
Einrichtung von CUPS an den Arbeitsplatz-Clients (CUPS fungiert als Server) ............. 82
Einrichtung von CUPS auf dem Server ................................................................. 84
Ausdruck auf Rohdatendrucker an Druckserver ...................................................... 86
Druck- und Druckerprobleme lösen .............................................................................. 87
Allgemeine Regeln ............................................................................................ 87
Druck-Debug-Funktion in APW-Linux ................................................................. 87
8. Diverse andere Einrichtungen .......................................................................................... 89
Labordatenübertragung ............................................................................................... 89
APW und OpenOffice/LibreOffice ............................................................................... 90
Übergabe von Patientendaten aus APW an OpenOffice/LibreOffice ............................ 90
Medikamentenplan aus APW mit OpenOffice/LibreOffice ........................................ 90
OpenOffice/LibreOffice-Datei an einen Client übergeben und dort aufrufen ................. 90
Kommunikation zwischen APW und GNUmed .............................................................. 92
9. Laden externer Dateien in APWLIN ................................................................................. 93
Übernahme einer externen Datei ins Extern-Verzeichnis .................................................. 94
Aufruf einer externen Datei, die in einem anderen Verzeichnis verbleibt .............................. 94
Löschen im Extern-System ......................................................................................... 95
10. Netzwerk mit SSH ....................................................................................................... 96
Der SSH-Daemon auf dem Server ............................................................................... 96
Einrichtung eines reinen Eingabe-Clients ............................................................... 99
Einrichtung eines Clients mit Druckausgabe auf Drucker am Client .......................... 100
Einrichtung eines Clients mit angeschlossenem KV-Kartenlesegerät .......................... 101
Beschleunigung der SSH-Verbindung durch Reuse einer vorherigen Verbindung ......... 102
SSH-Client-Installation und der Windows-mmi-Pharmindex .................................... 103
11. Remote-Zugriff über NX-Server/-Client von Linux, Windows und Mac ................................ 104
12. Samba-Einrichtung eines Linux-Servers ......................................................................... 108
Der Linux-Samba-Server .......................................................................................... 108
Netzwerk-Einrichtung in Windows ............................................................................. 110
13. Kleine Hilfsprogramme für Linux ................................................................................. 111
/etc/cron.daily/apwsichern.cron .................................................................................. 111
Skript zum automatischen Sichern von APW und anderer Verzeichnisse auf CD .................. 112
14. Die Emulatoren wine und DOSemu ............................................................................... 116
Installation und Einrichtung des mmi-Pharmindex mit wine ............................................ 116
DOSemu ................................................................................................................ 118
Die Konfiguration von DOSemu ................................................................................ 119
15. Verweise .................................................................................................................. 121
Hilfreiche Adressen ................................................................................................. 121
iv
Tabellenverzeichnis
9.1. Externe Programmaufrufe ............................................................................................. 93
9.2. Textverarbeitung ......................................................................................................... 93
v
Liste der Beispiele
14.1. Beispiel-.dosemurc-Datei .......................................................................................... 119
14.2. Beispiel-Dateien für DOSemu 1.4.0 und FreeDOS ......................................................... 120
vi
Kapitel 1. Einleitung
Entwicklung
2002 habe ich erstmals über die Einrichtung von APW-DOS in Linux geschrieben. Damals lief APW-DOS
relativ stabil in DOSemu, wenn die Installation und Konfiguration gemeistert war. Meine Webseite wurde
auf www.resmedicinae.org gehostet und hat seither vielen DOSemu-Nutzern geholfen, DOS-Programme
einzurichten.
Natürlich hatte ich immer von einem generisches Linux-Programm für die Arztpraxis geträumt. Mit dem
zunehmenden Interesse an Linux konnte ich Ende 2004 Herr Dr. med. Peter Weigand, den Author von
APWiegand, davon überzeugen, dass eine Linux-Version seines Programmes ein sinnvolle Ergänzung
wäre. Er stellte mir den Clipper-Quellcode zur Verfügung. Nach den notwendigen Anpassungen für Linux
konnte ich diesen Quellcode schließlich mit Hilfe des xHarbour-Compilers unter Linux zu dem Programm
kompilieren, das im August 2005 die KBV-Zulassung für die Kassenabrechnung erhalten hat.
Feedback
Kommentare und vor allem aktive Beiträge zu diesem Dokument sind jederzeit willkommen. Bitte senden
sie Hinweise oder Kommentare an mich [mailto:dr.claudia.neumann@gmx.de].
1
Einleitung
Fragen zu den verwendeten Programmen sollten an die Resmedicinae-APWiegand-Mailingliste
[mailto:resmedicinae-apwiegand@lists.sourceforge.net] gemailt werden, da sie dort schneller beantwortet werden können. Jeder, der sich näher mit dem Thema beschäftigen will, sollte sich in der Resmedicinae-APWiegand-Mailingliste [http://lists.sourceforge.net/lists/listinfo/resmedicinae-apwiegand] eintragen.
Danksagung
Folgenden Personen sei an dieser Stelle für ihre Unterstützung bei dem Projekt APWLIN gedankt:
• Dr. Ing. Christian Heller
<christian.heller/AT/NOSPAM.tuxtax.de>>
• Dr. med. Peter Wiegand
<wiegand-p/AT/NOSPAM.t-online.de>
• Bart Oldeman
<bartoldeman/AT/NOSPAM.users.sourceforge.net>
• Jörg (Kano) Schirottke
<realKano/AT/NOSPAM.directbox.com>
• Martin Preuß
<martin/AT/NOSPAM.aquamaniac.de>
• Dr. Karsten Hilbert
<karsten.hilbert/AT/NOSPAM.gmx.net>
• Der Oldenburger Linux-Stammtisch
<linux-stammtisch/AT/NOSPAMl.lists.infodrom.org>
Darüberhinaus möchte ich meinem Ehemann Dr. Christian J. Neumann für die Anregungen und die Korrektur des Textes danken.
2
Einleitung
Copyright
Das Copyright dieses Dokumentes liegt bei Claudia Neumann.
Das Dokument darf gemäß der GNU Free Documentation License [http://www.gnu.org/copyleft/fdl.html]
verbreitet werden. Insbesondere bedeutet dieses, dass der Text sowohl über elektronische wie auch physikalische Medien ohne die Zahlung von Lizenzgebühren verbreitet werden darf, solange dieser Copyright-Hinweis nicht entfernt wird. Eine kommerzielle Verbreitung ist erlaubt und ausdrücklich erwünscht.
Bei einer Publikation in Papierform ist die Autorin hierüber zu informieren.
Obligatorischer Disclaimer
Die Prozeduren und Skripte funktionierten bei der Autorin oder es wurde von anderen berichtet, dass sie
bei diesen funktionierten. Dennoch kann keine Verantwortung für Schäden oder Datenverluste von der
Autorin übernommen werden. Der Anwender benutzt sie auf eigene Gefahr.
3
Kapitel 2. Die Einrichtung von APWLinux
Voraussetzung für APW-Linux ist natürlich ein eingerichtetes Linux. Um eine nachvollziehbare Installation für die Hotline zu erhalten, sollte Debian in der aktuell als "stable" angegebenen Version eingerichtet werden. Damit erhalten Sie eine updatebares Debian. Die Sicherheitsupdates sollten in regelmäßigen Abständen eingespielt werden. Wenn eine andere Distribution eingesetzt wird, müssen entsprechende
Linux-Kenntnisse vorhanden sein, um Probleme, die durch unterschiedliche Konfigurationen der Distributionen verursacht werden, selbst lösen zu können.
Download der Demo-Version aus dem APWRepository
Im APW-Debian-Repository finden Sie folgende Debian-Pakete:
• apw-demo_1.2014_i386.deb
• hal-cups-utils_0.6.16-3_i386.deb
• libctapi-celectronic_1.0.7_amd64.deb
• libctapi-celectronic_1.0.7_i386.deb
• libctapi-cym_1.1.0.4_i386.deb
• libctapi-hyc_1.0.0_i386.deb
• libctapi-hypercom_01.03_i386.deb
• libctapi-mkt_1.0.6_i386.deb
• libctapi-mkt_1.0.6_amd64.deb
• libctapi-st2052_1.0.0_i386.deb
• libct-ehealth100_1.01_i386.deb
4
Die Einrichtung von APW-Linux
• libctorgt1_1.4.7_i386.amd64
• libctorgt1_1.4.7_i386.deb
• python-cupsutils_1.0.0-4lenny1_all.deb
Um die Pakete in eine Debian-basierte Distribution einzuspielen, fügen Sie in der Datei /etc/apt/
sources.list die Zeile
deb http://www.apw-linux.de/deb/ ./
ein. Alternativ können Sie in Synaptic unter Einstellungen / Paketquellen eine neue Paketquelle anlegen.
Geben Sie unter Adresse http://www.apw-linux.de/deb/ an und unter Distribution ./ ein. Sektion lassen Sie leer wie im folgenden Bild gezeigt. Bestätigen Sie mit OK.
Nun laden Sie die neue Paketquelle, indem Sie auf der Kommandozeile als root eingeben
apt-get update
In Synaptic gehen Sie auf Bearbeiten / Paketquellen neu laden. Es kommt die Fehlermeldung, dass der
Key ... nicht bekannt ist. Entweder Sie ignorieren diese Fehlermeldung oder laden meinen GPG-Public
Key herunter und stellen ihn apt zur Verfügung. Dafür geben Sie als root auf der Kommandozeile ein:
gpg --keyserver hkp://subkeys.pgp.net --recv-key 65BEAD11
gpg -a --export 65BEAD11 | apt-key add Es sind für den Schlüssel nur die letzten 8 Zeichen erforderlich.
Die o.g. Pakete lassen sich jetzt bequem installieren.
Die APW-Demo-Version können Sie nun über Synaptic installieren oder Sie installieren über die Kommandozeile mit
apt-get install apw
5
Die Einrichtung von APW-Linux
Nach der Installation finden Sie einen neuen Menü-Punkt APWLIN im K-Menü und dort den Unterpunkt
APWLIN-Installation. Installieren Sie APWLIN z.B. in das Verzeichnis /home/praxis/a. Zum Ende
der Installation können Sie ein Icon auf dem Desktop einrichten lassen, mit dem Sie APWLIN bequem
starten können.
Achtung! Die APW-Demo-Version ist nur 4 Wochen benutzbar. Sie sollten rechtzeitig eine Vollversion
bestellen.
Die APW-Linux-Live-DVD
Die aktuelle APW-Linux-Live-DVD finden Sie auf der APW-Linux-Webseite [http://www.apwlinux.de] unter Downloads oder als Link auf Resmedicinae.org [http://resmedicinae.sourceforge.net/
manuals/index.shtml]. Das ISO-Image ist ca. 1,6 GB gross. Brennen Sie das ISO-Image als Boot-Image
auf eine DVD (das Brennprogramm Nero kann in der OEM-Version keine Boot-Images brennen, es muss
ein anderes Brennprogramm verwendet werden). Booten Sie anschließend den PC mit der DVD. Nun können Sie feststellen, ob die Debian-Version Ihre Hardware erkennt. Die APW-Linux-Live-DVD kann auch
installiert werden und ergibt ein lauffähiges Debian Linux mit einigen Voreinstellungen, die die Arbeit
mit APW-Linux leichter machen.
Installation der APW-Linux-Live-DVD mit dem
Debian-Installer
6
Die Einrichtung von APW-Linux
Möglichst alle Hardware, die Sie hinterher mit APWLIN einsetzen wollen, sollten beim Booten der DVD
angeschlossen sein, damit sie bei der Konfiguration während des Bootvorganges erkannt wird. Es sollte
auch ein Internet-Zugang vorhanden sein.
Eine Partitionierung der Festplatte sollte durchgeführt werden. Sie kann vor der Installation mit einer anderen Live-DVD, z.B. Partition Magic, oder mit dem Debian-Installer der APW-Linux-Live-DVD durchgeführt werden. Besteht die Festplatte bisher nur aus einer Windows-Partition, muss vor der Partitionierung
die Windows-Partition weitmöglichst defragmentiert werden, um sie verkleinern zu können. Die Daten der
Windows-Parition sollten gesichert werden, wenn die Windows-Partition später noch benutzt werden soll.
Den Debian Installer finden Sie im System-Bereich der Applikationen
Stellen Sie zunächst die Sprache auf "German" um.
7
Die Einrichtung von APW-Linux
Wählen Sie "Deutschland" aus.
8
Die Einrichtung von APW-Linux
Legen Sie die deutsche Tastenbelegung fest.
Es werden Installer-Komponenten geladen und die Netzwerkschnittstelle eingerichtet.
9
Die Einrichtung von APW-Linux
Vergeben Sie hier den Hostname des Rechners.
10
Die Einrichtung von APW-Linux
Wenn Sie keinen Domainnamen haben, lassen Sie dieses Feld frei.
11
Die Einrichtung von APW-Linux
Geben Sie hier zweimal Ihr zukünftiges root-Passwort ein. Achtung, sie wechseln vom ersten Passwortfeld
mit Tab, nicht mit Return, ins zweite Passwortfeld.
12
Die Einrichtung von APW-Linux
Geben Sie den vollständigen Namen an. Die Angabe wird z.B. in Email-Konten oder in OpenOffice eingesetzt.
13
Die Einrichtung von APW-Linux
Für APW beziehen sich alle Beispiele auf den Users praxis. Sie können auch jeden anderen Usernamen
einsetzen.
14
Die Einrichtung von APW-Linux
Legen Sie das Passwort des Users praxis fest. Sie kommen mit Tab, nicht mit Return, in die zweite Zeile. Anschließend versucht das Programm, entweder über das Internet oder über die Systemzeit die Uhr
einzustellen. Es folgt die Festplatten-Partitionierung bzw. die Zuordnung von Partitionen zu Mountpoints
während der Installation.
15
Die Einrichtung von APW-Linux
Für Anfänger empfielt sich die geführte Partitionierung. Wenn kein anderes Betriebssystem installiert ist,
kann die gesamte Platte verwendet werden.
16
Die Einrichtung von APW-Linux
Die vorhandene Festplatte ist vorausgewählt.
17
Die Einrichtung von APW-Linux
Für Anfänger ist die Einstellung "alle Dateien auf einer Partition" sicher richtig. Eine gute Alternative,
besonders auf einem Server bzw. für eine echte Praxis-Installation, ist die Option "Separate Home-Partition".
18
Die Einrichtung von APW-Linux
Es wird ein Überblick über die geplante Partitionierung und Formatierung der Festplatte angezeigt. Bestätigen Sie mit "Weiter".
19
Die Einrichtung von APW-Linux
Sie müssen jetzt mit Anklicken von JA die Partitionierung ausdrücklich bestätigen. Mit "Weiter" starten
Sie die Installation. Die Platte/Partition wird formatiert und die Dateien auf die Festplatte kopiert. Dies
kann eine Weile dauern.
20
Die Einrichtung von APW-Linux
Als nächster Schritt muss der Paketmanager konfiguriert werden. Sie sollten einen Netzspiegel verwenden:
antworten Sie mit "Ja".
21
Die Einrichtung von APW-Linux
Stellen Sie Deutschland als Spiegelserver ein.
22
Die Einrichtung von APW-Linux
Der Spiegelserver "ftp.de.debian.org" ist eine gute Wahl. Einer der anderen hier aufgeführten Server kann
ebenfalls ausgewählt werden.
23
Die Einrichtung von APW-Linux
Falls Sie über einen Proxy ins Internet gehen, tragen Sie hier die Proxy-Adresse ein. Meist kann die Zeile
leer bleiben.
24
Die Einrichtung von APW-Linux
Jetzt muss der Bootloader GRUB installiert und konfiguriert werden, sonst können Sie das Linux nicht
booten. Bestätigen Sie mit "ja" die Installation in den Master-Boot-Record und klicken Sie auf "Weiter".
25
Die Einrichtung von APW-Linux
Die Installation ist damit abgeschlossen. Es muss noch etwas aufgeräumt werden. Schliessen Sie die Installation mit "Weiter" ab. Wenn Sie den Computer nun ohne die DVD neu booten, werden Sie das neue
Linux booten können.
26
Die Einrichtung von APW-Linux
Anpassungen der Installation
Anpassungen für den User praxis
KDE startet das K-Menü mit dem "Application Launcher Style". Indem man auf K-Menü mit rechts klickt,
kann man zum klassischen Menü-Stil wechseln.
Wer gerne seine Programme über Icons startet, stellt über den Activity Manager links unten rechts neben
dem K-Menü-Icon von "Desktop" auf "Arbeitsflächen-Symbole" um. Falls das Verzeichnis /home/praxis/Desktop noch nicht existiert, muss dieses angelegt werden. Dann kann mit einem Rechtsklick auf
die Desktop-Oberfläche -> Einstellungen für "Ordner-Ansicht" über Ort -> Ordner auswählen -> Eingabe
27
Die Einrichtung von APW-Linux
"/home/praxis/Desktop" der Ordner für die Icons aktiviert werden. Damit kann auch das Icon für APWLinux, das bei der Installation eingerichtet wird, sichtbar gemacht werden.
Weitere Anpassungen können über K-Menü -> Einstellungen -> Systemeinstellungen durchgeführt werden.
28
Die Einrichtung von APW-Linux
Mit "Einrichten" kann die Ansicht auf die ältere Baumansicht umgestellt werden.
Z.B. kann über "Erscheinungsbild und Verhalten der Arbeitsfläche " -> Verhalten der Arbeitsfläche ->
Virtuelle Arbeitsflächen die Arbeitsflächen auf 4 oder höher geändert werden.
29
Die Einrichtung von APW-Linux
Über "Allgemeines Erscheinungsbild und Verhalten -> Regionales sollte Land/Region & Sprache auf
"Deutsch" umgestellt werden.
30
Die Einrichtung von APW-Linux
Damit einige APW-Tastatur-Befehle funktionieren, muss unter "Allgemeines Erscheinungsbild und Verhalten -> "Kurzbefehle und Gestensteuerung" -> Globale Kurzbefehle z.B. die Strg-F1, Strg-F2 usw. abgeschaltet werden. Weitere Tastaturbefehle sollten kontrolliert werden.
System-Anpassungen
Einige Anpassungen können Sie nur als root machen. Um z.B. den Hintergrund von KDM, dem Login-Bildschirm zu ändern, müssen Sie das KDE-Einstellungsprogramm als root aufrufen. Sie können sich
in Debian allerdings nicht auf einer grafischen Oberfläche anmelden. Also machen Sie folgendes: als User
praxis klicken Sie rechts auf der Desktop-Oberfläche, im Kontextmenü wählen Sie "Befehl ausführen".
Geben Sie ein "kdesu systemsettings". Sie werden nach dem root-Passwort gefragt und können nun im
KDE-Einstellungsprogramm das einrichten, was bisher ausgegraut war. Zuerst sollten Sie über "Land/
Region & Sprache" auf Deutsch umgestellt werden, da hier für root immer Englisch die Vorgabe ist. Die
Umstellung wird für dieses Programm erst wirksam, wenn es neu gestartet wurde.
Auch die Tastatur muss auf Deutsch umgestellt werden. Erst danach funktioniert Z und Y richtig.
Der Hintergrund von KDM wird z.B. über Erweitert -> Anmeldungsmanager -> Design geändert.
Nach Umstellung der Sprache für root kann man auch in der Konsole anmelden. Starten Sie eine Konsole
z.B. über K-Menü -> System -> Konsole (Terminal) auf und loggen Sie sich mit su root ein. Mit einem
anschließend aufgerufenen Midnight Commander (mc) hilft bei vielen Systemaufgaben. Standardmäßig
ist jetzt als editor nano eingestellt. Eine Umstellung auf mcedit erfolgt über Optionen -> Konfiguration
-> "internen Editor benutzen" mit Kreuz versehen. Die Auswahl muss gespeichert werden. Sinnvoll ist
das Abarbeiten der Tastenzuordnungen über Optionen -> Tasten lernen, damit die Funktionstasten richtig
erkannt werden.
Ein wichtiger Punkt ist die Konfiguration von apt, mit dem Sie Debian auf dem aktuellen Stand halten
und die Sicherheitsupdates einspielen können. Hierfür ist die Datei /etc/apt/sources.list ausschlaggebend. Hier eine umfangreiche Liste der möglchen Eintragungen:
31
Die Einrichtung von APW-Linux
deb http://ftp.de.debian.org/debian/ wheezy main contrib non-free
deb-src http://ftp.de.debian.org/debian/ wheezy main contrib non-free
deb http://security.debian.org/ wheezy/updates main contrib non-free
deb-src http://security.debian.org/ wheezy/updates main contrib
#
#
#
#
Testing
deb http://ftp.de.debian.org/debian/ testing main contrib non-free
deb-src http://ftp.de.debian.org/debian/ testing main contrib
deb http://security.debian.org/ testing/updates main contrib non-free
# Unstable
# deb http://ftp.de.debian.org/debian/ unstable main contrib non-free
# deb-src http://ftp.de.debian.org/debian/ unstable main contrib
# Repository von Debian-Med
# deb-src http://mentors.debian.net/debian/ unstable main contrib non-free
# deb http://www.apw-linux.de/deb/ ./
deb http://ftp.de.debian.org/debian/ wheezy-proposed-updates contrib non-free main
Die Zeilen mit # am Anfang der Zeile sind auskommentiert und werden zunächst nicht berücksichtigt. Nur
unter besonderen Umständen sollten die Zeilen unter Testing oder Unstable durch Löschen des # scharf
gestellt werden. Man könnte sich damit sein System zerschiessen. Wer sich nicht sicher ist, was er an
dieser Auflistung ändern sollte, sollte die Eintragungen so belassen.
Wenn obige Zeilen in der Datei /etc/apt/sources.list eingetragen wurden, sollten zunächst die
Paketlisten aktualisiert werden, was man auf der Kommandozeile als root mit apt-get update oder in
Synaptic machen kann. Danach kann eine Aktualisierung von Wheezy durchgeführt werden mit apt-get
upgrade oder auch über Synaptic.
Falls beim Aktualisieren der Paketlisten die Meldung kommt, dass bestimmte Schlüssel nicht bekannt sind,
kann man mit folgendem Script die entsprechenden Keys über die öffentlichen Key-Server herunterladen
und für apt zur Verfügung stellen:
cat apt-key-download.sh
#!/bin/bash
until [ -z "$1" ]
do
gpg --keyserver hkp://subkeys.pgp.net --recv-key $1
gpg -a --export $1 | apt-key add shift
done
Man ruft das Skript apt-key-download.sh mit den unbekannten Keys als Parameter auf.
Installiert man das 32-Bit Debian-Linux auf einem Computer, der über mehr Arbeitsspeicher verfügt als 3
GB, sollte man, wenn man den zusätzlichen Speicher nutzen will, einen Kernel mit PAE (Physical Address
Extension) installieren. In Wheezy steht hierfür der Kernel linux-image-3.2.0-4-686-pae zur Verfügung.
Installieren als root mit:
apt-get install linux-image-3.2.0-4-686-pae
Hier einige Hinweise, wie man nicht automatisch laufende Hardware doch noch ans Laufen bringen kann:
als root bekommt man das Meiste auf der Kommandozeile hin.
32
Die Einrichtung von APW-Linux
Mit lspci kann man zunächst ein paar grundlegende Informationen über die Hardware bekommen.
Mit hwinfo wird auf den Kommandozeile ausführliche Information über die Hardware ausgegeben. Das
Programm muss mit apt-get install hwinfo installiert werden. Schauen Sie mit man hwinfo nach, welche
Information Sie genau haben wollen, sonst werden Sie von der Ausgabe von hwinfo erschlagen. hwinfo -wlan sagt Ihnen z.B., welches WLAN-Bauteil von Linux erkannt wird (kann manchmal von der Herstellerangabe abweichen, weil sich am verbauten Chipset orientiert). Im Internet kann man dann nachsehen,
in wieweit das Bauteil unterstützt wird bzw. ob z.B. Firmware nachgeladen werden muss.
Einige hilfreiche Kommandos:
apt-get -f install
Sollte bei einer Paketinstallation etwas schief gelaufen sein, kann man
versuchen, ob apt-get mit diesem Kommando den Fehler selbst beheben kann.
dpkg-query -l '*linux-image*'
Listet alle Debian-Pakete auf, die im Namen "linux-image" haben, d.h.
alle installierbaren Kernel-Images. Statt "linux-image" kann z.B. auch
nach "firmware", "network", "wlan", "openoffice" usw. gesucht werden
dpkg-query -s '*ath9k*'
Listet alle Debian-Pakete auf, in denen Dateien mit "ath9k" im Namen
enthalten sind.
dpkg-repack apw
Falls man nicht sicher ist, ob man ein Debian-Paket problemlos
löschen kann, kann man damit das Paket sichern. Eventuell muss das
Paket dpkg-repack mit apt-get install dpkg-repack nachinstalliert
werden.
dpkg
-i
apw_demo_20130721_i386.deb
Damit kann ein Debian-Paket auf der Kommandozeile installiert werden, falls es nicht über apt-get install ... installiert werden kann. Dafür
muss das Paket im aktuellen Verzeichnis vorhanden sein.
Ein wichtiger Punkt ist noch die Einstellung von cron. Lesen Sie hierzu in SelfLinux [http://
www.selflinux.org/selflinux/] den Abschnitt Systemverwaltung -> cron. Die Konfigurationsdatei /etc/
crontab muss geändert werden, wenn der Computer nicht 24 Stunden am Tag durchläuft:
#
#
#
#
/etc/crontab: system-wide crontab
Unlike any other crontab you don't have to run the `crontab'
command to install the new version when you edit this file.
This file also has a username field, that none of the other crontabs do.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user
17 *
* * *
root
25 6
* * *
root
47 6
* * 7
root
52 6
1 * *
root
#
command
run-parts --report /etc/cron.hourly
test -x /usr/sbin/anacron || run-parts --report /etc/cron.d
test -x /usr/sbin/anacron || run-parts --report /etc/cron.w
test -x /usr/sbin/anacron || run-parts --report /etc/cron.m
mit dieser Einstellung werden die Aufräumprogramme in /etc/cron.daily, /etc/cron.weekly
und /etc/cron.monthly niemals abgearbeitet, wenn der Computer erst um 8.00 Uhr gebootet wird.
Insbesondere das Programm logrotate wird nicht aufgerufen, was dazu führen kann, dass sich die System-Log-Nachrichten ansammeln und niemals gelöscht werden. Damit kann die Festplatte schnell volllaufen.
33
Die Einrichtung von APW-Linux
Wenn also der Computer nicht 24 Stunden durchläuft, muss die Datei /etc/crontab als root editiert
werden, z.B.:
#
#
#
#
/etc/crontab: system-wide crontab
Unlike any other crontab you don't have to run the `crontab'
command to install the new version when you edit this file.
This file also has a username field, that none of the other crontabs do.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
#m
17
25
47
52
#
h
*
13
13
13
dom mon
* * *
* * *
* * 7
1 * *
dow user command
root
run-parts --report /etc/cron.hourly
root
test -x /usr/sbin/anacron || run-parts --report /etc/cron.da
root
test -x /usr/sbin/anacron || run-parts --report /etc/cron.we
root
test -x /usr/sbin/anacron || run-parts --report /etc/cron.mo
Damit werden die cron-Jobs in der Mittagspause ab 13.25 Uhr abgearbeitet. Die cron-Jobs sollten in eine
Zeit gelegt werden, in der voraussichtlich nicht viel zu tun ist, der Computer aber sicher eingeschaltet ist.
Zur Optimierung des Computerleistung kann man überprüfen, ob bestimmte Dienste, die automatisch
gestartet werden, benötigt werden. Beim Bootvorgang durchläuft Linux zunächst die Programmaufrufe,
die als Links in /etc/rcS.d angelegt sind, und anschließend die Links in /etc/rc2.d. Hier können
Links gelöscht werden, wenn klar ist, dass dieses Programm nicht gestartet werden muss. Aber Vorsicht!
Wenn bestimmte Dienste nicht laufen, sind einige Programme nicht ausführbar.
34
Kapitel 3. Die Installation von APWLIN
APWLIN wird auf der APW-Linux-Live-DVD über K-Menü -& APWLIN -& APWLIN-Installation im
Home-Verzeichnis des Users praxis eingerichtet. Von einer APW-Demo-DVD oder einer APW-UpdateDVD wird APWLIN über die Programme START.UNX oder STARTQT.UNX im Hauptverzeichnis der
DVD installiert.
Sollten beim ersten Startversuch Probleme auftreten, starten Sie START.UNX zunächst aus einem Konsolenfenster heraus, da Sie nur so Fehlermeldungen sehen können. Die Fehlermeldung: "Keine Berechtigung" ist meist darauf zurückzuführen, dass die DVD mit der Option "noexec" gemounted wurde. Dies
verhindert normalerweise, dass Virusprogramme von einer CD/DVD das System verseuchen können. Um
35
Die Installation von APWLIN
START.UNX dennoch starten zu können, unmounten Sie die DVD wieder. Als root sollten Sie nun die
Datei /etc/fstab editieren: in der Zeile für das CDROM-Laufwerk muss "noexec" in "exec" umgewandelt werden: z.B.
/dev/sr0 /media/cdrom0
iso9660
defaults,ro,user,exec,noauto
0
0
Nun mounten Sie die DVD als User "praxis" mit dem Befehl mount /media/cdrom0 und wechseln in
das Verzeichnis /media/cdrom0. Der Befehl ./START.GTK führt Sie zum normalen APW-Installations-Bildschirm.
Das Installationsprogramm ist weitgehend selbsterklärend. APW-Linux sollte, wie vorgeschlagen, nach /
home/praxis/a installiert werden. Falls der mmi-Pharmindex genutzt werden soll, kann von /home/
praxis/a nach /home/praxis/.wine/drive_c/ verlinkt werden. Das Installationsprogramm
bietet die Anlage eines Icons auf dem Desktop an und kann dann beendet werden. Durch Klick auf das
Icon kann dann APW-Linux aufgerufen werden.
Auf SuSE-Installationen kann die Bibliothek libslang fehlen, die nachinstalliert werden muss. Ebenso
fehlt bei SuSE häufig das Programm arj. Es existiert zwar ein Programm unarj, was wir aber nicht
verwenden können, da es einige Optionen nicht versteht. Unter rpmseek.com [http://rpmseek.com/] kann
nach einer aktuellen Version von arj gesucht werden. Da es für SuSE scheinbar kein arj gibt, installieren
Sie stattdessen eine Version von RedHat oder Mandrake.
36
Kapitel 4. Die Einrichtung von APWLIN
auf 64-Bit-Systemen
APW-Linux wird ab Juli 2013 auch als 64-Bit-Version bisher nur auf der APW-Installations- und UpdateDVD ausgeliefert.
Bei der Installation auf einem 64-Bit-System sollte START64.UNX oder STARTQT64.UNX zur Installation/Update aufgerufen werden. Damit wird automatisch die 64-Bit-APWLIN-Version mitinstalliert. Statt
apwlin.unx rufen Sie apwlin64.unx auf. Zum Einlesen der Krankenversichertenkarte gibt es bisher nur
die libctapi-mkt in einer 64-Bit-Version. Diese Bibliothek kann über Fremdprogramme installiert werden.
Das Einlesen läuft dann auch bei Client-Installationen über mkt64.unx.
37
Kapitel 5. Einrichtungshinweise zu
APWLIN
APWLIN unter X/KDE
Um die APWiegand-typischen Tastenkombinationen zur Verfügung zu haben, muss in KDE im Menü
unter Einstellungen -> Systemeinstellungen unter Systemverwaltung -> Tastatur &
Maus -> Globale Kurzbefehle Einiges umgestellt werden.
Sie müssen die verschiedenen KDE-Komponenten einzeln durchgehen. Z. B. muss Strg-Tab unter KDE
abgeschaltet werden, damit der mmi-Pharmindex aufgerufen werden kann. Außerdem müssen Strg-F1 bis
Strg-F12 und Alt-F1 bis Alt-F12 abgeschaltet werden, wenn die entsprechenden Funktionen in APWiegand genutzt werden sollen. Einfach die ganze Tabelle durchgehen und die entsprechenden Funktionen
abschalten. Ich habe zum Wechseln der Arbeitsflächen z.B. statt Strg-F1 Strg-Alt-1 usw. umkonfiguriert.
Auf der APW-Linux-Live-DVD sind die Funktionstasten bereits für APWLIN freigeschaltet.
38
Einrichtungshinweise zu APWLIN
APWiegand wird mit 34 Zeilen und 100 Spalten als Standard gestartet. Damit füllt APWLIN bei einer
Bildschirmauflösung von 1024x768 nur etwa die Hälfte des Bildschirms aus. Über System / Einstellungen /
Bildschirm / Zeile kann man die Zeilenzahl bis auf 50 Zeilen erhöhen oder auch manuell eine Zeilenzahl
festlegen. Unter Spalten kann die Darstellungsbreite auf 120 oder 140 Spalten erhöht werden. Sicherheitshalber sollte danach das Programm neu gestartet werden.
Mit Schrift kann eine eigene unter X installierte Schriftart zur Darstellung über xfontsel konfiguriert werden, um bei grossen Bildschirmen eine bessere Lesbarkeit zu erreichen. Nur nicht-proportionale Schriften
können eine richtige Darstellung ergeben.
Die Standardschriftart ist: *-fixed-*-*-*-*-20-*-*-*-*-*-iso10646-1
Wenn nur die Größe der Schrift geändert werden soll, sollte "fixed" als 2. Parameter und "iso10464" als
vorletzter Parameter eingestellt werden. Die Schriftgröße kann man dann über pxlsz steuern, wobei man
einen durch 2 teilbaren Wert einsetzen sollte.
Wird die Schriftart in xfontsel ausgewählt, folgt ein Testbild. Ist die Darstellung in Ordnung, wählt man
"OK" an. Damit die diese Schriftart als Standard eingestellt. Sollte die Darstellung nicht lesbar sein, kann
man mit Escape zur alten Schriftart zurückkehren.
Bei neueren Motherboards und Monitoren wird über DPMS zum Stromsparen der Bildschirm abgestellt.
Ist dies nicht erwünscht, muss dies über den X-Server abschaltet werden. Hierzu auf der Kommandozeile
ein:
xset s off
xset -dpms
Um dies nicht täglich eingeben zu müssen, kann ein entsprechendes Shell-Skript als Autostart-Datei eingerichtet werden.
Weitere Darstellungsmöglichkeiten siehe unten.
Falls noch nicht bei der Installation eingerichtet, sollte für APWLIN ein Ikon auf dem Desktop anzulegen.
Dafür klickt man mit der rechten Maustaste auf einen freien Bereich der Desktop-Oberfläche. Im folgenden
Kontextmenü wählt man "neu erstellen" -> "Datei" -> "Verknüpfung zu Programm".
Im folgenden Einrichtungsprogramm setzen Sie statt "Verknüpfung zu Programm" "APWLIN" ein.
Geben Sie unter dem Reiter "Programme" als Befehl "/home/praxis/a/apwlin.unx" und als Arbeitsordner
"/home/praxis/a" ein.
39
Einrichtungshinweise zu APWLIN
Mit OK bestätigen und schon erscheint das Ikon an der Stelle, auf die Sie vorher geklickt hatten. Natürlich
können Sie das Ikon jetzt noch verschieben.
APWLINK.UNX an der Linux-Konsole (nur 32Bit)
Die modernen Linux-Distributionen booten standardmäßig im Runlevel 2 oder 5 X-Windows und einen
Window-Manager, z.B. KDE. Natürlich kann man in Linux auch ohne grafische Oberfläche an der Konsole
arbeiten. Hierfür kann man in der Datei /etc/inittab den zu bootenden Runlevel auf Runlevel 3
umkonfigurieren und dort X-Windows nicht starten lassen. Mit dem SysV-Init-Editor sollte kontrolliert
werden, ob alle notwendigen Dienste im Runlevel 3, d.h. im Verzeichnis /etc/rc3.d, gestartet werden.
Auch mit der VGA-Auflösung von vga=791 kann mit apwlink.unx gearbeitet werden. Der APW-Bildschirm hat dann eine Auflösung von ca. 120 Zeichen und ca. 50 Zeilen. Wer mehr Übersicht in der Kartei
wünscht, sollte diese Einstellung ausprobieren. In GRUB legt man einen neuen Booteintrag in der Datei
/boot/grub/grub.cfg mit init 3 am Ende der Kernelzeile an.
Auf der Konsole (Strg-Alt-F2) loggen Sie sich ein, wechseln mit cd /home/praxis/a ins APW-Verzeichnis
und starten dort ./apwlink.unx. Mit einem Skript läßt sich das auch automatisieren.
Apwlink.unx kann auch in Xterm (nicht in der KDE-Konsole) in X-Windows laufen. Damit können eigene
Fonts und eigene Fenstergrößen eingestellt werden. Die Zeilenzahl kann dann bis maximal 50 Zeilen und
maximal 140 Spalten erhöht werden. Es können nur nichtproportionale Schriftarten eingesetzt werden.
Sie können in Linux auch parallel mit grafischer Oberfläche und Konsole arbeiten. Wenn Sie Linux normal im Runlevel 2 booten, konfiguriert Linux 6 normale Konsolen und legt die grafische Oberfläche auf
die 7. Konsole. Auf der grafischen Oberfläche mit KDE haben sie standardmäßig nochmal 4 Bildschirme
zur Verfügung. Sie erreichen die 6 Konsolen mit Ctrl-Alt-F1 bis Ctrl-Alt-F6 und müssen sich hier normal
einloggen. Zur grafischen Oberfläche wechseln Sie wieder mit Ctrl-Alt-F7. Der Wechsel zur grafischen
Oberfläche kann je nach Hardware manchmal etwas dauern, da die gesamten Daten der grafischen Oberfläche wieder neu geladen werden müssen, also etwas Geduld (oder viel Arbeitsspeicher zur Verfügung
stellen).
40
Kapitel 6. Die Einrichtung von
Kartenlesegeräten
Ab 1. Quartal 2012 gibt es für APW-Linux 14 Methoden, die Krankenversichertenkarte bzw. die elektronische Gesundheitskarte mit einem zertifizierten Lesegerät einzulesen, die unter System / Schalter / KVK /
Linux-Einleseart eingestellt werden muss:
• 1 = Einlesen mit dem Gerät Celectronic Card Star /medic2 und Card Star /memo2 über die USB-Schnittstelle
• 2 = Einlesen über kvklin.unx
• 3 = Einlesen über die Bibliothek libctapi-mkt (Standardeinstellung)
• 4 = Einlesen über die Geräte Orga 6041 (L) oder Orga 910 M über die serielle, die USB oder die LANSchnittstelle
• 5 = Reserviert für Skripte zum Einlesen von KVK-/eGK-Lesegeräten über das Netzwerk (mktlin.unx)
• 6 = Einlesen über das Gerät Hypercom (ehemals Thales) medCompact über die USB-Schnittstelle
• 7 = Einlesen über die Cherry-Tastatur G80-1502 im MKT+-Modus
• 8 = Einlesen mit dem SCM Microsystems eHealth 200 BCS an der USB-Schnittstelle
• 9 = Einlesen mit dem Cherry ST-1503 oder der Cherry-Tastatur G87-1504 an der USB-Schnittstelle
• 10 = Einlesen mit dem Hypercom medMobile oder SCM eHealth 500 an der USB-Schnittstelle
• 11 = Einlesen mit dem Cherry ST-2052 an der USB-Schnittstelle
• 12 = Reserviert für Skripte zum Einlesen von KVK-/eGK-Lesegeräten über das Netzwerk (mktlin2.unx)
• 13 = Einlesen mit dem Kobil Kaan Advanced (nur eGK, nicht gematik/KV zugelassen), USB-Schnittstelle
• 14 = Einlesen mit dem ECO 5044 (nicht gematik/KV zugelassen) an der USB-Schnittstelle
Die Vor- und Nachteile der Methoden sollen hier besprochen werden.
41
Die Einrichtung von
Kartenlesegeräten
Allgemeines zum Einlesen über die serielle
Schnittstelle
Das Einlesen der Krankenversichertenkarte oder der elektronischen Gesundheitskarte mit einem KVK/
eGK-Lesegerät am seriellen Port muss unter System / Schalter / KVK/eGK -> COM-Port eingestellt werden. Dabei ist COM-Port 1 = /dev/ttyS0, COM-Port 2 = /dev/ttyS1 usw. Der serielle Port muss für den
User praxis lesbar und beschreibbar sein: also als root
root@Schlepptop:~#
c--------- 1 root
root@Schlepptop:~#
root@Schlepptop:~#
crw-rw---- 1 root
ls -al /dev/ttyS0
dialout 4, 64 2005-11-08 19:39 /dev/ttyS0
chmod 660 /dev/ttyS0
ls -al /dev/ttyS0
dialout 4, 64 2005-11-08 19:39 /dev/ttyS0
wobei der User praxis in der Gruppe dialout sein muss.
Einige Programme, die die Systemsicherheit überprüfen, setzen die Zugriffsrechte auf den seriellen Port
zurück auf den Ausgangswert. APWLIN kann den seriellen Port nicht auslesen und gibt "Leere Daten"
aus. Dann muss obiges Kommando wiederholt werden.
Einlesen über kvklin.unx
Dieses Programm kann nur die alten stationären KVK-Lesegeräte ansprechen. Es funktioniert nicht bei
mobilen Kartenlesegeräten. Dieses Programm ist auf und für Kernel > 2.6.8 kompiliert und eingerichtet.
Der Einlesevorgang kann hängen; dann wird das Programm nach spätestens 10 Sekunden gekillt und der
Einlesevorgang kann wiederholt werden. In APW muss unter System / Schalter / KVK/eGK die LinuxEinleseart auf "2" gestellt werden. Die eGK ist damit nicht einlesbar.
Einlesen über die Bibliothek libctapi-mkt
Diese Einleseart funktioniert im Augenblick am stabilsten. Auf der APW-Linux-Live-DVD ist die Bibliothek bereits eingerichtet. Auf anderen Installationen muss die Bibliothek als root installiert werden. Man
mounted wie üblich die CD und ruft das Programm START.UNX oder START.GTK. Im Auswahlmenü
geht man auf "Fremdprogramme" -> "libctapi-mkt". Danach wird kdesu gestartet und man wird nach dem
root-Paßwort gefragt. In einer root-Konsole wird dann die libctapi-mkt installiert. Diese Bibliothek kann
ohne Probleme über Synaptic oder dpkg deinstalliert werden. Falls jemand ein RPM-Paket benötigt, möge
er sich bei mir melden.
In APW-Linux muss unter System / Schalter / KVK/eGK die Linux-Einleseart auf "3" gestellt werden.
Als COM-Port geben Sie folgendes an:
• 0 = für /dev/ttyS0 -> übliche Bezeichnung für COM-Port 1 unter Linux
• 1 = ebenfalls für /dev/ttyS0 -> aus Kompatilitätsgründen mit APW-DOS und APW-WIN übernommen.
Entspricht COM-Port 1
• 2 = für /dev/ttyS1 entsprechend COM-Port 2
• 3 = für /dev/ttyS2 entsprechend COM-Port 3
• 4 = spricht /dev/ttyS0 mit 115200 Baud an, z.B. Celectronic CardStar /medic2 und /memo2/3. Dafür
muss am Gerät die Baudrate auf 115200 Baud umgestellt sein; /dev/ttyS0 muss auf 115200 Baud umge-
42
Die Einrichtung von
Kartenlesegeräten
stellt werden: als root stty -F /dev/ttyS0 115200 parenb -parodd -cstopb eingeben. Dieser Befehl
muss eventuell in einem Script zum Initialisieren der Devices beim Booten den Computer angegeben
werden, wenn die Devices bei jedem Booten neu angelegt werden.
• 5 = wie 4 auf /dev/ttyS1 mit 115200 Baud
• 6 = spricht /dev/ttyACM0 an. Z.B. Zemo-VML-GK1, Gemalto GCR 5500-D und German Telematics
GT900 über USB
• 7 = spricht /dev/ttyACM1 an.
• 8 = spezielle Einstellungen für die serielle Schnittstelle /dev/ttyS0 für das Zemo-VML-GK1
• 9 = spricht /dev/ttyUSB0 mit 9600 Baud an (USB-seriell-Adapter)
• 10 = spricht /dev/ttyUSB0 mit 115200 Baud an (USB-seriell Adapter)
• 11 = spezielle Einstellungen /dev/ttyACM0 für Hypercom medMobile und SCM eHealth500
• 12 = spezielle Einstellungen /dev/ttyACM1 für Hypercom medMobile und SCM eHealth500
Einlesen über KVK-/eGK-Lesegeräten in Client-Installationen über das Netzwerk (SSH)
Wie weiter unten beschrieben, sollte eine Client-SSH-Installation in ein eigenes Verzeichnis auf dem Server erfolgen. Um von dort aus auf ein Kartenlesegerät zuzugreifen, das an einem anderen Computer im
Netzwerk angeschlossen ist, habe ich mktlin.unx bzw. mktlin2.unx für ein zweites Lesegerät als SkriptDatei reserviert.
Sie müssen sich vom Server auf dem Client-Computer per SSH einloggen können. Auf dem Client-Computer muss libctapi-mkt oder je nach Gerät eine der anderen Bibliotheken installiert sein. Kopieren Sie
das Programm mkt.unx aus dem Server-APW-Verzeichnis in das Home-Verzeichnis auf dem Client. Hier
muss der Befehl
./mkt.unx <Port-Nr> <Nummer der Bibliothek>
funktionieren und die Datei karte.txt und Dateien ef_kvk.txt für die KVK oder die Dateien ef_st.txt,
ef_atr.txt, ef_gdo.txt, ef_version.txt, ef_pd.gz und ef_vd.gz für die eGK erzeugen.
Die Nummern der Bibliotheken sind:
• 1 = libctapi-celectronic installierbar über Celectronic-Treiber
• 2 = libCTORGT1 installierbar über Orga-Treiber
• 3 = libctapi-mkt installierbar über MKT-Treiber
• 4 = libcthyc für Hypercom medCompact installierbar über Hypercom-Treiber
• 5 = libctapi-mkt mit Einstellungen für Cherry-Tastatur G80-1502
• 6 = libCT_eHealth100 installierbar über SCM-Treiber
• 7 = libctcym installierbar über Cherry ST-1503
• 8 = libctapi-hyc für Hypercom medMobile installierbar über Hypercom-Treiber
43
Die Einrichtung von
Kartenlesegeräten
• 9 = libctpcsc, libmcscm, libpcsclite und pcscd für Cherry ST-2052
• 10 = libct, libpcsclite und pcscd für Kobil KAAN Advanced, zur Zeit nur eGK, keine KVK
• 11 = libctdeuti, libpcsclite und pcscd für ECO 5044
Legen Sie eine Skriptdatei auf dem Client /home/praxis/kvklesen an z.B. für das Auslesen der
alten KVK-Lesegeräte über die serielle Schnittstelle mit dem Inhalt:
#!/bin/bash
rm /home/praxis/karte.txt
rm /home/praxis/ef*
/home/praxis/mkt.unx 1 3
scp /home/praxis/karte.txt praxis@server:/home/praxis/aclient/
scp /home/praxis/ef_* praxis@server:/home/praxis/aclient/
Auf dem Server im Client-Verzeichnis legen Sie die Skript-Datei mktlin.unx an mit folgendem Inhalt:
#!/bin/bash
rm /home/praxis/aclient/karte.txt
rm /home/praxis/aclient/ef*
ssh praxis@<Client-Computer> /home/praxis/kvklesen
Beim über LAN angeschossenen Orga 6041 muss die mktlin.unx wie folgt aussehen:
#!/bin/bash
cd /home/praxis/aclient/
rm /home/praxis/aclient/karte.txt
rm /home/praxis/aclient/ef*
./mkt.unx 1 2
cd /home/praxis/a
sonst werden die Dateien nicht ins Client-Verzeichnis geschrieben und damit nicht gefunden.
Die Linux-Einleseart muss für den APW-Client mit "5" konfiguriert werden. Die Port-Einstellung wird
hier ignoriert und muss über das Skript auf dem Client-Computer konfiguriert werden. Damit sollte die
Übertragung der KVK-Daten an APW-Linux vom Client laufen.
Ein mobiles Kartenlesegerät sollte möglichst direkt am Server angeschlossen werden, da nur so eine ausgelesene Karte nach Verarbeitung der Daten gelöscht werden kann. Ist dies nicht möglich, muss die Karte
direkt z.B. mit folgendem Skript auf dem Client gelöscht werden. Das Löschen sollte mit mkt.unx <PortNr> <Bibliotheks-Nr> 1 erst nach erfolgreicher Übertragung auf den Server angestossen werden.
#!/bin/bash
rm /home/praxis/karte.txt
rm /home/praxis/ef*
/home/praxis/mkt.unx 1 3
scp /home/praxis/karte.txt praxis@server:/home/praxis/aclient/
if [ $? -eq 0 ]
then
scp /home/praxis/ef_* praxis@server:/home/praxis/aclient/
if [ $? -eq 0 ]
then
/home/praxis/mkt.unx 1 3 1
fi
fi
44
Die Einrichtung von
Kartenlesegeräten
Celectronic Card Star /medic2 und /memo2
Für das Einlesen der KVK/eGK über einen USB-Anschluß mit dem Gerät Celectronic Card Star /medic2™
muss die libusb und die libstdc++ installiert sein. Auf der APW-Linux-Live-DVD sind diese Bibliotheken und die libctapi-celectronic bereits eingerichtet. Auf anderen Installationen muss die Bibliothek libctapi-celectronic über das START-Programm -> Fremdprogramme -> Celectronic-Treiber installiert werden, siehe oben die Installation der libctapi-mkt. Bei der Neu-Installation bzw. beim Update wird automatisch das Programm mkt.unx installiert. In APW muss über System / Schalter / KVK/eGK die COMSchnittstelle auf "1" und die USB-Schnittstelle auf "0" und die Linux-Einleseart auf "1" gesetzt werden.
Am Celectronic-Gerät muss die USB-Schnittstelle eingestellt werden, siehe Gebrauchsanweisung. Danach
funktioniert das Einlesen der KVK oder der neuen elektronischen Gesundheitskarte über F3 wie gewohnt.
Es wird automatisch die USB-Schnittstelle zum Celectronic-Gerät erkannt. Hinweis: das Einlesen der eGK
dauert länger als das Einlesen der KVK.
Die Einstellungen für das Auslesen des mobilen Lesegerätes Celectronic Card Star /memo2™ sind identisch. Beachten Sie jedoch die Gebrauchsanweisung für das mobile Lesegerät. Der Einlesevorgang muss
am Gerät mit F6 eingeleitet werden. Unterbrechen Sie die Verarbeitung der Kartendaten in APW nicht bis
die Kartendaten im Lesegerät gelöscht sind, da sonst das Gerät hängt bzw. keine weiteren Lesevorgänge
zuläßt, bis die eingelesenen Kartendaten gelöscht sind.
Orga HML 5010
Beschreibung von Moritz Molle:
Einrichten eines USB-RS232-Konverters
Man schliesse den USB-RS232-Konverter an -> es sollte ein /dev/ttyUSB0 Device entstehen. Bei
Herrn Molle war das ein char-device major 188 minor 0.
Man erstelle ein Skript, das beim Booten ausgeführt wird, nachdem die Devices eingerichtet wurden.
#!/bin/bash
#Beispiel-Skript
rm /dev/ttyS1
mknod /dev/ttyS1 c 188 0
chown root:dialout /dev/ttyS1
chmod 0660 /dev/ttyS1
# geht natuerlich auch mit 0, 2 oder 3
# Die Daten von "ls -lah /dev/ttyUSB0" verw
45
Die Einrichtung von
Kartenlesegeräten
stty -F /dev/ttyS1 9600 parenb -parodd -cstopb
Einstellungen für HML 5010
Es muss kontrolliert werden, ob die serielle Schnittstelle bzw. die Schnittstelle zum USB-RS232-Konverter
auf 9600 Baud gestellt ist. Sonst muss mit
stty -F /dev/ttyS1 9600 parenb -parodd -cstopb
die entsprechende Schnittstelle umgestellt werden.
Der Kartenleser muss auf HML-500 kompatible Betriebsart eingestellt werden (im Gegensatz zu MKT).
Das Format sollte auf ASN.1 eingestellt werden. In APW-Linux muss der richtige COM-Port unter System / Schalter / KVK/eGK eingestellt werden, d.h. COM-Port "1" entspricht /dev/ttyS0, COM-Port
"2" entspricht /dev/ttyS1 usw. Die Linux-Einleseart sollte auf "3" eingestellt werden.
Orga 6041 L
Das Gerät Orga 6041™ bietet die Anschlußarten: über die serielle Schnittstelle und über USB-Anschluß,
das Gerät Orga 6041 L™ kann zusätzlich als eigenständiges Gerät im Praxisnetzwerk betrieben werden.
Ich beschreibe hier sämtliche Anschlußarten, also die Möglichkeiten von Orga 6041 L™. Bis auf die LANSchnittstelle ist das Gerät Orga 6041™ identisch.
Starten Sie START.UNX oder START.GTK. Unter "Fremdprogramme" wählen Sie -> Orga-Treiber. Es
wird kdesu gestartet und nach dem root-Paßwort gefragt. Die nächste Frage bestätigen Sie. Anschließend
wird die Orga-Treiber-Bibliothek und weitere Dateien, die von dem Orga-Gerät benötigt werden, als Debian-Paket installiert. Verlassen Sie nun das START-Programm wieder.
Mit einem Update von APW-Linux wird die Datei mkt.unx ins APW-Verzeichnis kopiert. Die weiteren
Installationsschritte unterscheiden sich je nach Anschlußart.
Anschluß über die serielle Schnittstelle
Das Gerät Orga 6041 L™ muss mit dem seriellen Kabel und dem Netzteil des Seriellen Kit 6000.0 DE
angeschlossen werden. Am Gerät muss die Schnittstelle auf "seriell", der Parameter auf "seriell" und die
Baudrate sollte auf 115200 gestellt werden. Die serielle Schnittstelle /dev/ttyS0 sollte als root auf 115200
Baud hochgesetzt werden mit
46
Die Einrichtung von
Kartenlesegeräten
stty -F /dev/ttyS0 115200 parenb -parodd -cstopb
Diese Umstellung muss nach jedem Booten in der Regel wiederholt werden und sollte daher mit einem
Skript beim Bootvorgang erledigt werden. Wer hier Hilfe braucht, melde sich über die Hotline.
Die Datei /usr/local/etc/ctorg.conf sollte mit dem Orga-Treiber-Paket installiert worden sein.
In dieser Datei wird die serielle Schnittstelle mit
device_file_name_for_pn_1=/dev/ttyS0
als Port 1 definiert. Zunächst kann man mit dem Programm mctcheck testen, ob und welche seriellen
Schnittstellen vorhanden sind und ob ein Orga-Gerät gefunden wurde.
Orga 6041 L an /dev/ttyS0 angeschlossen:
praxis@Schlepptop:~$ mctcheck
mctcheck version 1.0.2
1. Checking if /usr/local/etc/ctorg.conf exists:
-------------------------------------------Config file /usr/local/etc/ctorg.conf exists
Use the following device files:
pn=1 => /dev/ttyS0
pn=2 => /dev/ttyACM0
pn=3 => /dev/ttyACM1
pn=4 => /dev/ttyACM2
2. Checking if ports are exists on the system:
-------------------------------------------Port /dev/ttyS0 existing
3. Checking if the existing ports are locked:
-------------------------------------------Port /dev/ttyS0 is NOT locked
4. Checking if there is a CT at the existing and not locked ports:
-------------------------------------------------------------+++ Searching at /dev/ttyS0... Can take a few seconds...
*** Closing CT 1 :: [0] == OK
CT at port /dev/ttyS0 available. Speed is: 115200 bps
4. Sending Commands to the existing Card Terminals
------------------------------------------------*** Initializing CT 1 at /dev/ttyS0 :: [0] == OK
>>>
<<<
==>
==>
==>
Sending RESET_CT to CT 1 :: [0] == OK
Response from Card Terminal:
dad = 2
sad = 1 lenr = 2
Response APDU (HEX) = [90] [0]
Response APDU (TEXT)=
>>> Sending GET_STATUS to CT 1 ::
<<< Response from Card Terminal:
47
[0] == OK
Die Einrichtung von
Kartenlesegeräten
==> dad = 2
sad = 1 lenr = 27
==> Response APDU (HEX) = [46] [17] [44] [45] [4F] [52] [47] [4D] [43] [54]
[36] [20] [56] [31] [2E] [30] [32] [50] [72] [6F]
[74] [6F] [74] [79] [70] [90] [0]
==> Response APDU (TEXT)= FDEORGMCT6 V1.02Pro
totyp
*** Closing CT 1
::
[0] == OK
Ist das Gerät richtig an der seriellen Schnittstelle erkannt, muss in APW-Linux unter System / Schalter /
KVK/eGK der COM-Port auf "1" gestellt werden, wenn die serielle Schnittstelle über /dev/ttyS0 genutzt
wird (wir halten uns hier ausnahmsweise an die Windows-Zählart). Höhere COM-Ports müssen analog
eingerichtet werden. Der "Cherry-Modus" muss "0" und MKT ebenfalls "0" sein. Die Linux-Einleseart
muss auf "4" gestellt werden. Die KVK/eGK kann nun über Patient / F2 oder F3 eingelesen werden.
Anschluß über eine USB-Schnittstelle
Das Gerät Orga 6041 L™ wird mit dem USB-Kabel am PC angeschlossen. Wenn noch keine Konfigurationen am Lesegerät gemacht wurden, kann die werksseitige Einstellung belassen werden. Ansonsten
muss am Lesegerät die Schnittstelle auf "USB v. COM" eingestellt werden. Eine Einstellung der Parameter
ist nicht erforderlich. Die Datei /usr/local/etc/ctorg.conf sollte mit dem Orga-Treiber-Paket
installiert worden sein. In dieser Datei wird die USB-Schnittstelle mit
device_file_name_for_pn_2=/dev/ttyACM0
als Port 2 definiert.
Nun kann mit dem Programm mctcheck getestet werden, ob die USB-Schnittstelle und das Lesegerät
an der zweiten Schnittstelle erkannt wird.
Orga 6041 L per USB angeschlossen:
praxis@Schlepptop:~$ mctcheck
mctcheck version 1.0.2
1. Checking if /usr/local/etc/ctorg.conf exists:
-------------------------------------------Config file /usr/local/etc/ctorg.conf exists
Use the following device files:
pn=1 => /dev/ttyS0
pn=2 => /dev/ttyACM0
pn=3 => /dev/ttyACM1
pn=4 => /dev/ttyACM2
2. Checking if ports are exists on the system:
-------------------------------------------Port /dev/ttyS0 existing
Port /dev/ttyACM0 existing
3. Checking if the existing ports are locked:
-------------------------------------------Port /dev/ttyS0 is NOT locked
Port /dev/ttyACM0 is NOT locked
48
Die Einrichtung von
Kartenlesegeräten
4. Checking if there is a CT at the existing and not locked ports:
-------------------------------------------------------------+++ Searching at /dev/ttyS0... Can take a few seconds...
CT at port /dev/ttyS0 NOT available
+++ Searching at /dev/ttyACM0... Can take a few seconds...
*** Closing CT 2 :: [0] == OK
CT at port /dev/ttyACM0 available. Speed is: 9600 bps
4. Sending Commands to the existing Card Terminals
------------------------------------------------*** Initializing CT 2 at /dev/ttyACM0 :: [0] == OK
>>>
<<<
==>
==>
==>
Sending RESET_CT to CT 2 :: [0] == OK
Response from Card Terminal:
dad = 2
sad = 1 lenr = 2
Response APDU (HEX) = [90] [0]
Response APDU (TEXT)=
>>>
<<<
==>
==>
Sending GET_STATUS to CT 2 :: [0] == OK
Response from Card Terminal:
dad = 2
sad = 1 lenr = 27
Response APDU (HEX) = [46] [17] [44] [45] [4F] [52] [47] [4D] [43] [54]
[36] [20] [56] [31] [2E] [30] [32] [50] [72] [6F]
[74] [6F] [74] [79] [70] [90] [0]
==> Response APDU (TEXT)= FDEORGMCT6 V1.02Pro
totyp
*** Closing CT 2
::
[0] == OK
In APW-Linux muss unter System / Schalter / KVK/eGK der COM-Port auf "2", Cherry-Modus auf "0",
MKT auf "0" und Linux-Einleseart auf "4" gestellt werden. Die KVK/eGK kann nun über Patient / F3
eingelesen werden.
Je nach Installation kann es sein, dass das Orga-Gerät beim morgendlichen Einschalten des Computers an
der USB-Schnittstelle nicht erkannt wird. Dann hilft, den USB-Stecker kurz auszustöpseln und wieder in
den Computer einzustöpseln.
Die Orga-Bibliothek legt beim Aufruf einen Lock-File unter /var/lock an. In OpenSUSE > 10.2 ist
dieses Verzeichnis in der Ausgangskonfiguration nur noch für root schreibbar. Damit funktioniert das
Auslesen als normaler User nicht mehr. Es müssen Schreibrechte für das Verzeichnis /var/lock für
nomale User eingerichtet werden.
Anschluß über LAN
Das Gerät Orga 6041 L™ wird mit dem Netzwerkkabel an einen Hub oder Switch angeschlossen. Am
Lesegerät muss die Schnittstelle auf LAN und die Parameter ebenfalls auf LAN gestellt werden. Günstig
ist es, zunächst die LAN-Parameter nicht zu verändern, falls es noch kein Gerät 192.168.1.1 in ihrem
Praxisnetz gibt und die Netzwerkmaske 255.255.255.0 ist. Ansonsten sollte zunächst nur die IP-Adresse
des Gerätes umgestellt werden. Nach einem Neustart des Gerätes sollte vom PC aus das Lesegerät mit
ping 192.168.1.1
49
Die Einrichtung von
Kartenlesegeräten
angepingt werden können. Eventuell muss die Firewall Ihres PCs angepaßt werden.
Auf dem PC muss die Datei /usr/local/etc/ctorg.conf angepaßt werden. In der Zeile 44 im
Abschnitt "PORT_TCP1" muss das Doppelkreuz am Anfang der Zeile entfernt werden:
PORT_COM1=PORT_TCP1
# com1 / ttys0 port mapping
Eine Zeile darunter kann die IP-Adresse geändert werden. In der Zeile 108 muss ein Doppelkreuz an den
Anfang der Zeile gesetzt werden:
#device_file_name_for_pn_1=/dev/ttyS0
Damit wird /dev/ttyS0 als virtueller COM-Port 1 angesprochen. Sie testen die Einrichtung wieder mit
mctcheck:
Orga 6041 L über einen Switch im LAN als 192.168.1.1 angeschlossen:
praxis@Schlepptop:~$ mctcheck
mctcheck version 1.0.1
1. Checking what ports are exists on the system:
-------------------------------------------Port /dev/ttyS0 existing
2. Checking if the existing ports are locked:
-------------------------------------------Port /dev/ttyS0 is NOT locked
3. Checking if there is a CT at the existing and not locked ports:
-------------------------------------------------------------+++ Searching at /dev/ttyS0... Can take a few seconds...
*** Closing CT 1 :: [0] == OK
CT at port /dev/ttyS0 available. Speed is: 9600 bps
4. Sending Commands to the existing Card Terminals
------------------------------------------------*** Initializing CT 1 at /dev/ttyS0 :: [0] == OK
>>>
<<<
==>
==>
==>
Sending RESET_CT to CT 1 :: [0] == OK
Response from Card Terminal:
dad = 2
sad = 1 lenr = 2
Response APDU (HEX) = [90] [0]
Response APDU (TEXT)=
>>>
<<<
==>
==>
Sending GET_STATUS to CT 1 :: [0] == OK
Response from Card Terminal:
dad = 2
sad = 1 lenr = 27
Response APDU (HEX) = [46] [17] [44] [45] [4F] [52] [47] [4D] [43] [54]
[36] [20] [56] [30] [2E] [31] [31] [50] [72] [6F]
[74] [6F] [74] [79] [70] [90] [0]
==> Response APDU (TEXT)= FDEORGMCT6 V0.11Pro
totyp
*** Closing CT 1
::
[0] == OK
50
Die Einrichtung von
Kartenlesegeräten
In APW-Linux muss über System / Schalter / KVK/eGK der COM-Port auf "1", Cherry-Modus auf "0",
MKT auf "0", Linux-Einleseart auf "4" gestellt werden. Die KVK/eGK kann nun über Patient / F2 oder
F3 eingelesen werden.
Orga 920/930 M plus eGK und Cherry ST-1530
Das Gerät Orga 920/930 M plus eGK™ bzw. das baugleiche Cherry ST-1530™ wird über die USBSchnittstelle oder über das serielleKit 900.0 DE an der seriellen Schnittstelle angeschlossen und kann je
nach Einstellung als stationäres oder mobiles Lesegerät betrieben werden.
Die Einrichtung des Orga 920/930 M plus eGK / Cherry ST-1530™ an der USB-Schnittstelle entspricht
dem des Orga 6041 . Lediglich im mobilen Betrieb muss beachtet werden, dass vor dem Einlesen der
KVKs/eGKs in APWLIN mit F2 oder F3 am Gerät selbst die Admin-PIN zum Aufschliessen des Gerätes
eingegeben werden muss. Lesen Sie dazu die Gebrauchsanweisung.
Das serielle Kabel des seriellen Kit 900.0 DE muss am seriellen Stecker mit dem Stromkabel verbunden
werden, damit eine ausreichende Spannung für das Auslesen des Orga 920/930 M plus eGK / Cherry
ST-1530™ vorhanden ist. In APWLIN muss der COM-Port auf "1" und die Linux-Einleseart auf "4"
gestellt werden.
Hypercom (ehemals Thales) medCompact
51
Die Einrichtung von
Kartenlesegeräten
Anschluß über die serielle Schnittstelle
Das Gerät Hypercom medCompact™ kann über die serielle und die USB-Schnittstelle KVKs und eGKs
auslesen. Die serielle Schnittstelle kann über mkt.unx und libctapi-mkt ausgelesen werden und wird entsprechend der Anleitung für die libctapi-mkt und das Auslesen über die serielle Schnittstelle eingerichtet.
Am Gerät muss die Kommunikation auf V24 umgestellt werden und es muss auf die Baudrate 9600 eingestellt werden. In APW-Linux müssen unter System / Schalter / KVK/eGK der COM-PORT auf "1" und
die Linux-Einleseart auf "3" gestellt werden.
Um eine höhere Baudrate mit dem medCompact nutzen zu können, muss die Hypercom-Bibliothek installiert werden. Installieren Sie die Bibliothek mit dem START-Programm der APW-CD unter Fremdprogramme -> Hypercom-Treiber. Am medCompact muss die Baudrate auf 115200 umgestellt werden. In
APW-Linux stellen Sie unter System / Schalter / KVK/eGK die Linux-Einleseart auf "6" um. Nun liest
das medCompact KVKs und eGKs über die serielle Schnittstelle aus. Das Einlesezeit insbesondere der
eGKs reduziert sich mit dieser Einleseart um fast die Hälfte.
Anschluß über die USB-Schnittstelle
Um das Gerät Hypercom medCompact™ an der USB-Schnittstelle betreiben zu können, muss am Gerät
die Kommunikation auf "USB" gestellt werden. Von der APW-CD muss die Hypercom-Bibliothek über
START.UNX/START.GTK -> Fremdprogramme -> Hypercom-Treiber installiert werden. Es werden
dabei auch die udev-Rules für das Gerät eingerichtet.
Nun kann das Gerät über APW-Linux mit den Einstellungen COM-Port="5", MKT="0", Linux-Einleseart="6" die KVK und die eGK auslesen.
Hypercom medMobile und SCM eHealth500
Das Hypercom medMobile™ und das SCM eHealth500™ sind baugleich. Sie unterscheiden sich nur
geringfügig durch die Farbe der äußeren Schale. Beide Geräte können nur über die USB-Schnittstelle ausgelesen werden. Vor der ersten Inbetriebnahme muss die Transport-PIN entsprechend der Gebrauchsanweisung durch eine eigene Administrator-PIN ersetzt werden. Danach können KVKs und eGKs mit dem
Gerät eingelesen werden, wobei zu beachten ist, dass zur Zeit keine Meldung am Gerät erfolgt, wenn eine
KVK oder eGK abgelaufen ist. Dies soll mit dem nächsten Firmware-Update geändert werden.
Mit der Installation der Hyc-Treiber von der APW-START-CD unter Fremdprogramme -> Hyc-Treiber
ist der Treiber für beide Geräte in Linux eingerichtet. In APW-Linux wird unter System / Schalter / KVK/
eGK der COM-Port auf "1" und die Linux-Einleseart auf "10" eingestellt.
52
Die Einrichtung von
Kartenlesegeräten
Zum Auslesen der KVKs/eGKs wird das medMobile bzw. das eHealth500 mit dem mitgelieferten Kabel
am USB-Port angeschlossen. Das Display schaltet sich ein. Wird jetzt in APW-Linux mit F2 oder F3 ein
Einlesevorgang eingeleitet, meldet sich das Gerät mit einem Piepton, da zum Auslesen die Administrator-PIN eingegeben werden muss. Gleichzeitig erscheint in APW-Linux zu Meldung "Bitte PIN eingeben". Nach Eingabe der PIN ist das Auslesen für 15 Minuten freigeschaltet und die KVKs/eGK können
fortlaufend ausgelesen werden. Ohne Administrator-PIN ist ein Auslesen der Kartendaten nicht möglich.
Cherry-Tastatur G80-1502
Die Cherry-Tastatur kann die elektronische Gesundheitskarte über den MKT+-Modus auslesen, d.h. die
Cherry-Tastatur muss in diesen Modus umgeschaltet werden - siehe Handbuch - und die Tastatur muss
zusätzlich zum Tastatur-Stöpsel an die serielle Schnittstelle angeschlossen werden. Das Einlesen erfolgt
über die Bibliothek libctapi-mkt, muss aber mit speziellen Einstellungen erfolgen. Daher stellen Sie in
APW-Linux unter System / Schalter / KVK/eGK den COM-Port auf "1" und die Linux-Einleseart auf "7".
Die Cherry-Tastatur G80-1502 wird nicht zu den eHealth-BCS-Geräten gehören, da sie nicht auf die
Zusammenarbeit mit einem Konnektor upgedatet werden kann. Daher wird es für die Cherry-Tastatur
keine Pauschalerstattung durch die Kassenärztliche Vereinigung geben. Sie ist allenfalls als zusätzliches
KVK/eGK-Lesegerät in der Praxis sinnvoll, die mehr als eine KVK/eGK-Einleseeinheit benötigen. Wenn
der Release 1 der eGK-Einführung Wirklichkeit wird, wird die Cherry-Tastatur nicht mehr einsetzbar sein.
Wann dies sein wird, ist zum jetzigen Zeitpunkt (7/2009) nicht absehbar. Das Einlesen der eGK über die
Cherry-Tastatur ist im Vergleich zu anderen Geräten in Linux langsam und kann bis zu 5 Sekunden dauern.
Cherry ST-1503 und Cherry-Tastatur G87-1504
Das Cherry ST-1503 und die Cherry-Tastatur G87-1504 sind eHealth-BCS-Geräte. Sie können die KVK
und die eGK über die USB-Schnittstelle auslesen. Installieren Sie die Bibliothek libctapi-cym über das
START-Programm der APW-CD unter Fremdprogramme -> Cherry-Treiber. Zusätzlich muss, wenn nicht
bereits geschehen, in der Datei /etc/udev/rules.d/95-cardterminal.rules eine zuätzliche
Zeile
ATTRS{idVendor}=="046a", ATTRS{idProduct}=="0080", GROUP="users", MODE="0666"
einfügen. Starten Sie den udev-Daemon mit
/etc/init.d/udev restart
Siehe auch über udev-Regeln weiter unten.
Erst danach stöpseln Sie den USB-Anschluß des Gerätes in den Computer ein.
Rufen Sie jetzt als root auf einer Konsole das Programm /usr/sbin/ctcymconfig auf und weisen
dem Cherry-Gerät einen COM-Port, z.B. "0" zu. In APW-Linux stellen Sie unter System / Schalter / KVK/
eGK den COM-Port auf den zugewiesenen COM-Port, z.B. "0", und die Linux-Einleseart auf "9".
Falls das Gerät beim ersten Versuch noch nicht reagiert, ziehen Sie den USB-Stecker und stöpseln Sie
ihn wieder ein.
Cherry ST-2052
Das Cherry ST-2052 hat eine Zulassung als MKT+-Gerät; d.h. es kann KVKs und eGKs auslesen, ist aber
nicht auf eine spätere Kommunikation mit dem Konnektor updatebar und ist daher kein eHealth-BCS-
53
Die Einrichtung von
Kartenlesegeräten
Gerät. Es wird für dieses Gerät keine Pauschalerstattung der KV geben. Als kleines Zweitgerät ist es
durchaus eine Alternative.
Zusätzlich zur Installation der proprietären Bibliotheken libctapi-st2052 von der APW-CD müssen der
pcscd-Daemon und libpcsclite1 installiert sein. Der pcscd-Daemon muss laufen und beim Einstöpseln des
Gerätes an einer USB-Schnittstelle eine entsprechende Kennungsmeldung herausgeben. Dafür startet man
den Daemon testweise mit pcscd -vf in einer Konsole und verfolgt die Debug-Meldungen.
Zum Testen oder im Netzwerk kann man ./mkt.unx 1 9 in der Konsole eingeben. In APWLIN gibt man
als COM-Port "1" und als Linux-Einleseart "11" an. Das Einlesen einer eGK geht flott; KVKs brauchen
deutlich länger (5-7 Sekunden), da KVKs nicht von pcsc unterstützt werden.
SCM eHealth200 BCS
Das Gerät SCM eHealth200 BCS™ wird zur Zeit nur für den Betrieb an der USB-Schnittstelle ausgeliefert. Auf der APW-Linux-Live-DVD sind die Programme bereits eingerichtet. Bei anderen Installationen
muss von der APW-CD die SCM-Bibliothek und ein Einlese-Daemon über START.UNX/START.GTK
-> Fremdprogramme -> SCM-Treiber installiert werden. Der Einlesedaemon muss dann als root mit
/etc/init.d/eHealth100usbd start
gestartet werden.
Nun kann das Gerät über APW-Linux mit den Einstellungen COM-Port="0", MKT="0", Linux-Einleseart="8" die KVK und die eGK auslesen.
Zemo VML-GK1/GK2
Das Zemo VML-GK1 kann mit der Bibliothek libctapi-mkt ab Version 1.0.3 ausgelesen werden. Installieren Sie diese Bibliothek von der APW-CD unter Fremdprogramm -> libctapi-mkt.
In APW-Linux stellen Sie für das Auslesen über die USB-Schnittstelle COM-Port "6" und Linux-Einleseart "3" ein. Wird das Gerät über das zusätzlich bestellbare serielle Anschlußkabel ausgelesen, muss COMPort auf "8" gestellt werden.
Gemalto GCR 5500-D
Das Gemalto GCR 5500-D kann zum Auslesen über die USB-Schnittstelle mit der Bibliothek libctapi-mkt
ab Version 1.0.3 ausgelesen werden. Installieren Sie diese Bibliothek von der APW-CD unter Fremdprogramme -> libctapi-mkt.
In APW-Linux stellen Sie für das Auslesen über die USB-Schnittstelle COM-Port "6" und Linux-Einleseart "3" ein.
Das Gemalto GCR 5500-D kann auch mit einem Spezialkabel über die serielle Schnittstelle ausgelesen
werden. Dafür muss /dev/ttyS0auf 115200 Baud umgestellt. Geben Sie dafür als root ein:
stty -F /dev/ttyS0 115200 parenb -parodd -cstopb
Dies muss womöglich bei jedem Booten erneut eingerichtet werden, sollte also in einem der Bootskripte
angegeben werden.
In APW-Linux muss für das Auslesen über die serielle Schnittstelle COM-Port "4" und Linux-Einleseart
"3" eingestellt werden.
54
Die Einrichtung von
Kartenlesegeräten
German Telematics GT 900 eHealth-BCS und
GT 90
Das GT900 eHealth-BCS und das mobile GT 90 kann zum Auslesen über die USB-Schnittstelle mit der
Bibliothek libctapi-mkt ab Version 1.0.3 ausgelesen werden. Installieren Sie diese Bibliothek von der
APW-DVD unter Fremdprogramme -> libctapi-mkt.
In APW-Linux stellen Sie für das Auslesen über die USB-Schnittstelle COM-Port "6" und Linux-Einleseart "3" ein.
Kobil KAAN Advanced
Das Kobil KAAN Advanced kann zur Zeit unter Linux noch keine KVKs auslesen, da dieser Kartentyp
von pcsc nicht unterstützt wird. Es muss pcscd und libpcsclite1 installiert sein. Die libct kann von der
Kobil-Webseite heruntergeladen werden und mit ./mkt.unx 1 10 können eGKs ausgelesen werden. Kobil
ist scheinbar zur Zeit nicht in der Lage, einen Treiber, der auch KVKs auslesen kann, zu liefern. Das Gerät
kann daher in APWLIN noch nicht angesprochen werden.
ECO 5044
Das ECO 5044 ist ein kleines Kartenlesegerät, das allerdings weder eine Zulassung der KBV noch eine
Zulassung der gematik hat und daher in der Kassenpraxis nicht eingesetzt werden darf. Es könnte allenfalls
für eine reine Privatpraxis benutzt werden.
Neben dem pcscd-Daemon muss libpcsclite1 installiert sein. Dazu müssen die Pakete
ifdokccid_lnx-3.5.1.tar.gz und ctdeuti_lnx-5.1.0.tar.gz von der Webseite http://www.sagem-monetel.de/
de/treiber-und-testsoftware-download.html heruntergeladen und installiert werden. KVKs und eGKs lassen sich dann mit ./mkt.unx 1 11 auslesen.
udev-Regeln für Kartenlesegeräte
Falls der Zugriff auf Kartenlesegeräte an der USB-Schnittstelle nur als root, aber nicht als normaler User funktioniert, müssen die udev-Regeln angepaßt werden. Legen Sie eine Datei /etc/udev/
rules.d/95-cardterminal.rules an mit folgendem Inhalt:
# Only valid for USB devices
SUBSYSTEM=="usb", GOTO="setup_cardterm"
GOTO="end_cardterm"
LABEL="setup_cardterm"
# Check for known medLine IDs and set permissions
# Append additional IDs below next line
ATTRS{idVendor}=="142a", ATTRS{idProduct}=="0043",
ATTRS{idVendor}=="142a", ATTRS{idProduct}=="0005",
ATTRS{idVendor}=="142a", ATTRS{idProduct}=="0003",
ATTRS{idVendor}=="152a", ATTRS{idProduct}=="8180",
ATTRS{idVendor}=="046a", ATTRS{idProduct}=="003e",
ATTRS{idVendor}=="046a", ATTRS{idProduct}=="0080",
ATTRS{idVendor}=="1513", ATTRS{idProduct}=="0444",
55
GROUP="users",
GROUP="users",
GROUP="users",
GROUP="users",
GROUP="users",
GROUP="users",
GROUP="users",
MODE="0666"
MODE="0666"
MODE="0666"
MODE="0666"
MODE="0666"
MODE="0666"
MODE="0666"
Die Einrichtung von
Kartenlesegeräten
ATTRS{idVendor}=="0d46", ATTRS{idProduct}=="3002", GROUP="users", MODE="0666"
# Leaving the file
LABEL="end_cardterm"
Starten Sie udev mit /etc/init.d/udev restart neu. Dann sollte auch das Einlesen als normaler User funktionieren. Eventuell müssen hier weitere IDs eingefügt werden. Sie können die IDs mit lsusb ermitteln.
Nach einem System-Upgrade oder einem Firmware-Upgrade des Kartenlesegerätes können sich die IDs
ändern und müssen wie oben beschrieben neu eingetragen werden.
56
Kapitel 7. Druckereinrichtung
Folgende Webseiten sollen als Einführung in CUPS, das Common Unix Printing System, dienen:
• Wikepedia-Webseite zu CUPS [http://de.wikipedia.org/wiki/CUPS]
• CUPS - Grundlagen, Prinzipien [http://www.tu-chemnitz.de/urz/kurse/unterlagen/cupsintro.html]
Drucken mit CUPS im Rohdatenmodus
Im Rohdatenmodus werden die Druckformatierungen von APW-Linux übergeben, sodass keine weitere
Formatierungen erforderlich sind. Dies ist die schnellste Art des Ausdrucks und hat sich in der Praxis
zum Formularausdruck mit 24-Nadeldruckern, die für die diversen Durchdruckformulare erforderlich sind,
bewährt. Dafür müssen die Escape-Sequenzen des Druckers zur Drucksteuerung bekannt sein. Unter System / Einstellungen / Drucker / Fremd in APW-Linux finden Sie einige Drucker, deren Escape-Sequenzen
zur Druckersteuerung bereits vorkonfiguriert sind.
57
Druckereinrichtung
Die Escape-Sequenzen weiterer Drucker können über die Mailingliste erfragt werden. Andere Drucker,
bei denen Escape-Sequenzen z.B. im Handbuch genannt werden, können ebenso eingerichtet werden.
Es muss zunächst der Drucker-Server CUPS laufen, d.h. falls CUPS nicht läuft, startet man als root mit
/etc/init.d/cups start den CUPS-Daemon.
Nun ruft man über einen Internet-Browser, z.B. den Iceweasel=Firefox die CUPS-Konfigurations-Webseite http://localhost:631/ auf. Auf der Startseite klicken Sie "Drucker und Klassen hinzufügen".
58
Druckereinrichtung
Zunächst sollten die Servereinstellungen geändert werden. "Zeige freigegebene Drucker von anderen Systemen" ist ja bereits angewählt. Setzen Sie zusätzlich das Häckchen vor "Freigeben von Druckern, die mit
diesem System verbunden sind." und vor "Erbaube Benutzern jeden Auftrag abzubrechen". Klicken Sie
nun auf "Einstellungen ändern". Sie werden nach Ihrer Authentifizierung gefragt: geben Sie hier "root"
und das root-Passwort ein. Anschließend wird der Server neu gestartet.
Legen Sie nun mit Klick auf "Drucker hinzufügen" einen neuen Drucker an.
59
Druckereinrichtung
Es dauert eine Weile, bis CUPS die nächste Webseite anzeigt, da zunächst alle Druckeranschlussarten
geprüft werden. Hat der Rechner, an dem der Oki Flachbettdrucker eine parallele Schnittstelle, wird Ihnen
als lokaler Drucker u.a. LPT #1 angeboten, was Sie auswählen sollten. Klicken Sie auf "Weiter".
Als Name setzen wir z.B. "raw" ein; die nächsten Felder können nach Belieben ausgefüllt werden. Als
Verbindung wird "parallel:/dev/lp0" angezeigt. Falls auf diesem Drucker auch über das Netzwerk ausgedruckt werden soll, wählen Sie "diesen Drucker freigeben" an. Klicken Sie auf "Weiter".
60
Druckereinrichtung
Hier sollen Sie eine PPD-Datei für den Drucker auswählen; es soll allerdings ein Rohdatenausdruck durchgeführt werden. Also klicken Sie auf "Andere Marke/Hersteller auswählen".
61
Druckereinrichtung
In der Liste der Druckermarken finden Sie auch die Bezeichnung "Raw". Wählen Sie "Raw" an und klicken
Sie auf weiter.
Als Modell wird lediglich "Raw Queue (en)" angeboten. Wählen Sie diese Queue aus und klicken Sie auf
"Drucker hinzufügen".
62
Druckereinrichtung
Bestätigen Sie die Standardeinstellungen
63
Druckereinrichtung
Die Konfiguration eines Rohdatendruckers an der parallelen Schnittstelle ist gelungen.
64
Druckereinrichtung
Wenn Sie auf "raw" klicken, finden Sie alle Einstellungen aufgelistet. Unter "Wartung" finden Sie Möglichkeit einen eventuell gestoppten Drucker wieder zu starten oder einen Druckauftrag zu löschen, z.B.
hilfreich, wenn versehentlich eine PostScript-Datei auf den Rohdatendrucker geschickt wurde.
Ein Testausdruck auf den Rohdatendrucker ist nicht sinnvoll, da eine Postscript-Datei auf den Drucker
geschickt würde. Sie testen den Rohdatenausdruck, indem eine kurze Textdatei auf den Drucker "raw" auf
der Kommandozeile schicken:
lpr -P raw <Datei.txt>
Sollte hier der Ausdruck nicht funktionieren, muss kontrolliert werden, ob der Ausdruck über die parallele
Schnittstelle funktioniert mit:
cat <Datei.txt> > /dev/lp0
Eventuell müssen die Rechte an /dev/lp0 geändert werden.
In APW-Linux wird der Drucker wie in APW-DOS über System / Einstellungen / Drucker ausgewählt.
Beispielhaft gehe ich die Einrichtung des OKI 390 Flachbettdruckers durch, der sich bei uns in der Praxis
für den Formulardruck an der Anmeldung bewährt hat. Hierzu muss ein neuer Drucker unter System / Einstellungen / Drucker / Eigen mit "Einfügen" angelegt werden. Die Frage "Wirklich Drucker neu anlegen?"
bestätigt man mit "j". Im folgenden Bildschirm wird der Punkt "Allgemein" angewählt. Der Druckername wurde mit "NEU" belegt und sollte jetzt geändert werden, z.B. Okiraw. Die im Drucker- Handbuch
genannten Escape-Sequenzen (Beginn der Befehlsfolge mit 27=Escape) setzt man in die verschiedenen
Druck-Parameter ein, für den Oki 390 Flachbettdrucker folgendermaßen:
65
Druckereinrichtung
Nach einem Return zur Bestätigung wählt man im Folgebildschirm nun "CUPS".
Es werden unter CUPS1 bis CUPSx (bis zu 99) die in CUPS eingerichteten Drucker, also auch ein Drucker "raw", angezeigt. Um hier eine möglichst vollständige Liste zu erhalten, sollten vor dem Aufrufen
von CUPS in APW alle Drucker im Netzwerk in CUPS eingerichtet und erreichbar sein. Nur dann kann
eine sinnvolle Zuordnung der Drucker/Escape-Sequenzen/PostScript-Vorgaben zu den CUPS-Druckern
erreicht werden. Auf jeder Client-Installation auf dem Server muss dieser Aufruf wiederholt werden, damit
die Drucker die entsprechende Zuordnung erhalten. Achtung: eine Änderung der CUPS-Drucker in APW
sollten nur aus gutem Grund durchgeführt werden, da die CUPS-Nr. = Port-Nr. sich dadurch ändern kann
und damit alle Formulare womöglich erneut zugeordnet werden müssen.
Unter System / Einstellungen / Formulare müssen nun die einzelnen Formulare angepaßt werden. z.B. bei
der Konfiguration des Kassenrezeptes wählt man als Drucker den Okiraw aus. Jetzt muss für das Formular
der CUPS-Drucker (CUPS1 bis CUPSx) ausgewählt werden. Für den Ausdruck des Kassenrezeptes auf
dem Okiraw-Drucker über den Rohdatenmodus wählen wir den CUPS-Drucker "raw" an.
66
Druckereinrichtung
Im folgenden Fenster sollte für das aktuelle Kassenrezept "Format" mit "7" angegeben werden. Unter
"Voreinstellung" habe ich die Escape-Sequenz "27,74,25" eingegeben, da sonst der Ausdruck zu hoch
anfängt. Den Praxisstempel lasse ich direkt auf das Formular drucken, also "Praxisstempel" "1". Papierdesensor kann auf "f" gestellt werden. Damit wäre das Kassenrezept richtig eingerichtet. Der Ausdruck
muss an einem Beispielpatienten kontrolliert werden.
Ausdruck über Rohdatendrucker mit CUPS
funktioniert nicht
Nach einem Debian-Update war kein Ausdruck über CUPS mit Drucker "raw" (Rohdatendrucker) möglich. Es wurden offensichtlich die Rechte von /dev/lp0 geändert:
ls -al /dev/lp0
c--------- 1 root lp 6, 0 2005-11-08 19:39 /dev/lp0
Damit ist natürlich kein Ausdruck auf die parallele Schnittstelle möglich. Ändern Sie als root:
chmod 660 /dev/lp0
Nun ist der Ausdruck für alle Mitglieder der Gruppe lp, zu der der User praxis gehören sollte, möglich:
67
Druckereinrichtung
ls -al /dev/lp0
crw-rw---- 1 root lp 6, 0 2005-11-08 19:39 /dev/lp0
Ausdruck über Rohdatendrucker ergibt verstümmelten Ausdruck
Wenn der Rohdatenausdruck trotz der Angabe der richtigen Escape-Sequenzen in APW entweder Sonderzeichen oder falsch formatierte Zeilen ergibt, ist die parallele Schnittstelle falsch konfiguriert. Die Konfiguration der parallelen Schnittstelle muss im BIOS umgestellt werden. Wenn es dort mehrere Optionen
gibt, ist meist die Option mit der niedrigsten Versionsnummer richtig. Falls es dann immer noch nicht
funktioniert, müssen sämtliche Optionen durchprobiert werden.
Ausdruck über Rohdatendrucker an USB-Parallel-Adapter
Neue Computer oder Laptops haben häufig keinen parallelen Anschluss mehr. Mit einem USB-Parallel-Adapter kann ein 24-Nadel-Drucker angeschlossen werden. Es sollte dann in Debian das Paket halcups-utils installiert werden. Damit wird der angeschlossene Drucker automatisch erkannt. Mit dem Befehl
lpinfo -v werden alle möglichen Drucker angezeigt:
root@Anmeldung:~$ lpinfo -v
direct scsi
direct hal:///org/freedesktop/Hal/devices/usb_device_67b_2305_noserial_if0_printer_
network socket
network ipp
network http
network smb
direct hp
direct usb://Unknown/
network beh
network lpd
direct hpfax
auch der 24-Nadel-Drucker am USB-Parallel-Adapter als "hal:///org/freedesktop/Hal/devices/
usb_device_67b_2305_noserial_if0_printer_noserial". Diese Schnittstelle muss bei der Einrichtung über
die CUPS-Administrationswebseite http://localhost:631 eingegeben werden.
Auf Laptops, die in verschiedenen Netzwerken angeschlossen werden, können die Einstellungen für den
Rohdatendrucker verloren gehen. Um nicht den Rohdatendrucker jedes Mal neu konfigurieren zu müssen,
bietet sich die automatische Konfiguration beim Booten über lpadmin an. Der Befehl zur Einrichtung
eines Rohdatendruckers "raw" an dem o.g. USB-Parallel-Adapter ist (als root)z.B.:
lpadmin -p raw -E -v "hal:///org/freedesktop/Hal/devices/usb_device_67b_2305_noseri
Dieser Befehl könnte z.B. als Boot-Skript angelegt werden, um sicherzustellen, dass die entspechende
Druckerqueue angelegt wird.
68
Druckereinrichtung
Drucken über PostScript mit CUPS
Für Drucker, die nicht mehr über Escape-Sequenzen angesteuert werden können, d.h. im wesentlichen
alle modernen Laser- oder Tintenstrahldrucker, kann der Formularausdruck über PostScript eingerichtet
werden. Ein Ausdruck über PostScript kann länger dauern als ein Ausdruck über einen Rohdatendrucker.
Anlegen eines Druckers für PostScript in CUPS
In den aktuellen Linux-Distributionen sind Treiber für die meisten Drucker enthalten. Wer sich noch einen
neuen Drucker zulegen möchte, sollte darauf achten, einen PostScript-Drucker zu kaufen, da diese Drucker
ohne eine Umwandlung des Ausdruck in CUPS auskommen. Ist kein Treiber für den entsprechenden Drucker zu finden, lohnt ein Blick auf die Webseite www.linuxprinting.org [http://www.linuxprinting.org].
Hier finden Sie Einrichtungsanleitungen und empfohlene Treiber sowie Bewertungen, wie gut die Unterstützung in Linux ist. Nachdem CUPS von Apple übernommen wurde, bemühen sich die meisten Druckerhersteller um eine Unterstützung Ihrer Drucker in CUPS und damit auch in Linux/Unix. Häufig gibt
es inzwischen sowohl freie Treiber als auch Treiber vom Hersteller. Meist läuft es darauf hinaus, dass man
die Treiber der Reihe nach ausprobieren muss.
Die von manchen Herstellern zur Verfügung gestellten Treiber passen manchmal nicht zur jeweiligen
Distribution. Die besten Erfahrungen habe ich gemacht, wenn ich nur die PPD-Datei des Druckers nach /
usr/share/cups/model kopiert habe und diese Datei bei der Konfiguration in CUPS übernommen
habe. Da die PPD-Datei eine PostScript-Datei ist, kann man kleinere Änderungen mit einem Editor selbst
vornehmen. Z.B. habe ich bei einem Brother HL-5350DN2LT einen weiteren Tray eingetragen, der sonst
nicht ansteuerbar gewesen wäre.
Als Beispiel soll ein Oki B4300 konfiguriert werden, der über einen Druckserver im Netzwerk mit der
IP-Adresse 192.168.20.80 angeschlossen ist. Der Oki B4300 soll im "Tray 2" das rosa DIN A4-Blankoformulardruckpapier enthalten, im "Tray 1" das rosa DIN A5-Blankoformulardruckpapier. Das DIN A5Papier wird mittig im "Tray 1" angelegt und mit der kurzen Seite eingezogen, d.h. als DIN A5 lang.
69
Druckereinrichtung
Als Schnittstelle für den Druckserver wählen wir Anderer Netzwerkdrucker -> Internet-Druckerprotokoll
(ipp) -> Weiter.
Die Schnittstelle wird konkretisiert: ipp://192.168.20.80/ipp/9100 -> Weiter.
Der Druckserver muss mit ping 192.168.20.80 erreichbar sein. Falls Sie nicht sicher sind, ob der Druckserver der IPP-Protokoll unterstützt, können Sie mit dem Programm nmap prüfen, welche Ports des Druckservers ansprechbar sind:
nmap -sA 192.168.20.80
sollte eine Zeile mit
PORT
STATE
SERVICE
70
Druckereinrichtung
631/tcp unfiltered ipp
enthalten.
Geben Sie der Druckerqueue einen Namen, bei dem Sie hinterher erkennen können, was damit ausgedruckt werden soll. Die weiteren Felder können Sie beliebig ausfüllen. Einen Netzwerkdrucker sollten Sie
nicht freigeben, da dieser Drucker auf jedem Rechner eingerichtet werden sollte. Andernfalls würde ein
Client-Rechner einen Ausdruck erst an den Server weiterreichen und der Server müsste es an den Netzwerkdrucker übergeben, anstatt der Client-Rechner es direkt an den Netzwerkdrucker schickt.
Der Treiber für den Oki B4300 ist in der CUPS-Treiberdatenbank zu finden. Daher wird hier Oki als
Marke angewählt. Falls Sie eine PPD-Datei direkt angeben wollen, geben Sie die Adresse der Datei in
der unteren Zeile ein.
71
Druckereinrichtung
Für den Oki B4300 ohne PostScript-Modul ist der beste Treiber der plxmono, wie hier angewählt.-> Weiter
Um den Drucker endgültig hinzuzufügen, müssen Sie sich als root mit dem root-Passwort authentifizieren.
72
Druckereinrichtung
Bei den Standardeinstellungen stellen wir für den DIN A4-Ausdruck den "Tray 2". Damit ist die Konfiguration in CUPS für den Tray 2 beendet. Am Drucker muss als Standardformat für den 2. Tray DIN A4
eingestellt werden.
Ein Testausdruck aus CUPS muss den richtigen Tray in der richtigen Grösse ausdrucken.
Richten Sie anschließend einen nahezu identischen Drucker B4300A5 für DIN A5-Papier mit dem Tray
1 ein. Auch hier muss am Drucker die Papiergrösse für den 1. Tray festgelegt werden. Ein Testausdruck
muss das DIN 5-Papier aus dem 1. Tray richtig ausdrucken.
73
Druckereinrichtung
Konfiguration in APW-Linux
Legen Sie unter System / Einstellungen / Drucker für jeden Drucker in CUPS einen neuen Drucker in
APW mit der Einfüge-Taste an. Unter "Allgemein" geben Sie der Einfachheit halber in APW den gleichen
Namen wie unter CUPS an. Weitere Eingaben für die Druckformatierung sind hier nicht erforderlich bzw.
sollten gelöscht werden. Druckeranschlussprüfung und Windows-Drucker sollte auf "F" (false) gestellt
werden.
Unter System / Einstellungen / Drucker / Eigen / <Druckername> / CUPS werden nun die in CUPS angelegten Drucker ausgelesen und für APW-Linux sichtbar gemacht. Bei einer Änderung der angelegten
CUPS-Drucker muss in APW-Linux der CUPS-Bildschirm erneut aufgerufen werden, um die Drucker für
APW-Linux sichtbar zu machen. Achten Sie darauf, dass zur Konfiguration der CUPS-Drucker alle Drucker im Netzwerk erreichbar sind. Wenn nicht alle Drucker aufgeführt werden, beenden Sie die Abfrage
"CUPS-Einstellungen übernehmen" mit "N" und überprüfen Sie die Konfiguration in CUPS. Erst wenn
alle Drucker, die APW bedienen soll, aufgeführt werden, sollten Sie die Frage mit "J" beantworten.
Nun müssen die Formulare dem entsprechenden Drucker zugeordnet werden.
Grundsätzlich gilt für alle Standardformulare:
• Format 20: alle Blankoformulare; Briefe und Listen, wenn ein EPS-Datei als Formular oder Bild hinterlegt worden ist.
• Format 21: PostScript-Ausdrucke (reine Schrift) auf weissem Papier oder direkt auf Formulare.
Da es keine Vorschrift gibt, wie Privatrezepte auszusehen haben, können Sie Privatrezepte in APW mit
folgenden Formaten ausdrucken:
• Format 20: Privatrezept wie Kassenrezept mit vollständigem Ausdruck sämtlicher Angaben. Der Ausdruck kann z.B. auf weissem oder hellblauem DIN A6-Papier erfolgen.
• Format 21: für Ausdruck auf DIN A6-lang (altes) Privatrezept-Formular.
74
Druckereinrichtung
• Format 22: für Ausdruck auf DIN A6-breit Privatrezept-Formular ähnlich wie Kurzbrief.
• Format 23: für Ausdruck auf DIN A6-breit Privatrezept-Formular, Stempel oben rechts.
75
Druckereinrichtung
• Format 23: für Ausdruck auf DIN A6-breit PKV-Formular, Stempel unten rechts.
Wenn Sie z.B. die DIN A4-Briefe aus der APW-Textverarbeitung über PostScript mit einem Laserdrucker
ausdrucken möchten, wählen Sie unter System / Einstellungen / Formulare / Standard "Y A4-Briefe" an.
Wählen Sie nun den vorher angelegten Drucker, in unserem Beispiel "B4300A4" aus, ordnen Sie diesem
Drucker den CUPS-Drucker "B4300A4" zu. Im nächsten Fenster geben Sie als Format "21" ein.
76
Druckereinrichtung
Mit der Eingabe von "21" als Format und Bestätigung mit "Return" erscheint die Konfiguration für den
PostScript-Ausdruck.
Sie können im Feld "linker Rand" mit einer positiven Zahl den Ausdruck um 1/72 Zoll nach rechts verschieben, mit einer negativen Zahl den Ausdruck nach links verschieben. Unter "oberer Rand" kann der
Ausdruck mit einer positiven Zahl nach oben, mit einer negativen Zahl nach unten verschoben werden.
Für den Ausdruck der DIN A4-Briefe ist bereits das "DIN A4-Format" mit "T" gesetzt. Sie können eine
maximale Zeilenzahl pro Seite angeben. Es wird auf jeden Fall ein Seitenumbruch 2 cm vom unteren
Blattrand eingeleitet. Mit dem Parameter "PDF in Kartei" können Sie bestimmen, ob die ausgedruckte
PostScript-Datei als PDF-Datei in der Kartei des Patienten gespeichert wird: 0 = keine Speicherung, 1=
Speicherung auf Nachfrage, 2= Speicherung ohne Nachfrage. Falls Sie einen Duplex-fähigen Drucker
haben, können Sie mit Duplex = T (true) einstellen, dass der Ausdruck als Duplex ausgedruckt werden
soll. Sie sollten mit "Reihenfolge" festlegen, wie die Seiten über den Duplexmodus ausgedruckt werden
soll. Leider ist das bei den Duplexdruckern unterschiedlich.
• Reihenfolge 0: Ausdruck der 1. Seite, Umbruch an der kurzen Seite, anschließend Ausdruck der 2. Seite.
• Reihenfolge 1: Ausdruck der 2. Seite, Umbruch an der kurzen Seite, anschließend Ausdruck der 1. Seite.
• Reihenfolge 3: Ausdruck der 1. Seite, Umbruch an der langen Seite, anschließend Ausdruck der 2. Seite.
• Reihenfolge 4: Ausdruck der 2. Seite, Umbruch an der langen Seite, anschließend Ausdruck der 1. Seite.
Prüfen Sie, welche Konfiguration für Ihren Drucker bzw. für das Formular bzw. den Ausdruck richtig ist.
Mit diesen Einstellungen können Sie einen Text aus der APW-Textverarbeitung über Patient / Kartei /
Texte -> return über F3 ausdrucken.
Der PostScript-Ausdruck kann auch bei den Rechnungen und den A4/A5-Listen ausgeführt werden. Mit
Format "21" können die Standardformulare als PostScript-Ausdruck auf die Formulare gedruckt werden,
z.B. können Transportscheine und Kassenrezepte mit einem Laserdrucker bedruckt werden. Die Durchdruckformulare (z.B. Einweisung oder Arbeitsunfähigkeit) müssen mit einem 24-Nadeldrucker bedruckt
werden, können aber ebenfalls über PostScript angesteuert werden.
Briefe und Rechnungen mit Logo
Briefe aus der APW-Textverarbeitung und die Rechnungen können mit einer (auch farbigen) Logo-EPSDatei ausgedruckt werden. In der Anleitung unter System / Texte / Postscript finden Sie ein Beispiel. Unter
System / Einstellungen / Formulare / Standard muss für die Briefe und die Rechnung statt Format "21"
77
Druckereinrichtung
Format "20" eingegeben werden und es muss das Logo als EPS-Datei mit dem Namen "vorlage.eps" im
Unterverzeichnis /bfb vorhanden sein.
Die Datei "vorlage.eps" können Sie in OpenOffice als DIN A4-Blatt erstellen und als PDF-Datei abspeichern. Mit pdftops -eps <PDF-Datei> wird die Datei in eine EPS-Datei (encapsulated PostScript) umgewandelt. Diese Datei benennt man in "vorlage.eps" um.
Die so generierte EPS-Datei ist eine Textdatei, die Postscript-Code enthält und mit einem Editor bearbeitet
werden kann. So wie sie jetzt ist, führt Sie beim Einbinden in APW-Linux zu einem eigenen Blatt, während der Text auf der nächsten Seite erscheint, oder zu einem fehlerhaften Ausdruck. Sie müssen daher,
um die EPS-Datei mit APW einbinden zu können, eine eventuell vorhandene Zeile "%%Pages: 1" am
Anfang der Datei und den Befehl "showpage" am Ende der Datei löschen. Kopieren Sie diese Datei in
das Unterverzeichnis /bfb des APW-Verzeichnisses. Nun müsste das Einbinden der Logo-Datei zum
Ausdruck von Briefen aus der APW-Textverarbeitung und der Rechnungen funktionieren. Fragen dazu
bitte über die Mailingliste stellen.
Blankoformulardruck in APW-LInux
Alle von der KV zur Verfügung gestellten Blankoformulare und viele BG-, DRV- und die HZV-Formulare können in APW ausgedruckt werden. Folgende Formulare werden über die Standardformulare konfiguriert:
• Ausdruck der BG-lichen Unfallmeldung F1050. Ein Tintenstrahldrucker kann verwendet werden.
• Blankoformulardruck folgender Formulare, ein Laserdrucker ist für den Barcodedruck erforderlich:
• Arbeitsunfähigkeitsbescheinigung
• Verordnung von Krankenhausbehandlung (Einweisung)
• Verordnung einer Krankenbeförderung (Transportschein)
• Überweisungs-/Abrechnungsschein
• Labor-Überweisungs-/Abrechnungsschein
• Labor-Anforderungsschein
• Verordnung häuslicher Krankenpflege (Hauspflegeschein)
• Maßnahmen der physikalischen Therapie
• Maßnahmen der Stimm-/ Sprech- und Sprachtherapie
• Maßnahmen der Ergotherapie
• Notfall-/Vertretungsschein
• Praxisgebührbescheinigung
• Praxisgebührbescheinigung (Notfall)
Alle anderen Blankoformulare werden über die Generatorformulare konfiguriert.
Wenn Sie den Blankoformulardruck nutzen wollen, müssen Sie dies mit Angabe des Programms bei Ihrer
KV beantragen. Der Blankoformulardruck der KV-Formulare darf wegen des zusätzlichen Barcodes nur
mit einem Laserdrucker ausgeführt werden. Sie erhalten das für den Blankoformulardruck vorgesehene
78
Druckereinrichtung
Sicherheitspapier in DIN A4- und DIN A5-Format kostenlos bei der KV. Die Kassen- oder Privatrezepte
müssen nach wie vor auf die üblichen Formulare ausgedruckt werden; in APW-Linux werden sie über
das PostScript-Format ausgedruckt. Die Sicherheitspapiere der KV dürfen nicht für andere Ausdrucke
verwendet werden. Je nach Formular müssen unterschiedlich viele Seiten gedruckt werden, da sowohl
die Vorder- als auch die Rückseiten und die Durchdruckkopien der Formulare dem Patienten mitgegeben werden müssen, d.h. dass z.B. beim Hauspflegeschein 6-7 Seiten (falls eine Kopie zum Verbleib in
der Praxis gewünscht wird) ausgedruckt werden müssen. Der Ausdruck des Blankoformulardrucks muss
zusätzlich einen Barcode tragen, der die Daten des Formulars für einen Barcode-Leser zur Verfügung
stellt. Bei mehrseitigen Formularen muss der Arzt jedes Formular einzeln unterschreiben, d.h. z.B. beim
Hauspflegeschein drei Unterschriften statt einer Unterschrift beim konventionellen Formular, bei der AU
zwei Unterschriften statt einer Unterschrift usw.
Ob sich der Aufwand (Mehrschacht-Laserdrucker) für die Praxis lohnt, muss jeder selbst entscheiden. Es
ist auf jeden Fall bequem, wenn man die nicht so häufig eingesetzten Formulare über Blankoformulardruck
macht, da man nicht mehr nach den Formularen suchen muss. Darüberhinaus gibt es in den Blanko-Generatorformularen z.B. den Krankengeld-Auszahlungsschein, den man damit immer gleich ausdrucken kann.
Die Daten bleiben damit in APW gespeichert und können bei Bedarf wieder aufgerufen werden. Außerdem müssen nicht die immer unterschiedlichen Kassenformulare von Hand ausgefüllt werden.
Legen Sie, wie oben bereits beschrieben, in CUPS zwei Drucker an: einen für den Ausdruck von DIN
A4 Papier z.B. mit Namen "B4300A4" (beim Oki B4300 Laserdrucker kann dazu das untere Fach der
Zusatzkassette (large capacity tray) mit dem DIN A4 Sicherheitspapier der KV genutzt werden), einen
Drucker für DIN A5 Papier mit Namen "B4300A5" (beim Oki B4300 Laserdrucker z.B. das obere Fach
der Zusatzkassette, das auf DIN A5 verkleinert werden muss. Der Einzug des Papiers erfolgt dann an der
schmalen Seite von DIN A5, die Einstellung entspricht damit DIN A5 lang,
Die Formulardateien befinden sich im Unterverzeichnis /bfb des APW-Verzeichnisses. Falls das Verzeichnis bei der Erstinstallation nicht automatisch mitinstalliert wurde, kann es von der Installations-CD
über Komponenten / Zusatz / BFB nachinstalliert werden.
Für das weitere Vorgehen sollten Sie den Abschnitt über den PostScript-Ausdruck gelesen haben. Statt
Format "21" für den PostScript-Ausdruck geben Sie bei der Formulareinstellung Format "20" für den
Blankoformulardruck an. Beim Ausdruck ist zu beachten, dass auf dem ausgedruckten Formular alle Justierungsecken sichtbar sind. Hierzu kann der Ausdruck mit "linker Rand" und "oberer Rand" verschoben
werden (negative Werte sind möglich). Falls trotzdem die Justierungsecken nicht vollständig ausgedruckt
werden, kann der Ausdruck durch horizontale und vertikale Skalierung in Prozentschritten bis maximal
5% verkleinert werden. Der Ausdruck muss gut lesbar sein, d.h. der Drucker kann in der Regel nicht im
Toner-Sparmodus betrieben werden.
Manche Laserdrucker können die DIN A5 quer-Ausdrucke selbst drehen. Ansonsten muss das entsprechende Format in APW konfiguriert werden, d.h. beim Überweisungsschein statt DIN A5 quer -> DIN
A5 lang ausgewählt werden, damit es richtig auf dem Laserdrucker ankommt. Sie müssen dann für das
Verschieben die Drehung mit einbeziehen, d.h. wenn das Überweisungsformular zu weit links gedruckt
wird, muss der obere Rand verschoben werden.
Beispielhaft soll die Einrichtung des Oki B4300 Laserdrucker mit Zusatzkassette für die Überweisung
im Blankoformulardruck durchgespielt werden. Zunächst wird in CUPS ein Drucker B4300A5, wie oben
beschrieben, eingerichtet.
Legen Sie nun DIN A5-Papier in die obere Kassette ein. Am Drucker müssen Sie im Papier-Menü die
Kassette 1 auf DIN A5 einstellen. Prüfen Sie mit einem Testausdruck die richtige Einstellung. Beim Oki
B4300 liegt das DIN A5-Papier mit der schmalen Seite zum Einzug.
In APW-Linux haben Sie bereits den Drucker B4300A5 angelegt. Sämtliche Druckerformatierungen für
den Drucker unter System / Einstellungen / Drucker / Eigen / B4300A5 / Allgemein wurden gelöscht.
79
Druckereinrichtung
Unter System / Einstellungen / Drucker / Eigen / B4300A5 / CUPS muss jetzt der neuangelegte CUPSDrucker B4300A5 erscheinen.
Nun wechseln Sie nach System / Einstellungen / Formulare / Standard / Überweisung und wählen als
Drucker "B4300A5" aus. Als CUPS-Drucker wird B4300A5 ausgewählt. Der nächste Bildschirm sollte
folgendermaßen ausgefüllt werden:
Testen Sie nun den Ausdruck eventuell, indem Sie im Testmodus Strg-k auch den Druckbefehl kontrollieren.
Wenn die Druckdatei existiert, wenn sie angezeigt wird und alle Anteile vorhanden sind, der Drucker die
Seite aber nicht ausdrucken will, liegt häufig ein Papierformatfehler am Drucker vor. Überprüfen Sie dann
nochmal die Einstellungen sowohl in APW-Linux, als auch in CUPS und am Drucker. Die Druckdatei
zeigt nach einem Ausdruck der mehrseitigen Formulare nur die letzte Seite an.
Generatorformulare
Unter System / Einstellungen / Formulare / Generator / Fremd finden Sie mehr als 200 Formulare, die Sie
in APW nutzen können. über System / Einstellungen / Formulare / Generator / Übernahme können Sie
80
Druckereinrichtung
die Formulare, die Sie nutzen wollen, in die eigene Generatorformulardatenbank übernehmen. Formulare mit "BFB" sind KV-zugelassene Blankoformulare. Unter System / Einstellungen / Formulare / Menü
können Sie das Formular-Menü in der Patientenkartei nach Ihren Bedürfnissen konfigurieren und dort
die Generatorformulare aus der eigenen Generatorformulardatenbank mit F6 übernehmen und so in der
Patientenkartei zur Verfügung stellen.
Die Formulare unter System / Einstellungen / Formulare / Generator / Eigen können Sie an Ihre eigenen
Bedürfnisse anpassen, während die Fremd-Generatorformulardatenbank bei einem Update mit den aktuellen Formularen überschrieben wird.
Sie können eigene Formulare unter System / Einstellungen / Formulare / Generator / Eigen erstellen. Lesen
Sie hierzu die Anleitung unter Texte / A-Handbuch -> Kapitel H 7. Formulargenerator.
Die Blankoformulare der Generatorformulare können normalerweise so übernommen werden. Es muss der
APW-Druckername unter System / Einstellungen / Formulare / Generator / Eigen in der Spalte Drucker
eingegeben werden. In der Spalte Port muss die Nummer des CUPS-Druckers eingetragen werden. Für
die Ausrichtung der Formulare ist das Format bereits in der Spalte PS_Format eingetragen, wobei die
Nummern folgendes bedeuten:
1=DIN A4-Format
2=DIN A5-Querformat
3=DIN A5-Hochformat
4=DIN A6-Querformat
5=DIN A6-Hochformat
Falls ein DIN A5-Querformat-Formular auf dem Drucker als DIN A5-Hochformat ausgedruckt werden
soll, muss das Format in dieser Spalte geändert werden. Auch hier kann der Ausdruck über den Testmodus
Strg-k kontrolliert werden.
Mit Angaben in PS_LRAND kann der Ausdruck bei positiven Zahlen nach rechts verschoben werden,
mit negativen Zahlen nach links verschoben werden; Angaben in PS_ORAND verschieben den Ausdruck
nach oben bzw. nach unten.
Drucken über das Netzwerk mit CUPS
Ich möchte hier das Drucken mit CUPS über das Netzwerk beschreiben, weil es für die Einrichtung von
APW-Linux zum Ausdruck der Formulare am Client-Arbeitsplatz bei einer SSH-Installation, siehe weiter
unten, erforderlich ist. Vom Server aus muss damit der Formular-Ausdruck auf den Drucker am Linux-
81
Druckereinrichtung
Client eingerichtet werden. Ebenso funktioniert der Ausdruck z.B. von Rechnungen über einen zentralen
Laserdrucker von allen Clients aus.
Zunächst muss hier klargestellt werden, wer als Server und wer als Client fungiert. Wir gehen von einem
zentralen Server aus, auf dem APW-Linux installiert ist. Wie in der SSH-Einrichtung besprochen wird,
loggen sich die Arbeitsplatz-Clients auf dem Server per SSH ein und arbeiten mit APW-Linux entweder in einem Client-Verzeichnis oder im APW-Hauptverzeichnis mit einem Parameter-Aufruf. Der Ausdruck von Formularen auf Drucker, die an den Arbeitsplatz-Clients angeschlossen sind, wird über die auf
den Arbeitsplatz-Clients in CUPS eingerichteten Drucker ausgeführt. Dafür muss an allen Arbeitsplätzen
CUPS laufen. Der CUPS-Dämon, der auf dem Server läuft, ist dann ein Client und die CUPS-Dämonen,
die auf den Arbeitsplatz-Clients laufen, sind dann CUPS-Server, da sie für den CUPS-Dämon am Server
die Druckaufträge an die bei Ihnen angeschlossenen Drucker weiterleiten. CUPS kann auf einem Rechner
sowohl als Client als auch als Server fungieren.
Eine weitere Möglichkeit ist ein Druckserver (auch Printserver genannt, eigenes kleines Gerät) im Netzwerk, an dem z.B. ein Laserdrucker hängt. Die Einrichtung des Ausdrucks über einen Druckerserver wird
ein eigenes Kapitel gewidmet.
Einrichtung von CUPS an den Arbeitsplatz-Clients
(CUPS fungiert als Server)
Voraussetzung ist, dass der Drucker am Arbeitsplatz-Client in CUPS, wie oben beschrieben, eingerichtet
ist. Auf der APW-Linux-Live-DVD ist ja bereits ein Rohdatendrucker in CUPS angelegt, sodass bei einer
Installation dieser DVD auf dem Arbeitsplatz-Client kein weiterer Drucker in CUPS eingerichtet werden
muss, wenn über diesen Rohdatendrucker auf einen 24-Nadeldrucker die Formulare ausgedruckt werden
sollen.
Die Einrichtung des Arbeitsplatz-Clients als CUPS-Druckerserver funktionierte bei mir nur, indem ich
die Datei /etc/cups/cupsd.conf direkt in einem Editor als root editierte. Die Einrichtung über den
KDE-Drucker-Einrichtungsassistenten oder die CUPS-Webseite http://localhost:631 führte bei mir nicht
zum Ziel.
Die Datei /etc/cups/cupsd.conf sollte auf dem Arbeitsplatz-Client so oder ähnlich aussehen. Die
entsprechenden Parameter habe ich, soweit wie möglich kommentiert.
DefaultLanguage de
ErrorLog /var/log/cups/error_log
# Fehlermeldungen werden nach /var/log/cups/error_log geschrieben
# Log general information in error_log - change "info" to "debug" for
# troubleshooting...
LogLevel debug
# Anfangseinstellung "debug", um bei Fehlermeldungen möglichst viel Information zu
# später kann auf "info" zurückgestellt werden.
PageLog /var/log/cups/page_log
PreserveJobHistory No
PreserveJobFiles No
AutoPurgeJobs Yes
MaxCopies 50
MaxJobs 20
Printcap /var/run/cups/printcap
Group lp
# Alle autorisierten CUPS-User sollten in der Gruppe lp sein.
SystemGroup lpadmin
# Nur root sollte in der Gruppe lpadmin sein.
82
Druckereinrichtung
Port 631
# Alles, was über den Port 631 geschickt wird, wird angenommen (Serverfunktion)
Listen /var/run/cups/cups.sock
# Anzeige der Drucker im Netzwerk
Browsing On
BrowseAddress 192.168.1.255
# Damit wird ein Broadcast der angeschlossenen Drucker konfiguriert
BrowseAllow 192.168.1.*
# An alle Rechner im Netzwerk 192.168.1.* wird der Broadcast gerichtet.
BrowseInterval 30
# Alle 30 Sekunden wird der Broadcast durchgeführt
BrowsePort 631
# Default authentication type, when authentication is required...
DefaultAuthType Basic
<Location />
Order allow,deny
Allow from 127.0.0.1
Allow from 192.168.1.*
# alle PCs mit der IP-Adresse 192.168.1.x dürfen auf den
# an diesem PC angeschlossenen Drucker drucken
# es können auch mehrere Zeilen mit einzelnen IP-Adressen angegeben werden
Deny from All
</Location>
<Location /printers>
AuthType None
#für die Ausdruck muss man sich nicht authentifizieren
</Location>
# Restrict access to the admin pages...
<Location /admin>
Order allow,deny
Allow localhost
# nur von localhost ist eine Administration möglich
</Location>
# Restrict access to configuration files...
<Location /admin/conf>
AuthType Basic
Require user @SYSTEM
Order allow,deny
Allow localhost
</Location>
# Set the default printer/job policies...
<Policy default>
# Job-related operations must be done by the owner or an adminstrator...
<Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job
Require user @OWNER @SYSTEM
# ein Druckjob wird nur angenommen, wenn der User auf dem System bekannt ist.
Order deny,allow
83
Druckereinrichtung
</Limit>
# All administration operations require an adminstrator to authenticate...
<Limit Pause-Printer Resume-Printer Set-Printer-Attributes Enable-Printer Disable
AuthType Basic
Require user @SYSTEM
Order deny,allow
</Limit>
# Only the owner or an administrator can cancel or authenticate a job...
<Limit Cancel-Job CUPS-Authenticate-Job>
Require user @OWNER @SYSTEM
Order deny,allow
</Limit>
<Limit All>
Order deny,allow
</Limit>
</Policy>
Danach CUPS neu starten, damit die Konfiguration eingelesen wird. Den Server in der Datei /etc/
hosts.allow eintragen mit
cupsd: <Server-IP>
damit der Server auf CUPS auf dem Arbeitsplatz-Client zugreifen darf.
Einrichtung von CUPS auf dem Server
Die Datei /etc/cups/cupsd.conf auf dem Server wird als CUPS-Client konfiguriert und sieht so
aus:
# Log general information in error_log - change "info" to "debug" for
# troubleshooting...
LogLevel debug
# Administrator user group...
SystemGroup lpadmin
# Only listen for connections from the local machine.
Port 631
Listen localhost:631
Listen /var/run/cups/cups.sock
# Show shared printers on the local network.
Browsing On
BrowseAddress 192.168.1.255
BrowseIntervall 30
BrowsePort 631
# Default authentication type, when authentication is required...
DefaultAuthType Basic
84
Druckereinrichtung
# Restrict access to the server...
<Location />
Order allow,deny
Allow from 127.0.0.1
Deny from All
</Location>
<Location /printers>
AuthType None
</Location>
# Restrict access to the admin pages...
<Location /admin>
Encryption Required
Order allow,deny
Allow localhost
</Location>
# Restrict access to configuration files...
<Location /admin/conf>
AuthType Basic
Require user @SYSTEM
Order allow,deny
Allow localhost
</Location>
# Set the default printer/job policies...
<Policy default>
# Job-related operations must be done by the owner or an adminstrator...
<Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs S
Require user @OWNER @SYSTEM
Order deny,allow
</Limit>
# All administration operations require an adminstrator to authenticate...
<Limit Pause-Printer Resume-Printer Set-Printer-Attributes Enable-Printer D
AuthType Basic
Require user @SYSTEM
Order deny,allow
</Limit>
# Only the owner or an administrator can cancel or authenticate a job...
<Limit Cancel-Job CUPS-Authenticate-Job>
Require user @OWNER @SYSTEM
Order deny,allow
</Limit>
<Limit All>
Order deny,allow
</Limit>
</Policy>
85
Druckereinrichtung
Printcap /var/run/cups/printcap
Starten Sie CUPS neu als root mit:
/etc/init.d/cupsys restart
Wenn CUPS auf dem Server die Daten des CUPS auf dem Arbeitsplatz-Client via Broadcast richtig erhalten hat, sieht die Datei /var/run/cups/printcap ungefähr folgendermaßen aus:
# This file was automatically generated by cupsd(8) from the
# /etc/cups/printers.conf file. All changes to this file
# will be lost.
raw|OKI Microline 390 FB:rm=Anmeldung.PRAXIS:rp=raw:
raw@Laptop|Drucker fuer APWLIN:rm=Anmeldung.PRAXIS:rp=raw@Laptop:
Diese Datei besagt, dass am Server (mit Namen Anmeldung.PRAXIS) ein Rohdatendrucker angeschlossen ist. Daneben gibt es einen weiteren Rohdatendrucker, der an dem Rechner Laptop angeschlossen ist.
Kontrollieren Sie den Ausdruck, indem Sie eine Textdatei auf den Drucker raw@Laptop ausdrucken lassen (Papier einlegen nicht vergessen), mit:
lpr -P raw@Laptop <Datei.txt>
In APW-Linux können Sie zum Ausdruck den bereits angelegten Drucker "Oki_raw" verwenden, müssen
jetzt aber erneut die CUPS-Seite unter System / Einstellungen / Drucker / Eigen / <Druckername> / CUPS
aufrufen, um den neuen Drucker raw@Laptop in APW-Linux sichtbar zu machen. Bei der Einrichtung der
Formulare müssen Sie die Formulare, die auf dem Rohdatendrucker am Arbeitsplatz-Client ausgedruckt
werden sollen, dem CUPS-Drucker raw@Laptop zuordnen. Häufig müssen der obere Rand und der linke
Rand für jeden Drucker neu ausgerichtet werden.
Ausdruck auf Rohdatendrucker an Druckserver
Ist der Rohdatendrucker an einem Druckserver angeschlossen, sollte dem Druckserver eine feste IP-Adresse zugewiesen werden. Der Ausdruck sollte in CUPS, wenn es der Druckserver versteht, über ipp oder
über socket als Schnittstelle konfiguriert werden, d.h.
Drucker hinzufügen ->
andere Netzwerkdrucker ->
Internet-Druckerprotokoll (ipp) (Unknown)
oder
AppSocket/ HP JetDirect
-> Weiter
Verbindung: ipp://<IP-Adresse des Druckservers>/ipp/9100
oder
Verbindung: socket://<IP-Adresse des Druckservers->:9100
-> Weiter
Name: z.B. rawdrserver
Beschreibung: beliebig
Ort: beliebig
Freigabe: nicht freigeben; die Konfiguration sollte auf jedem Rechner einzeln ausge
-> Weiter
Marke: Raw
-> Weiter
Modell: Raw Queue (en)
-> Drucker hinzufügen.
86
Druckereinrichtung
Testen Sie die Konfiguration mit
lpr -P rawdrserver <Datei.txt>
Druck- und Druckerprobleme lösen
In aller Regel lassen sich Probleme beim Druck aus APW über CUPS lösen. Hier möchte ich einige Hinweise geben, wie auch störrische Drucker eingebunden werden können.
Allgemeine Regeln
Zunächst sollte sichergestellt sein, dass eine Testseite aus CUPS vom Client-Rechner oder auch vom Server ausgedruckt werden kann. Die Testseite muss vom Server aus im richtigen Format auf dem entsprechenden Drucker und den gewünschten Schacht ausgedruckt werden. Eventuell müssen verschiedene Druckertreiber ausprobiert werden, vielleicht sogar Druckertreiber von anderen Drucker-Herstellern. Die Druckertreiber von HP können manchmal auch andere Drucker zum Drucken überreden.
Eine Suche im Internet fördert manchmal auch passende PPD-Dateien zutage, die passen können. Hat
man eine PPD-Datei gefunden, die einen guten Ausdruck z.B. für DIN A4 und DIN A5 liefert, aber keine
Einstellung für DIN A6 liefert, kann die PPD-Datei von Hand editiert werden, um die DIN A6-Einstellung
hinzuzufügen, wenn der Drucker dies in Windows unterstützt.
Das Drucker-Handbuch liefert häufig auch wichtige Hinweise, wenn über ein Menü am Drucker bestimmte
Einstellungen vorgenommen werden müssen.
Der Ausdruck von Rohdatendruckern können nicht über die Testseite von CUPS geprüft werden. Hierzu
sollte eine kurze Textdatei aus dem Home-Verzeichnis für den Ausdruck benutzt werden.
Manche Laserdrucker mit Energiesparfunktion lassen sich nur dann aufwecken, wenn sie als Standarddrucker unter CUPS konfiguriert sind.
Druck-Debug-Funktion in APW-Linux
Sind die Einstellungen in APW-Linux - wie oben beschrieben - eingerichtet worden, ist der Druck dennoch nicht möglich, kann mit der Debug-Funktion kontrolliert werden, ob der Ausdruck auf den richtigen
Drucker geschickt wird. Dafür muss mit Strg-k der Testmodus eingestellt werden. Danach wird ein normaler Ausdruck aufgerufen. Von APW wird eine Datei drucker.log angelegt, die die Nummer des in APW
bekannten Druckers (nport), den Namen des Drucker und den Druckbefehl (in der Standardeinstellung
"lpr -P <Druckername> <Druckdatei>") ausgibt.
Ist der Druckername richtig, der Druck der Datei erfolgt aber nicht, kann mit der noch im APW-Verzeichnis
vohandenen Datei experimentiert werden. Es können unter System / Schalter / DRUCK/BFB/PS andere
Druckbefehle ausprobiert werden:
• Linuxdruckaufruf: 1 -> lpr -P <Druckername> <Druckdatei>
• Linuxdruckaufruf: 2 -> cupsprintfile(<Druckername>, <Druckdatei>,"APW-Druck")
• Linuxdruckaufruf: 3 -> lp -d <Druckername> <Druckdatei>
• Linuxdruckaufruf: 4 -> <aktuellesVerzeichnis>/lpr.unx <Druckername> <Druckdatei>
Linuxdruckaufruf 4 dient zur individuellen Konfiguration eines Ausdrucks und könnte z.B. ein ShellScript
oder eine Umwandlungsdatei enthalten.
87
Druckereinrichtung
Wird beim Druckaufruf der falsche Drucker beim Druckaufruf angesprochen, sollten die Drucker- und
Formulardatenbanken über System / Datenbanken / Reorganisation / Eigen / Sonstige reorganisiert werden. Es müssen zum Einlesen der vorhandenen CUPS- Drucker in APW alle von APW anzusprechenden
Drucker vom Server aus erreichbar sein und laufen. Dann kann die Konfiguration unter System / Einstellungen / Drucker / Eigen / <beliebiger Druckername> / CUPS übernommen werden. Wenn sich die
Reihenfolge der Drucker in dieser Konfiguration ändert, müssen womöglich die zugewiesenen Formulare
erneut an die neue Reihenfolge angepasst werden.
Bei einigen Druckern wird die Druckerqueue von CUPS abgeschaltet, wenn der Drucker beim Booten
nicht an ist. Dann muss die Druckerqueue über die CUPS-Webseite unter http://localhost:631 neu gestartet
werden.
Ein System-Upgrade kann dazu führen, dass Druckertreiber nicht mehr funktionieren und andere/neue
Druckertreiber eingestellt werden müssen.
88
Kapitel 8. Diverse andere
Einrichtungen
Labordatenübertragung
Für die Labordaten-Übertragung wird typischerweise ein Programm des Labors verwendet. Je nach Labor
gibt es DOS-, Windows- und auch Linux-Programme für den Abruf der Daten. Erkundigen Sie sich bei
Ihrem Labor.
Nach Übertragung der Daten liegen die Dateien in einem Verzeichnis z.B. /home/praxis/labor vor. Im
APWiegand-Verzeichnis können Sie nun die Datei lab.sh editieren z.B. wie folgt:
#!/bin/bash
cat /home/praxis/labor/* > lab.txt
rm -f /home/praxis/labor/*
Damit werden die Labordateien in die Datei lab.txt kopiert und aneinandergehängt und die Dateien
anschließend im Laborverzeichnis gelöscht.
Nun können die Daten in APWLIN über Übertragung / Labor / Bericht -> Kopieren usw. in die Patientendateien eingetragen werden. Eine verschlüsselte Datei muss nach lab.kry kopiert werden.
89
Diverse andere Einrichtungen
APW und OpenOffice/LibreOffice
Übergabe von Patientendaten aus APW an OpenOffice/LibreOffice
Aus APW heraus können bequem Patientendaten, Adresse von Überweisern oder Hausärzten, die Adresse
der Krankenkasse sowie Diagnose und Befunde aus der Patientenkartei an eine individuell angepasste
Dokumentvorlage übergeben werden und anschließend in OpenOffice weiterverarbeitet werden.
Die Einrichtung ist in APW-Linux identisch mit der in APW-Windows. Sie finden eine ausführliche Anleitung im Programm unter Texte / Einzelanleitungen / OpenOffice. Dazu sollte im Programm der Adobe
Reader oder ein anderer PDF-Reader unter System / Einstellungen / Extern eingerichtet sein, um den Text
als PDF-Dokument ansehen zu können.
Medikamentenplan aus APW mit OpenOffice/LibreOffice
Die Einrichtung des Exports des Medikamentenplans aus APW-Linux entspricht dem Vorgehen in APWWIN. Lesen Sie hierzu unter Texte / Einzelanleitungen / OpenOffice. Ein PDF-Reader muss dafür unter
System / Einstellungen / Extern konfiguriert sein.
OpenOffice/LibreOffice-Datei an einen Client übergeben
und dort aufrufen
OpenOffice/LibreOffice kann an einem Computer/Server nur einmal von einem Benutzer aufgerufen werden. Sind also mehrere User als User praxis auf dem Server eingeloggt, kann nur einer per SSH die Bildschirm-Darstellung von OpenOffice/LibreOffice dargestellt bekommen. Um dennoch OpenOffice/LibreOffice-Dateien an verschiedenen Clients ansehen zu können, muss die OpenOffice/LibreOffice-Datei auf
den Client-Rechner geschickt werden und kann dort bearbeitet werden. Danach muss die Datei wieder
zurückkopiert werden, damit sie in APW wieder dem Patienten zugeordnet werden kann.
Alle Clients, die auf OpenOffice/LibreOffice-Dateien zugreifen wollen, müssen als SSH-Client-Installationen eingerichtet werden, wie in "Einrichtung eines Clients mit angeschlossenem KV-Kartenlesegerät"
beschrieben. Unter System / Schalter / Extern sollte Pause auf 0 gestellt werden. Unter System / Einstellungen / Extern wird für OpenOffice/LibreOffice eingerichtet:
90
Diverse andere Einrichtungen
• Programm: OpenOffice
• Endung: odt
• Pfad: ./ooo.sh
In allen APW-Verzeichnissen wird eine Datei ooo.sh angelegt. Im APW-Hauptverzeichnis könnte die
Datei /home/praxis/a/ooo.sh z.B. so aussehen:
#!/bin/bash
/usr/bin/oowriter $1
Für den Client-Rechner client1 enthält die Datei /home/praxis/aclient1/ooo.sh z.B. folgendem
Inhalt:
#!/bin/bash
touch /home/praxis/aclient1/oo
scp $1 praxis@client1:/home/praxis/OOO/
while [ -f /home/praxis/aclient1/oo ]
do
sleep 0.1s
done
Es wird eine Datei /home/praxis/aclient1/oo im Client-Verzeichnis auf dem Server angelegt.
Erst wenn diese Datei gelöscht wird, wird die ODT-Datei wieder nach APW übernommen. Mit $1 wird
der Name der zu kopierenden Datei übergeben, z.B. /home/praxis/a/ablage/sn51.odt. Wohin die generierte
ODT-Datei kopiert wird, legen Sie in APW unter System / Schalter / OpenOffice fest.
APW-Linux wird auf dem Server über die Datei /home/praxis/sshaclient1 gestartet. Diese Datei
hat folgenden Inhalt:
#!/bin/bash
cd /home/praxis/aclient1/
./apwlin.unx
Auf dem Rechner client1 wird ein Verzeichnis /home/praxis/OOO angelegt, in das die ODT-Datei
vom Server aus hineinkopiert wird. Es werden zwei Dateien auf dem Client eingerichtet: /home/praxis/sshpraxis zum Start von APW auf dem Server und /home/praxis/sshoo zum Start von
OpenOffice/LibreOffice, wenn eine ODT-Datei im Verzeichnis /home/praxis/OOO erscheint.
/home/praxis/sshpraxis:
#!/bin/bash
rm -f /home/praxis/OOO/etv.txt
rm -f /home/praxis/OOO/*.odt
touch /home/praxis/oo
/home/praxis/sshoo &
ssh praxis@server /home/praxis/sshaclient1
rm /home/praxis/oo
/home/praxis/sshoo:
#!/bin/bash
cd /home/praxis/OOO
91
Diverse andere Einrichtungen
while [ -f /home/praxis/oo ]
do
meddatei=`ls -x | grep odt`
if [ -f /home/praxis/OOO/$meddatei ] ; then
/usr/bin/oowriter /home/praxis/OOO/$meddatei
scp /home/praxis/OOO/$meddatei praxis@server:/home/praxis/a/ablage/
if [ $? -eq 0 ] ; then
rm /home/praxis/OOO/$meddatei
fi
ssh praxis@server rm /home/praxis/aclient1/oo
fi
sleep 1s
done
Sobald eine OpenOffice-Datei im Verzeichnis /home/praxis/OOO auftaucht, wird diese Datei mit
OpenOffice/LibreOffice geöffnet. Nach dem fertigen Editieren muss die ODT-Datei geschlossen werden.
Sie wird dann wieder auf die Datei auf dem Server zurückkopiert. Damit APW im Programm fortführt und
die ODT-Datei dem Patienten zuordnet, wird die Datei /home/praxis/aclient/oo auf dem Server
gelöscht. Die Sleep-Anweisung sollte nicht zu klein gewählt werden, sonst läuft der Rechner hoch.
Kommunikation zwischen APW und GNUmed
In APW(-Linux, -DOS und -Windows) kann unter System / Schalter / 2 GNUmed die Übergabe von Patientendaten im GDT-Format eingeschaltet werden und dort auch die Übergabedatei definiert werden. Beim
Patientenaufruf wird damit die entsprechende Datei mit den Daten des aufgerufenen Patienten generiert.
Ebenso kann bei eingeschaltetem GNUmed-Schalter im Patienteneingabe-Bildschirm der Patienten aus
GNUmed mit F9 aufgerufen werden. Dafür muss der Patient in APW bekannt sein, sonst erscheint eine
entsprechende Fehlermeldung. Ist der Patient bekannt, allerdings noch kein gültiger Versicherungsnachweis eingegeben, folgt ein entsprechender Hinweis.
Andere Programme können diese Schnittstelle ebenfalls nutzen. In APW-DOS und APW-Windows wird
diese Schnittstelle zur Kommunikation mit dem Terminplaner terminiko http://www.terminiko.de eingesetzt.
92
Kapitel 9. Laden externer Dateien in
APWLIN
In APWLIN können Bild- oder Dokumentdateien von Patienten verwaltet und aufgerufen werden. Hierzu
sind Vorarbeiten durchzuführen: unter System / Einstellungen / Extern tragen Sie die Programmnamen
und Programmaufrufe ein z.B.
Tabelle 9.1. Externe Programmaufrufe
Nr.
Programm
Endung
Pfad
1
kview
jpg
/usr/bin/kview
2
kview
bmp
/usr/bin/kview
3
kview
gif
/usr/bin/kview
4
OpenOffice
doc
/usr/bin/openoffice
5
OpenOffice
odt
/usr/bin/openoffice
6
kpdf
pdf
/usr/bin/kpdf
7
ghostview
ps
/usr/bin/gv
8
CHM-Viewer
chm
/usr/bin/kchmviewer
Für jede benutzte Dateiendung sollte das jeweils aufzurufende Programm angegeben werden. Das Programm muss mit dem Eintrag unter "Pfad" aufrufbar sein.
Unter System / Schalter / Extern können weitere Parameter für das Verhalten beim Aufruf und Speicherung
von Extern-Dateien konfiguriert werden. Unter System / Schalter / Textverarbeitung sollte eingegeben
werden:
Tabelle 9.2. Textverarbeitung
Programm-Datei
/usr/bin/openoffice
Zeichensatzumwandlung
T
Rückfrage
F
93
Laden externer Dateien in APWLIN
Pause
F
Unter System / Schalter / Bildverarbeitung sollte unter Programm-Datei das Programm zur Bilddarstellung
eingetragen werden, z.B. /usr/bin/showfoto. Das Feld Parameter kann frei bleiben.
Es gibt in APWLIN gibt es 2 Möglichkeiten, externe Dateien einem Patienten zuzuordnen und über APWLIN zu verwalten:
• Die Datei wird aus dem Verzeichnis /ablage in das Verzeichnis /extern übernommen und erhält
als Namen das APW-Kürzel des Patienten plus einer aufsteigenden Nummer und der entsprechenden
Dateiendung. Die Originaldatei in /ablage kann anschließend gelöscht werden. Damit kommen sämtliche externe Dateien in das Verzeichnis /extern, was mit der Zeit recht groß werden kann. Das
Extern-Verzeichnis wird bei der APW-Datensicherung berücksichtigt und mitgesichert.
• Die Datei verbleibt im Originalverzeichnis und behält den dort angegebenen Namen. Diese Dateien
werden allerdings bei der APW-Datensicherung nicht berücksichtigt. Eine entsprechende Datensicherung muss vom Anwender selbst eingerichtet werden. Der Vorteil wäre z.B. für Arztbriefe, die in OpenOffice geschrieben wurden, dass entsprechende Unterverzeichnisse für z.B. ein Quartal eingerichtet
werden und dort die Arztbriefe gespeichert werden. Sie können dann aus der APWLIN- Patientenkartei
heraus in OpenOffice aufgerufen werden.
Übernahme einer externen Datei ins ExternVerzeichnis
Ich möchte als Beispiel die Einbindung eines Fotos eines Ulcus cruris in die Patientenkartei durchspielen.
Man kopiere die einzubindende Foto-Datei z.B. img0120.jpg von der Digitalkamera in ein anzulegendes Unterverzeichnis /ablage des APWLIN-Hauptverzeichnisses und rufe in APWLIN den entsprechenden Patienten auf. Über Kartei / Xextern wird eine Liste bereits vorhandener Extern-Einträge angezeigt, wenn man es zum ersten Mal macht natürlich eine leere Liste. Mit Alt-x wird die Extern-Konfiguration eingeblendet. Mit F2 kann die Datei über das KDE-Datei-Auswahlfenster ausgewählt werden. Über den
Button "Öffnen" wird die ausgewählte Datei in das Datei-Feld eingetragen. Mit Tab in das Programm-Eingabefeld springen, mit F3 werden die Programme, die unter System / Einstellungen / Extern angelegt
wurden, angeboten. Das entsprechende Aufrufprogramm anwählen und mit Return bestätigen. Der Programm-Aufruf wird in das Programm-Eingabefeld eingetragen. Mit F6 wird die Datei in das Extern-System übernommen und umbenannt. Auf die Frage "Datei übernommen, Originaldatei löschen?" kann man
entscheiden, ob die Originaldatei im Verzeichnis /ablage gelöscht wird. Im nächsten Bildschirm wird
die umbenannte Datei und das Aufrufprogramm angezeigt. Mit Escape verläßt man die Einblendung der
Extern-Konfiguration. In der Patientenkartei ist eine neue Zeile mit dem Eintrag der Bild-Datei in /home/
praxis/dosemu/freedos/a/extern mit Patientenkürzel und Dateiendung angelegt worden. Das
Bild kann nun in Patient / Kartei / Extern aufgerufen werden, wenn das Feld TEXT mit Return angewählt
wird. Über Patient / Kartei / Alles geht man auf die neue Eintragszeile, springt mit Strg-Ende ans Ende der
Zeile und bestätigt EXT mit Return. Man kann erst nach Schließen des Aufruf-Programms in APWLIN
weiterarbeiten.
Aufruf einer externen Datei, die in einem anderen Verzeichnis verbleibt
Als Beispiel bietet sich ein in OpenOffice erstellter Arztbrief zur Zuordnung in der Patientenkartei an.
Z.B. werden die Arztbriefe quartalsweise in einem Unterverzeichnis von OpenOffice (42005, 12006 usw.)
abgespeichert. Man geht wie oben vor, ruft die Einblendung der Extern-Konfiguration mit Alt-x auf, wählt
die Datei mit F2 aus und ordnet mit F3 der Datei OpenOffice zu. Statt nun F6 aufzurufen, verläßt man
94
Laden externer Dateien in APWLIN
die Einblendung mit Escape. Es ist ebenfalls eine neue Zeile mit dem Pfad und dem Namen der Datei
angelegt worden. Die OpenOffice-Datei ist ebenso aufrufbar wie die Bilddatei im vorigen Abschnitt. Falls
man diese Funktion in die Arztbrieferstellung nutzen will, empfiehlt es sich, OpenOffice in einem anderen
KDE-Fenster zu starten. Der Arztbrief wird dann in diesem Fenster geladen und man kann gleichzeitig im
anderen Fenster mit APWLIN weiterarbeiten.
Löschen im Extern-System
Will man die Eintragungen der Extern-Dateien in der Patientenkartei löschen, geht man auf die Zeile
mit dem Datei-Eintrag und drückt "Entf". Nach ein Abfrage "Datensatz wirklich löschen?", die bestätigt
werden muss, wird der Kartei-Eintrag und die entsprechende Datei in /extern gelöscht, bzw. die Datei
in /extern wird in ein neues Verzeichnis /loeschen verschoben. Bei einer Datei in einem anderen
Verzeichnis erfolgt erst eine Abfrage "Zugehörige externe Datei .... löschen?", die mit j oder n beantwortet
werden kann.
95
Kapitel 10. Netzwerk mit SSH
Netzwerk-Installationen mit Windows laufen in der Regel über freigegebene Server-Verzeichnisse im
Netzwerk, auf die vom Client zugegriffen wird. Dies führt häufig zu viel Netzwerktraffic, da beim Zugriff
auf eine Datei des Server-Verzeichnisses die gesamte Datei vom Server an den Client übermittelt werden
muss. Unter Unix/Linux ist es dagegen üblich, dass man sich direkt auf dem Server einloggt und direkt auf
dem Server arbeitet, wobei damit nur die Bildschirmanzeigen über das Netzwerk übertragen werden müssen. Das Arbeiten ist damit deutlich beschleunigt. Gleichzeitig ist es bei solch einer Einrichtung egal, wie
die Verbindung zustande kommt, ob über eine Netzwerkkabel, ein WLAN, das Internet oder ein Modem.
APW-Linux-Arbeitsplatz-Clients sollten daher über einen SSH-Login auf dem Server eingerichtet werden.
Die Arbeitsplatz-Clients fungieren dann mehr oder weniger als Thin Clients. Daten, die auf den Arbeitsplatz-Clients erhoben werden und an den Server übermittelt werden, müssen allerdings speziell behandelt
werden.
Die Netzwerk-Einrichtung unter Linux sollte bekannt sein. Ich empfehle die Einrichtung über feste IPAdressen. Die Dateien /etc/hosts,/etc/hosts.allow,/etc/hosts.deny müssen konfiguriert werden. Sowohl auf dem Server als auch auf den Clients sollten die Routen richtig gesetzt sein, siehe
man route.
Ich beschreibe hier die Einrichtung von SSH für eine Praxis-Netzwerk. Wer sich mehr mit SSH beschäftigen will, findet unter SSH: The Secure Shell - The Definitive Guide [http://www.unixmexico.org/files/
html/kore.hack.se/oreilly-networking/ssh/index.htm] eine ausführliche Anleitung.
Der SSH-Daemon auf dem Server
Das SSH-Server-Paket Ihrer Distribution muss natürlich installiert sein. Normalerweise werden direkt die
Schlüssel für den Server dabei angelegt. Die SSH-Server-Konfiguration befindet sich in der Datei /etc/
ssh/sshd_config. Wichtig sind folgende Parameter:
# Package generated configuration file
# What ports, IPs and protocols we listen for
Port 22
# Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress 192.168.1.*
96
Netzwerk mit SSH
Protocol 2
# HostKeys for protocol version 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
#Privilege Separation is turned on for security
UsePrivilegeSeparation yes
# hier kann der Zugriff auf bestimmte User beschränkt werden
#AllowUsers praxis@aclient1 praxis@aclient2 praxis@aclient3
# ...but breaks Pam auth via kbdint, so we have to turn it off
# Use PAM authentication via keyboard-interactive so PAM modules can
# properly interface with the user (off due to PrivSep)
#PAMAuthenticationViaKbdInt no
# Lifetime and size of ephemeral version 1 server key
KeyRegenerationInterval 3600
ServerKeyBits 768
# Logging
SyslogFacility AUTH
LogLevel INFO
# Authentication:
LoginGraceTime 600
PermitRootLogin no
StrictModes yes
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile
%h/.ssh/authorized_keys
# rhosts authentication should not be used
#RhostsAuthentication no
# Don't read the user's ~/.rhosts and ~/.shosts files
IgnoreRhosts yes
# For this to work you will also need host keys in /etc/ssh_known_hosts
RhostsRSAAuthentication no
# similar for protocol version 2
HostbasedAuthentication no
# Uncomment if you don't trust ~/.ssh/known_hosts for RhostsRSAAuthentication
#IgnoreUserKnownHosts yes
# To enable empty passwords, change to yes (NOT RECOMMENDED)
PermitEmptyPasswords no
# Change to no to disable s/key passwords
#ChallengeResponseAuthentication yes
# To disable tunneled clear text passwords, change to no here!
PasswordAuthentication yes
# To change Kerberos options
#KerberosAuthentication no
#KerberosOrLocalPasswd yes
97
Netzwerk mit SSH
#AFSTokenPassing no
#KerberosTicketCleanup no
# Kerberos TGT Passing does only work with the AFS kaserver
#KerberosTgtPassing yes
X11Forwarding yes
X11DisplayOffset 10
AllowTcpForwarding yes
PrintMotd no
PrintLastLog yes
KeepAlive yes
#UseLogin no
#MaxStartups 10:30:60
#Banner /etc/issue.net
#ReverseMappingCheck yes
Subsystem sftp /usr/lib/openssh/sftp-server
UsePAM yes
Zunächst sollte "PasswordAuthentication" auf "yes" gesetzt werden. Später sollte es hier auf "no" gesetzt
werden.
Ich beschreibe hier eine Beispiel-Konfiguration mit dem Server server, dem Client aclient1 und dem APWLIN-Programm im Verzeichnis /home/praxis/dosemu/freedos/a. Sowohl auf dem Server als
auch auf dem Client wird mit dem User praxis gearbeitet.
Nun starten Sie den SSH-Server-Daemon neu mit /etc/init.d/ssh restart als root. Loggen Sie sich als User
praxis ein und generieren mit ssh-keygen -t rsa -b 2048 einen privaten und einen öffentichen Schlüssel im
Verzeichnis /home/praxis/.ssh. Da wir uns später nur mit dem Schlüssel anmelden wollen, geben
wir kein Paßwort bei der Paßwortabfrage ein.
Auf dem Client muss zunächst kein SSH-Server laufen. Auch auf dem Client muss ein Schlüsselpaar
für den User praxis mit ssh-keygen -t rsa -b 2048 erzeugt werden. Nun versucht man sich von einer
Konsole aus als User praxis auf den Server einzuloggen mit ssh praxis@server. Es erfolgt die Abfrage
des Paßwortes des Users praxis auf dem Server. Wenn das geklappt hat, meldet sich der Server mit dem
Shell-Prompt auf dem Server z.B. praxis@server:~$ . Sie befinden sich im Verzeichnis des Users praxis
und arbeiten mit einer ssh-Shell, die in weiten Teilen der normalen Bash entspricht. Loggen Sie sich mit
exit aus und Sie befinden sich wieder auf der Konsole auf dem Client. Nun kopieren Sie den öffentlichen
Schlüssel des Clients auf den Server und fügen diesen der Datei authorized_keys an. Falls diese Datei
noch nicht existiert, können Sie eingeben:
scp /home/praxis/.ssh/id_rsa.pub praxis@server:/home/praxis/.ssh/authorized_keys
Falls die Datei authorized_keys bereits Einträge enthält, kopieren Sie den Schlüssel zunächst ins
Home-Verzeichnis des Users praxis mit
scp /home/praxis/.ssh/id_rsa.pub praxis@server:/home/praxis/
und fügen ihn dann auf dem Server mit
cat /home/praxis/id_rsa.pub >> /home/praxis/.ssh/authorized_keys
98
Netzwerk mit SSH
an die Datei /home/praxis/.ssh/authorized_keys an. Wichtig sind die zwei > , damit der
öffentliche Schlüssel angefügt wird. Falls Sie nur ein > angeben, wird die Datei überschrieben und die
anderen Schlüssel sind weg.
Jetzt sollten Sie sich mit ssh praxis@server ohne Nachfrage des Paßwortes auf dem Server einloggen
können. Loggen Sie sich wieder aus dem Server aus.
Probieren Sie jetzt, ob Sie APWLIN vom Client aus starten können: geben Sie ein ssh -X praxis@server.
Sie landen auf der Kommandozeile des Server, wechseln Sie mit cd /home/praxis/dosemu/freedos/a
in das APW-Verzeichnis und rufen ./apwlin.unx auf. Jetzt sollte APWLIN mit der Konfiguration, die
auf dem Server vorhanden ist, aufgerufen werden. Damit ist die grundsätzliche Einrichtung der SSHVerbindung fertig.
Einrichtung eines reinen Eingabe-Clients
Wenn der Client lediglich zur Eingabe von Diagnosen, Ziffern oder sonstiger Eingaben in APWLIN
genutzt werden soll, kann der Aufruf von diesem Client aus automatisiert werden, indem auf dem Server
eine Script-Datei /home/praxis/sshaclient1 eingerichtet wird mit dem Inhalt
#!/bin/bash
cd dosemu/freedos/a
./apwlin.unx
Auf dem Client kann auf dem Desktop ein Button eingerichtet werden mit dem Befehl
ssh -X praxis@server sshaclient1
Damit loggen Sie sich automatisch auf dem Server ein und rufen APWLIN auf dem Server auf. Da im
Gegensatz zu samba keine Dateien, sondern nur die Bildschirmanzeige über das Netz übertragen werden
muss, ist das Arbeiten vom Client genauso schnell wie das Arbeiten direkt auf dem Server, d.h. man kann
einen Fehlersuchlauf ohne Problem vom Client aus starten. Bedenken Sie aber, dass sämtliche Ausgabedateien von APWLIN in Verzeichnisse auf den Server passieren, nicht auf dem Client.
99
Netzwerk mit SSH
Einrichtung eines Clients mit Druckausgabe auf Drucker
am Client
Hierfür muss das Drucken über das Netzwerk eingerichtet sein, wobei der Client als CUPS-Server eingerichtet werden muss. Siehe hierzu Drucken über das Netzwerk mit CUPS [ch08s05.html] Vom Server aus
muss man auf den Drucker am Client drucken können. Bei einem RAW-Drucker wird dieser Drucker dann
automatisch auf dem Server als raw@aclient1 aufgelistet.
In APWLIN kann für diese Einrichtung nicht die Konfiguration für das Server-Verzeichnis genutzt werden, da nun andere Druckereinstellungen erforderlich sind. Es kann hierfür APWLIN mit Parameteraufruf eingerichtet werden, d.h. APWLIN wird aufgerufen mit ./apwlin.unx [Client-Unterverzeichnis]/
also z.B. ./apwlin.unx aclient1/. Es wird dann eine neue Datei apw.ini in ein neues Unterverzeichnis
/home/praxis/dosemu/freedos/a/aclient1 angelegt. Falls man für den Client bereits eine
Clientinstallation hatte, kann von dort die apw.ini in dieses Verzeichnis kopiert werden. Allerdings müssen
alle Einstellungen mit Pfaden neu konfiguriert werden. Auch die Druckereinstellungen unter Menüpunkt
"CUPS" muss neu konfiguriert werden, da der Drucker jetzt von "raw" auf dem Client auf "raw@aclient1"
auf dem Server umkonfiguriert werden muss. Wenn mehrere Clients nach diesem Modus eingerichtet werden sollen, sollte zuerst die CUPS-Konfiguration für alle Clients eingerichtet werden, da sich bei jedem
neuen Drucker die CUPS-Konfigurationsreihenfolge ändert.
100
Netzwerk mit SSH
Einrichtung eines Clients mit angeschlossenem KV-Kartenlesegerät
Für diese Client-Installation muss auf dem Server eine APW-Client-Installation eingerichtet werden;
d.h. auf dem Server wird von der APW-CD die Client-Installation angewählt und ein Client in das
Client-Verzeichnis /home/praxis/dosemu/freedos/aclient1 mit dem Server-Verzeichnis /
home/praxis/dosemu/freedos/a installiert. APWLIN wird wieder mit dem Skript /home/
praxis/sshaclient1 mit folgendem Inhalt aufgerufen:
#!/bin/bash
cd dosemu/freedos/aclient1
./apwlin.unx
Eine vorhandene apw.ini-Datei des Client-Computers kann in das Verzeichnis /home/praxis/dosemu/freedos/aclient1 kopiert werden. Eventuelle Druckerkonfigurationen müssen, wie oben
beschrieben, angepaßt werden.
Für ein KV-Kartenlesegerät am Client-Computer muss ein SSH-Login für den Server auf dem Client
eingerichtet werden, d.h. auf dem Client-Computer muss ein SSH-Daemon laufen und es muss auf dem
Server ein SSH-Schlüssel generiert werden. Der PublicKey muss vom Server auf den Client in die Datei /
home/praxis/.ssh/authorized_keys kopiert werden. Ein ssh-Login als User praxis vom Server
auf den Client muss möglich sein.
Man legt eine neue Datei mktlin.unx im Client-Verzeichnis auf dem Server /home/praxis/dosemu/freedos/aclient1 mit folgendem Inhalt an:
#!/bin/bash
ssh praxis@aclient1 kvklesen
scp praxis@aclient1:/home/praxis/ef* /home/praxis/dosemu/freedos/aclient1/
scp praxis@aclient1:/home/praxis/karte.txt /home/praxis/dosemu/freedos/aclient1/
Auf dem Arbeitsplatz-Client installiert man die Bibliothek, die für das angeschlossene Kartenlesegerät
erforderlich ist. Die Datei mkt.unx kopiert man aus dem Client-Verzeichnis auf dem Server nach /
home/praxis des Client-Computers. Auf dem Client-Computer richtet man ein Skript-Datei /home/
praxis/kvklesen mit dem Inhalt ein:
#!/bin/bash
./mkt.unx 1 3
101
Netzwerk mit SSH
Die Zahlen richten sich nach dem Port und der verwendeten Kartenlesegerät-Bibliothek. Siehe hierzu auch
Einlesen über KVK-/eGK-Lesegeräten in Client-Installationen über das Netzwerk (SSH) [ch06s05.html]
Mobile Kartenlesegeräte können nur direkt am Server ausgelesen werden.
Testen Sie nun, ob das Einlesen funktioniert:
• Auf dem Arbeitsplatz-Client geben Sie auf der Konsole ein ./mkt.unx 1 3. Das angeschlossene Kartenlesegerät gibt die Daten der KVK oder eGK aus. Es werden eine Datei karte.txtund die Datei
ef_kvk.txt für eine KVK, die Dateien ef_pd.gz und ef_vd.gz für eine eGK angelegt.
• Auf dem Arbeitsplatz-Client muss ./kvklesen das gleiche Ergebnis haben.
• Auf dem Server im Client-Verzeichnis /home/praxis/dosemu/freedos/aclient1 muss der
Befehl ./mktlin.unx das Auslesen der KVK/eGK auf dem Arbeitsplatz-Client anstossen und die Dateien
in das Verzeichnis kopieren.
• In APW-Linux-Client konfigurieren Sie unter System / Schalter / KVK/eGK die Linux-Einleseart mit
"5". Die KVK/eGK-Daten werden nun vom Arbeitsplatz-Client ausgelesen, an den Server übertragen
und in APW-Linux eingelesen. Falls das Einlesen sehr lange dauert, müssen Sie die route-Einstellungen
sowohl am Server als auch am Client überprüfen.
Beschleunigung der SSH-Verbindung durch Reuse einer
vorherigen Verbindung
Die Verbindung der Clients mit dem Server oder des Servers mit den Clients kann deutlich beschleunigt
werden, wenn eine vorher hergestellte Verbindung weitergenutzt werden kann. Dies erreicht man, indem
man in der /etc/ssh/ssh_config sowohl auf den Clients als auch auf dem Server folgende Zeilen
einrichtet oder anfügt:
Host *
ControlMaster auto
ControlPath ~/.ssh/%r@%h:%p
Dabei wird mit dem ersten Verbindungsaufbau eine Socket in ~/.ssh/ angelegt, über die alle nachfolgenden ssh-Verbindungen laufen. Pro Rechner, User und Port wird eine Socket eingerichtet.
Lesen hierzu auch Improving SSH (OpenSSH) connection speed with shared connections [http://
protempore.net/~calvins/howto/ssh-connection-sharing/]. Falls die Socket beim Logout/Shutdown nicht
sauber gelöscht wird (Absturz), bleibt die Socket erhalten. Es kann dann keine erneute Verbindung über
diese Socket hergestellt werden. Es kommt dann die Meldung:
Control socket connect (/home/praxis/.ssh/praxis@...:22): Connection refused
Control socket /home/praxis/.ssh/praxis@....:22 already exists,
disabling multiplexing.
D.h. falls eine "stale socket" nach einem Absturz übrigbleibt, wird wieder eine normale Verbindung, aber
keine beschleunigte Verbindung aufgebaut. Es sollte also die "stale socket" gelöscht werden, um wieder
mit der beschleunigten Verbindung arbeiten zu können.
Dazu kann man eine Datei /home/praxis/sshcontrol mit folgendem Skript erstellen:
#!/bin/bash
socket=`ls /home/praxis/.ssh/*:22`
for file in $socket
102
Netzwerk mit SSH
do
if [ -n `lsof -U | grep $file` ] ; then
rm $file
fi
done
Diese Datei kann über die KDE-Verwaltung (Einstellungen -> Systemeinstellungen -> Reiter Erweitert > Autostart als Startskript beim KDE-Start verlinkt werden. Damit konnte ich bei mir eine "stale socket"
beim nächsten Login eliminieren.
SSH-Client-Installation und der Windows-mmi-Pharmindex
Die Windows-mmi-Pharmindex sollte bei einer SSH-Client-Installation auf dem jeweiligen Arbeitsplatz-Client installiert werden und wird auf dem Desktop unabhängig von APWLIN geladen. Man konfiguriert den mmi-Pharmindex so, dass die Datei REZEPT.DBF ins wine-Hauptverzeichnis geschrieben wird,
z.B. /home/praxis/.wine/drive_c/REZEPT.DBF. Durch zwei kleine Skripten erreichen wir,
dass beim Aufruf von APWLIN via SSH auf dem Server ein kleiner Daemon auf dem Client gestartet wird,
der ständig nachschaut, ob es eine neue Datei /home/praxis/.wine/drive_c/REZEPT.DBF auf
dem Client gibt und diese sofort in das Client-Verzeichnis mit APWLIN auf den Server kopiert, von wo
es in APWLIN eingelesen werden kann.
APWLIN via SSH wird mit folgendem Skript in /home/praxis/sshaclient1 gestartet:
#!/bin/bash
touch /home/praxis/apw
./sshglwin &
ssh praxis@server sshaclient1
rm -f /home/praxis/apw
Das Skript /home/praxis/sshglwin enthält:
#!/bin/bash
while [ -f /home/praxis/apw ]
do
if [ -f /home/praxis/.wine/drive_c/REZEPT.DBF ] ; then
scp /home/praxis/.wine/drive_c/REZEPT.DBF praxis@server:/home/praxis/aclient1/
rm -f /home/praxis/.wine/drive_c/REZEPT.DBF
fi
sleep 1s
done
Mit dieser SSH-Client-Installation kann aus APW-Linux heraus nicht die Krankenkasse des aktuellen
Patienten übergeben werden. Hier wäre der Einsatz des APW-internen mmi-Pharmindex zu überlegen. In
APW-Linux muss der Pfad zum übertragenen Rezept unter System / Schalter / Medikamente angegeben
werden. Dann kann das Medikament mit F9 ins Rezeptformular übernommen werden.
103
Kapitel 11. Remote-Zugriff über NXServer/-Client von Linux, Windows und
Mac
Voraussetzung: Linux-Server in der Praxis. Internet-Anbindung in der Praxis. Am DSL-Router ist die PortWeiterleitung auf Port 22 auf den Server eingerichtet. Bei einem der (kostenlosen) DynDNS-Webhoster
(siehe Wikipedia-Eintrag DynDNS [http://de.wikipedia.org/wiki/Dyndns]) (Google-Suche "free dyndns")
z.B. No-Ip.com [http://www.no-ip.com/] legt man ein Konto und eine Webadresse an. Bei No-ip.com kann
man ein Linux-Programm herunterladen, mit dem die aktuelle IP-Adresse in bestimmten Zeitabständen
an das Konto bei No-Ip.com gemeldet wird und damit die IP-Adresse regelmäßig aktualisiert wird.
Nomachine.com [www.nomachine.com] bietet seit Oktober 2013 seine Version 4.0.x nur noch gegen
Bezahlung an. Wer noch eine Version < 4.0 bekommt, kann die "NX Free Edition for Linux" nutzen. Hier
z.B.:
nxclient_3.5.0-7_i386.deb
nxnode_3.5.0-7_i386.deb
nxserver_3.5.0-9_i386.deb
Als root installieren Sie diese Pakete genau in dieser Reihenfolge mit dpkg -i nx*.deb
Damit sowohl ssh im LAN als auch NX über das WAN gleichzeitig arbeiten können, müssen folgende
Parameter in der Datei /etc/ssh/sshd.conf konfiguriert sein:
PermitRootLogin no
StrictModes no
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile
%h/.ssh/authorized_keys
PermitEmptyPasswords no
PasswordAuthentication yes
Bei Änderung der /etc/ssh/sshd.conf muss der SSH-Server neu gestartet werden.
Damit sowohl ssh als auch NX die gleiche "authorized_keys"-Datei verwenden, muss in /usr/NX/etc/
node.cfg und /usr/NX/etc/server.cfg von
104
Remote-Zugriff über NX-Server/-Client von Linux, Windows und Mac
SHAuthorizedKeys = "authorized_keys2"
in
SHAuthorizedKeys = "authorized_keys"
geändert werden.
Anschließend muss der NX-Server mit /usr/NX/bin/nxserver --stop und /usr/NX/bin/nxserver --start
neu gestartet werden.
NX wird von Nomachine zwar mit einem Schlüssel ausgeliefert. Ich würde aber empfehlen, einen
eigenen Schlüssel zu generieren. Dafür als root mit /usr/NX/scripts/setup/nxserver --keygen einen
neuen Schlüssel generieren. Den neuen Schlüssel findet man unter /usr/NX/share/keys/
default.id_dsa.key und kopiert ihn z.B. einen USB-Stick.
Als root wird der User praxis hinzugefügt mit /usr/NX/bin/nxserver --adduser praxis und der nx-Schlüssel zu den Keys in /home/praxis/.ssh/authorized_keys angehängt. Mit /usr/NX/bin/nxserver --usercheck praxis kann nochmal untersucht werden, ob der User praxis als NX-user richtig angemeldet ist.
Auf dem Rechner zu Hause muss nur die Datei nxclient_3.5.0-7_i386.deb als root installiert
werden. Auf einem Mac wird der NX Client für Mac OS X von der Nomachine-Webseite heruntergeladen und installiert. Auf einem Windows-Rechner muss neben dem NX Client für Windows alle nx-fonts
installiert werden.
Man ruft den entsprechenden NX-Client auf, in Linux als normaler User /usr/NX/bin/nxclient.
Klicken Sie auf "Next"
105
Remote-Zugriff über NX-Server/-Client von Linux, Windows und Mac
Geben Sie der Sitzung einen Namen, hier "Beispiel", bei Host geben Sie die gewählte DynDNS-Adresse
an. Klicken Sie auf "Next".
Die Einstellungen sind wahrscheinlich richtig. Klicken Sie auf "Next".
Setzen Sie ein Häkchen vor "Show the Advanced Configuration dialog, um den Schlüssel importieren zu
können. Klicken Sie auf "Finish".
106
Remote-Zugriff über NX-Server/-Client von Linux, Windows und Mac
Im Advanced Configuration dialog klicken Sie auf den Button "Key". Im folgenden Bildschirm wird der
Standard-Key angezeigt. Wir wollen aber unseren eigenen Schlüssel importieren: klicken Sie auf "Import"
und gehen Sie Datei-Browser auf den zu importierenden Schlüssel, den Sie auf den USB-Stick kopiert
haben.
Anschließend können Sie den ersten Login-Versuch auf dem Praxis-Server probieren. Sie müssen sich
sowohl mit dem richtigen Schlüssel, als auch mit User und Passwort anmelden. Ist die Authentifizierung
gelungen, wird auf dem Server eine neue X-Session geladen. Sie erhalten also eine vollständige LinuxDesktop-Oberfläche in dem NX-Fenster auch auf einem Mac oder auf Windows. Im NX-Fenster können
Sie alles aufrufen, als wenn Sie vor dem PC in der Praxis sitzen. Durch die spezielle Übertragungs- Komprimierung ist keine Verzögerung durch eine DSL-Verbindung festzustellen. Auf dem Mac scheinen die
Funktionstasten nicht übertragen zu werden. Um die Session zu beenden, geht man auf K-Menü -> Verlassen -> Abmelden. Mit Schließen der X-Session wird auch die NX-Session beendet. Man kann natürlich
auch über K-Menü -> Verlassen -> Herunterfahren den Server herunterfahren lassen. Dann sind keine
weiteren Sitzungen mehr möglich.
107
Kapitel 12. Samba-Einrichtung eines
Linux-Servers
APW-Linux sollte ausschließlich über eine SSH-Vernetzung betrieben werden. Natürlich gibt es auch die
Möglichkeit, APWWIN als Client an einem Linux-Samba-Server anzuschliessen. Diese Netzwerk-Einrichtung soll hier kurz beschrieben werden.
Der Linux-Samba-Server
Das Netzwerk sollte mit festen IP-Adressen eingerichtet werden, da dies die Laufwerkszuordnung der
Windows-Clients erleichtert. Auf Linux und auf den Windows-Clients sollte ein Benutzer praxis eingerichtet werden. Auf dem Linux-Samba-Server wird APW im Home-Verzeichnis des Users praxis eingerichtet. Das Home-Verzeichnis des Users Praxis wird in Samba freigegeben.
Hier der Inhalt der Datei /etc/samba/smb.conf:
[global]
workgroup = PRAXIS
passwd chat =
syslog = 0
log file = /var/log/samba/log.%m
log level = 2
max log size = 100
dns proxy = No
kernel oplocks = No
invalid users = root
oplocks = No
level2 oplocks = No
strict locking = Yes
blocking locks = Yes
fake oplocks
= no
default case
= lower
case sensitive = no
108
Samba-Einrichtung
eines Linux-Servers
preserve case
= no
[homes]
comment = Home Directories
username = praxis
read only = No
create mask = 0775
directory mask = 0775
[printers]
comment = All Printers
path = /var/spool/samba
create mask = 0700
printable = Yes
browseable = Yes
[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
Mit dem Befehl
testparm -sv
können alle Samba-Parameter, die voreingestellt sind, kontrolliert werden.
Alle Windows-Oplocks müssen ausgeschaltet werden, da sonst Index-Fehler auftreten können. Siehe http://www.superbase.com/services_tech_support_oplocks.htm [http://www.superbase.com/
services_tech_support_oplocks.htm], das eine ausführliche Diskussion der Oplocks-Problematik bietet.
Mit dem Befehl als root
smbpasswd praxis
wird das Passwort für den Login des Users praxis für Windows in Samba festgelegt. Es muss nicht mit
dem Linux-Login-Passwort übereinstimmen.
Die Windows-Clients sollten in der /etc/hosts eingetragen werden. In der /etc/hosts.allow
sollten die Windows-Clients mit
smbd: <IP-Adresse1> <IP-Adresse2> <IP-Adresse3> : ALLOW
smbd: <IP-Adresse1> <IP-Adresse2> <IP-Adresse3> : ALLOW
der Zugriff auf Samba erlaubt werden.
109
Samba-Einrichtung
eines Linux-Servers
Netzwerk-Einrichtung in Windows
Legen Sie in Windows einen neuen Benutzer praxis mit dem vorher festgelegt Samba-Passwort an. Der
Benutzer praxis sollte Administrationsrechte haben, dann aber nicht im Internet surfen können. Loggen
Sie sich als diesen Benutzer ein. Vergeben Sie dem Windows-Client die am Linux-Server festgelegte IPAdresse. In einem DOS-Fenster (Eingabe-Aufforderung) muss der Linux-Server mit
ping <IP-Adresse des Linux-Servers>
angepingt werden können. Ebenso muss vom Linux-Server aus auf der Kommandozeile mit
ping <IP-Adresse des Windows-Clients>
der Windows-Client anpingbar sein. Richten Sie nun eine neue Netzwerkverbindung ein. Achten Sie dabei
darauf, dass als WORKGROUP die Workgroup eingegeben und übernommen wird, die Sie auch bei
der Samba-Konfiguration angegeben haben. In WindowsXP ist die Voreinstellung für WORKGROUP
"MSHEIMNETZ", in Samba "WORKGROUP". Mit diesen Einstellungen wird keine Netzwerkverbindung aufgebaut. Der Windows-Client muss anschließend neu gebootet werden. Ist die Verbindung richtig
eingestellt, kann auf das freigegebene Home-Verzeichnis des Users praxis auf dem Linux-Samba-Server
zugegriffen werden. Dieses Verzeichnis muss jetzt einem Laufwerksbuchstaben zugeordnet werden, am
Besten einem Laufwerksbuchstaben in der zweiten Hälfte des Alphabets (ab "M"), weil das Hineinstöpseln von USB-Sticks oder SD-Karten die Reihenfolge der Laufwerksbuchstaben in Windows durcheinanderbringen kann. Dann ist womöglich das Linux-Serverlaufwerk nicht mehr erreichbar, weil es von "E"
nach "F" gerutscht ist.
Nun kann wie üblich eine Client-Installation auf dem Windows-Client installiert werden. Das APW-Server-Verzeichnis ist dann z.B. "M:\a" und liegt auf dem Linux-Server in /home/praxis/a.
110
Kapitel 13. Kleine Hilfsprogramme für
Linux
Als kleine Hilfsprogramme habe ich folgende Scripte geschrieben:
/etc/cron.daily/apwsichern.cron
Dieses Bash-Script sichert täglich das APWiegand-Verzeichnis als Cron- oder Anacron-Job. Dazu ist zu
sagen, dass mein /home-Verzeichnis auf der 4. Partition /dev/hda4 liegt (hat Vorteile, wenn man
das System updaten will: das /home-Verzeichnis bleibt dann zunächst unangetastet) und ist als Reiserfs
formatiert (relativ sicheres Dateisystem). Mit diesem Programm wird täglich eine tar-gzipped Sicherung
des APWiegand-Verzeichnisses auf die 2. Partition /dev/hda2 im Verzeichnis /var/sicherung
angelegt. Damit man nicht die ganze Partition belegt, werden die Dateien, die älter als 5 Sicherungen sind,
gelöscht.
/etc/cron.daily/apwsichern.cron
-------------------------------------------------------#!/bin/bash
#Programm zum Sichern von /a nach /var/sicherung
tar -czf /var/sicherung/apw$(date +%d%m%y).tgz /home/praxis/dosemu/win98/a
let j=1
for (( i=1 ; i < 100 ; i++ ))
do
date --date="$i days ago" +%d%m%y > /tmp/datum
if [ -e /var/sicherung/apw$( cat /tmp/datum ).tgz ] ; then
if [ $j -gt 4 ] ; then
rm /var/sicherung/apw$( cat /tmp/datum ).tgz
fi
let j=j+1
fi
done
rm /tmp/datum
111
Kleine Hilfsprogramme für Linux
Skript zum automatischen Sichern von APW
und anderer Verzeichnisse auf CD
Mit diesem Skript lassen sich z.B. auf dem Server nach Praxisschluß mittels eines cron-Jobs die APWSicherungsdateien und evtl. zusätzlich Dateien eines OpenOffice-Verzeichnisses komprimieren und diese
Daten ohne weiteres Zutun auf CD brennen, wobei Sie allerdings für jede Sicherung eine CD verbrauchen.
Wie in Linux üblich, können Sie am Anfang diese Skripts die Namen Ihres Sicherungsverzeichnisses
konfigurieren. Das Skript, so wie es hier steht, sichert das APW-Verzeichnis /home/praxis/dosemu/freedos/a nach /home/praxis/sicherung. Daneben wird das Verzeichnis /home/praxis/OpenOffice.org gesichert.
Zunächst überprüft das Programm, ob noch Instanzen von APWDOS, APWWIN oder APWLIN auf dem
Computer laufen. Anschließend werden die Dateien entsprechend der APW-Sicherung im Zip-Format
gesichert. Hauptproblem bei diesem Skript ist die Konfiguration des CD-Brennbefehls, die ja bekanntermaßen von PC und Brenner abhängig ist. Ich habe verschiedene Versionen auskommentiert im Skript
angelegt. Falls keines dieser Befehle läuft, kann man bei laufendem k3b-Programm auf einer Konsole mit
dem Kommando ps aux oder besser ps aux > test.txt den geeigneten cdrecord-Befehl herausfinden.
Das Skript bricht bei Fehlern ab und gibt eine entsprechende Fehlermeldung aus, um sicherzugehen, dass
die Sicherung auch richtig funktioniert. Sie sollten diese Fehlermeldungen beachten. Hat die Sicherung
richtig funktioniert, lassen sich die generierten Dateien wie eine Sicherung von APW wieder einspielen.
#!/bin/bash
# Programm zum Sichern von APW-Linux
# von Dr. Claudia Neumann 14.1.2007
savdir="/home/praxis/sicherung"
apwdir="/home/praxis/dosemu/freedos/a"
weitdir="/home/praxis/OpenOffice.org"
cdrom="/cdrom"
jahr=`date
if [ `date
if [ `date
if [ `date
if [ `date
if [ `date
if [ `date
if [ `date
if [ `date
if [ `date
if [ `date
if [ `date
if [ `date
'+%Y'`
'+%m'`
'+%m'`
'+%m'`
'+%m'`
'+%m'`
'+%m'`
'+%m'`
'+%m'`
'+%m'`
'+%m'`
'+%m'`
'+%m'`
-eq
-eq
-eq
-eq
-eq
-eq
-eq
-eq
-eq
-eq
-eq
-eq
1 ] ; then qua="1" ; fi
2 ] ; then qua="1" ; fi
3 ] ; then qua="1" ; fi
4 ] ; then qua="2" ; fi
5 ] ; then qua="2" ; fi
6 ] ; then qua="2" ; fi
7 ] ; then qua="3" ; fi
8 ] ; then qua="3" ; fi
9 ] ; then qua="3" ; fi
10 ] ; then qua="4" ; fi
11 ] ; then qua="4" ; fi
12 ] ; then qua="4" ; fi
# Überprüfung
if lsof | grep apwlin.un ; then
kdialog --error "Mindestens ein APW-Linux läuft. Sicherung abgebrochen"
exit
fi
112
Kleine Hilfsprogramme für Linux
if lsof |
kdialog
exit
fi
if lsof |
kdialog
exit
fi
grep apwxms.ex ; then
--error "Mindestens ein APW-DOS läuft. Sicherung abgebrochen"
grep apwxpp.ex ; then
--error "Mindestens ein APW-WIN läuft. Sicherung abgebrochen"
if [ -d $savdir ] ; then
if ls $savdir/* ; then
rm -f $savdir/*
fi
else
mkdir -p $savdir
if [ $? -ne 0 ] ; then
kdialog --error "Kann Sicherungsverzeichnis $savdir nicht anlegen! Sicherung abg
exit
fi
fi
if [ ! -f $apwdir/apwlin.unx ] ; then
kdialog --error "$apwdir kein APW-Verzeichnis! Sicherung abgebrochen"
exit
fi
# Komprimierte Sicherung
cd $apwdir
#Sonstige Dateien
fromdos -b sav.cfg
cp sav.cfg savunx.cfg
cp -f sav.bak sav.cfg
savcfg=`cat savunx.cfg | sed 's/$/ /' `
zip $savdir/son$jahr$qua.zip $savcfg
#Quartalsdateien
for yqua in `ls per*.dbf | grep -v per_.dbf | sed 's/per//' | sed 's/.dbf//'`
do
zip $savdir/qua$yqua.zip ???$yqua.dbf ???$yqua.fpt 0??$yqua.*
if [ $? -ne 0 ] ; then
kdialog --error "kann ZIP-Datei qua$yqua.zip nicht anlegen"
exit
fi
done
for yqua in `ls -d kar* | grep -v kar_ | sed 's/kar//'`
do
zip $savdir/kaf$yqua.zip kar$yqua/*.dbf
if [ $? -ne 0 ] ; then
kdialog --error "kann ZIP-Datei kaf$yqua.zip nicht anlegen"
exit
fi
113
Kleine Hilfsprogramme für Linux
zip $savdir/kat$yqua.zip kar$yqua/*.fpt
if [ $? -ne 0 ] ; then
kdialog --error "kann ZIP-Datei kat$yqua.zip nicht anlegen"
exit
fi
done
if ls extern/* ; then
zip $savdir/ext$jahr$qua.zip extern/*
if [ $? -ne 0 ] ; then
kdialog --error "kann ZIP-Datei aus $apwdir/extern nicht anlegen"
exit
fi
fi
if [ $weitdir != "" ] ; then
zip -r $savdir/verzeichnis.zip $weitdir
if [ $? -ne 0 ] ; then
kdialog --error "kann ZIP-Datei aus $weitdir nicht anlegen"
exit
fi
fi
cd
if [ `du -m $savdir | awk '{ print $1 }' ` -gt 700 ] ; then
kdialog --error "ZIP-Dateien zu groß, paßt nicht auf CD"
exit
fi
cd $savdir
md5sum * > /home/praxis/sicherung.md5sum
cd ..
mkisofs -r -J $savdir | cdrecord dev=/dev/hdc #mkisofs -r -J $savdir | cdrecord dev=/dev/hdd #mkisofs -r -J $savdir | cdrecord -v -speed=24 dev=/dev/hdc #mkisofs -r -J $savdir | cdrecord nmap -v -speed=24 dev=/dev/hdc -
if [ $? -ne 0 ] ; then
kdialog --error "falsche Einstellung für cdrecord"
exit
fi
sleep 5
echo "Mounting CD-ROM..."
mount $cdrom
if [ $? -ne 0 ] ; then
kdialog --error "kann CD für Lesetest nicht mounten"
exit
114
Kleine Hilfsprogramme für Linux
fi
cd $cdrom
md5sum * > /tmp/ergebnis
diff /tmp/ergebnis /home/praxis/sicherung.md5sum
if [ $? -ne 0 ] ; then
kdialog --error "Checksum-Test fehlgeschlagen, CD nicht o.k."
exit
fi
cd /
umount $cdrom
if [ $? -ne 0 ] ; then
kdialog --error "umount-Fehler"
exit
fi
eject $cdrom
if [ $? -ne 0 ] ; then
kdialog --error "Eject-Fehler"
exit
fi
rm /tmp/ergebnis
rm /home/praxis/sicherung.md5sum
kdialog --msgbox "Gebrannte Daten stimmen mit den Ausgangsdaten überein. Das Backup
115
Kapitel 14. Die Emulatoren wine und
DOSemu
Um einige Programme nutzen zu können, die es noch nicht für Linux gibt, setzen wir wine oder DOSemu
ein.
Installation und Einrichtung des mmi-Pharmindex mit wine
APW bietet den mmi-Pharmindex als interne Datenbank an, was ich trotz der Zusatzkosten nur jedem
empfehlen kann. Besonders im Netzwerk ist der interne mmi-Pharmindex unschlagbar. Wer trotzdem den
externen mmi-Pharmindex benutzen will, kann ihn in wine zum Laufen bringen. Die wine-Version, mit
der es läuft, ist die Version 1.3 von Ubuntu lucid. Andere Installation von wine müssen zunächst gelöscht
werden mit
dpkg -P wine libwine
Fügen Sie als neue Paketquellen den Server von Ubuntu ppa hinzu, entweder, indem Sie folgende Zeilen
als root in /etc/apt/sources.list einfügen:
# Wine
deb http://ppa.launchpad.net/ubuntu-wine/ppa/ubuntu lucid main
deb-src http://ppa.launchpad.net/ubuntu-wine/ppa/ubuntu lucid main
oder indem Sie diese Paketquellen in Synaptic unter Einstellungen -> Paketquellen eingeben.
Lesen Sie nun die Paketquellen neu ein: in Synaptic mit Bearbeiten -> Paketinformationen neu laden.
Anschließend installieren Sie wine und wine-gecko in der Version von Ubuntu lucid mit:
apt-get install -t lucid wine wine1.3-gecko winetricks
Für die weitere Installation benötigen wir noch cabextract, was wir ohne Probleme mit
apt-get install cabextract
116
Die Emulatoren wine und DOSemu
installieren können.
Rufen Sie nun winecfg auf und erstellen damit eine Windows-Basis-Installation. Sie sollten auch mit dem
Reiter "Laufwerke" "automatisch" die verschiedene Pfade insbesondere zur CD-ROM einrichten.
Wir benötigen noch einige weitere Windows-Programme, die in wine installiert werden müssen: zunächst
das ActiveX Browser Object, das wir ähnlich wie auf der Webseite Steam mit Wine [http://www.linuxclub.de/viewtopic.php?f=16&t=47117] einrichten. Dafür laden wir das Windows-Mozilla ActiveX Browser Object von http://downloads.transgaming.com/mozilla_control_downloads/mozcontrol.tgz herunter,
kopieren es nach /home/praxis/.wine/drive_c/Programme und entpacken es mit tar -xzf
mozcontrol.tgz. Nun wechseln wir in das neue Verzeichnis /home/praxis/.wine/drive_c/
Programme/mozcontrol und registrieren die DLL-Dateien mit wine regsvr32 mozctlx.dll.
Weitere Windows-Komponenten lassen sich bequem mit dem winetricks-Skript installieren: rufen Sie als
User praxis auf der Kommandozeile winetricks auf.
Installieren Sie mit winetricks, eine Internetverbindung vorausgesetzt, nacheinander die Komponenten:
mdac27 und mdac28.
Legen Sie nun die mmi-Pharmindex-CD ein, mounten Sie die CD und rufen winefile auf. Wechseln Sie
auf das Laufwerk, das Sie vorher als Pfad zur CD-ROM konfiguriert haben und rufen, wie bei Windows
üblich, Start.exe mit einem Doppelklick auf. Sie können das Programm der Einfachheit halber in den Pfad
"C:\mmi" installieren. Die Start-Programm sollte ohne Probleme funktionieren. Es wird sogar ein Icon für
den mmi-Pharmindex auf dem Desktop angelegt.
Rufen Sie den mmi-Pharmindex über das Icon auf.Die Bildschirmdarstellung kann etwas dauern. Anschließend können Sie nach Windows-Art in der Datenbank suchen. Ab 1/2009 verlangt das Programm einen
Aktivierungsschlüssel, der aber aus dem Programm heraus in wine nicht per Email angefordert werden
kann. Rufen Sie dafür direkt bei MMI an.
Die Konfiguration zur Übernahme eines Medikamentes aus dem externen mmi-Pharmindex nach APW
entnehmen Sie der Anleitung unter Texte / Einzel-Anleitungen / mmi Extern. Ein PDF-Reader muss dafür
in APW konfiguriert sein. Die Pfade sind entsprechend anzupassen, d.h. in APWLIN müssen die LinuxPfade angegeben werden.
117
Die Emulatoren wine und DOSemu
Der mmi-Pharmindex wird am Anfang des Quartals kostenlos versendet. Im laufenden Quartal sind
Online-Updates über Extras -> Online-Update möglich.
DOSemu
Da die Ifap-DOS-Liste ab 1.7.2008 eingestellt wird, ist eine DOSemu-Installation für APW-Linux nicht
mehr erforderlich. Trotzdem kann es sein, dass man noch ältere DOS-Programme z.B. Labor-DFÜ-Programme unter Linux laufen lassen möchte.
In Debian Wheezy kann dosemu_1.4.0+svn.2080-1 aus dem contrib-Repository installiert werden. Dieses
Paket enthält bereits freedos. Rufen Sie nun auf in einer Konsole als User praxis dosemu auf.
118
Die Emulatoren wine und DOSemu
Vermutlich erhalten Sie zunächst dieselbe Fehlermeldung, wie im Bild oben. Führen Sie als root sysctl w vm.mmap_min_addr=0 aus und fügen Sie den Befehl vm.mmap_min_addr=0 in der Datei /etc/
sysctl.conf ein. Nun geben Sie nochmal dosemu als User praxis ein: es wird ein virtuelle DOSVerzeichnis in /home/praxis/.dosemu/drive_c eingerichtet. Sie verlassen DOSemu wieder mit
exitemu
Die Konfiguration von DOSemu
Sollte der Start von DOSemu nicht gelingen, finden Sie Hinweise zur Fehlerursache in der Datei /home/
praxis/.dosemu/boot.log.
Für die Konfiguration von DOSemu kopiert man die Datei /etc/dosemu/dosemu.conf in sein
Home-Verzeichnis als /home/praxis/.dosemurc und ändert den Besitzer von root auf den User.
Diese Datei wird beim DOSemu-Start nach der systemweiten dosemu.conf-Datei eingelesen und ist dazu
geeignet, die Einstellungen für z.B. für das Labor-DFÜ-Programm aufzunehmen.
Beispiel 14.1. Beispiel-.dosemurc-Datei
/home/praxis/.dosemurc [./dosemurc]
In der .dosemurc-Datei muss als hd_image der volle Pfad zum DOS-C-Verzeichnis eingetragen werden: $_hdimage = "/home/praxis/.dosemu/drives_c". Sie können dort auch $_hdimage = "/home/praxis/.dosemu/drives/*" eintragen und in dem Verzeichnis /home/
praxis/.dosemu/drives einen Link
ln -s /home/praxis/dosemu/freedos /home/praxis/.dosemu/drives/c
legen. Dies hat den Vorteil, dass Sie weitere Links, die Sie in dieses Verzeichnis legen, automatisch beim
Laden von DOSemu einrichten. Z.B. könnte man als weiteres hd_image die Windows-Partition eintragen
mit einem Link nach /media/sda1:
ln -s /media/sda1 /home/praxis/.dosemu/drives/e
Wenn die Windows-Partition nach /media/sda1 gemounted wird, ist die Windows-Partition über e:
ansprechbar. Das Diskette-Laufwerk ist mit a: ansprechbar.
119
Die Emulatoren wine und DOSemu
In DOSemu sieht man das Verzeichnis /home/praxis/.dosemu/drive_c als C:\>. Außerhalb von DOSemu in Linux kann man ohne Probleme auf die Verzeichnisse von /home/
praxis/.dosemu/drive_c zugreifen. Um Dateien im DOSemu-Verzeichnis zu bearbeiten, muss
man allerdings einen DOS-Editor verwenden, sonst können diese Dateien nicht in DOSemu gelesen werden: Linux legt als Zeilenende nur ein CARRIAGE-RETURN an, während MSDOS als Zeilenende ein
CARRIAGE-RETURN LINE-FEED verwendet. Eine autoexec.bat-Datei, die mit einem LinuxEditor verändert wurde, ist für MSDOS nicht lesbar, und das Starten von XDOSemu schlägt fehl. Zum
Editieren in DOSemu kann man den DOS-Editor edit.com verwenden, oder man erstellt die Datei vollständig in Linux und wandelt sie anschließend mit dem Tool-Programm unix2dos um.
Beispiel 14.2. Beispiel-Dateien für DOSemu 1.4.0 und FreeDOS
c:\autoexec.bat
autoexec.bat]
bzw.
/home/praxis/dosemu/freedos/autoexec.bat [./
c:\config.sys bzw. /home/praxis/dosemu/freedos/config.sys [./config.sys]
/home/praxis/.dosemurc [./dosemurc]
Die verschiedenen DOSemu-Konfigurations-Optionen werden in den Dokumentations-Dateien unter /
usr/local/share/doc/dosemu angesprochen.
120
Kapitel 15. Verweise
Hilfreiche Adressen
Bei Fragen zur Einrichtung von APWiegand auf Linux sollte man sich primär an die spezielle Mailing-Liste wenden: <resmedicinae-apwiegand@lists.sourceforge.net>. Anmelden kann
man sich unter: http://lists.sourceforge.net/lists/listinfo/resmedicinae-apwiegand.
Falls hier aufgeführte Personen oder Institutionen in der Dokumentation nicht erwähnt werden möchten,
bitte ich darum, mich zu informieren. In einer aktualisierten Version dieses Dokuments werden die entsprechenden Adressangaben dann gelöscht sein.
Dr. med. Claudia Neumann
Kirchstr. 23
26169 Friesoythe
Tel: +49-(0)4491-808
Email:<neumann@apw-linux.de>
Webseite:www.apw-linux.de [http://www.apw-linux.de]
Assoziation: Niedergelassene Ärztin. Programmiererin von APWLIN.
Dr. med. Peter Wiegand
APW-Wiegand - Medizinische Software Entwicklung und Vertrieb GmbH
Draiser Straße 164
55128 Mainz
Tel: +49-(0)6131-34984
Fax: +49-(0)6131-338135
Email: <info@apw-wiegand.de>
Association: Autor des Praxisprogramms "APW Wiegand".
APW Support
Email: <info@apw-linux.de>
Association: "Hotline"
Webseitewww.apw-linux.de [http://www.apw-linux.de]
Die DOSemu-Mailing-Liste läuft unter: <linux-msdos@vger.linux.org>. Man kann sich dort
einschreiben, indem man eine Email an <majordomo@vger.linux.org> schickt, in der in der ersten
Zeile muss stehen: subscribe linux-msdos. Siehe auch www.dosemu.org [http://www.dosemu.org], dort
121
Verweise
ist auch eine Liste der Archive der Mailing-Liste zu finden, in der man nach bereits beantwortete Fragen
suchen kann.
122