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