Terminal Server, was ist das?

Werbung
Session D-TSVL
Terminal Server mit Linux
Markus Winhard
Wieso Terminal Server?
Sie haben eine erfolgreiche Applikation in die Sie viele Mannjahre Arbeit gesteckt haben. Ihre Applikation
arbeitet direkt auf DBFs.
-
Nun wollen ihre Kunden Arbeitsplätze in externe Büros auslagern.
-
Mitarbeiter ihrer Kunden brauchen von unterwegs Zugriff auf ihre Software.
-
Ihre Kunden akzeptieren es nicht länger, daß ihre wertvollen Daten ungeschützt herumliegen.
Wenn einer der letzten drei Sätze für Sie zutrifft und Ihnen die Resourcen für das Umschreiben ihrer Software
fehlen, oder Sie keine Möglichkeit sehen, diesen Aufwand wirtschaftlich unterzubringen, dann hätte ich Ihnen bis
vor kurzem die Terminal Services von Microsofts Server 2000 bzw. Server 2003 empfohlen.
Terminal Server, was ist das?
Typischerweise haben wir heutzutage in den meisten Betrieben PCs an den Arbeitsplätzen und einen oder
mehrere Fileserver für die zentrale Datenhaltung. Dazu kommen oft noch Applikationsserver und
Datenbankserver, aber um die geht es uns hier nicht.
Bei dieser Art des Netzwerks laufen die Programme in der CPU der Arbeitsplatzrechner ab. Nur die Daten
werden vom Fileserver geholt und dort wieder abgelegt.
Anders beim Terminal Server. Dort laufen alle Programme in der CPU/den CPUs des Servers. Vom Arbeitsplatz
zum Server werden nur Tastenanschläge und Mausklicks übertragen. In der Gegenrichtung werden in der Regel
nur die Bildschirmdaten übertragen, manchmal kommen noch Druckaufträge für Arbeitsplatzdrucker und Audio
dazu.
Gibt es Alternativen zu Microsofts Terminal Services?
Ja, es gibt sie. Gerade in den letzten beiden Jahren sind Mitstreiter im Markt aufgetaucht, die versuchen
Microsoft ein Stück vom großen Kuchen wegzunehmen. Die Mitstreiter versuchen dies auf zwei Ebenen:
-
Schnellere Amortisation der Investition durch Features die im laufenden Betrieb Geld sparen.
-
Geringere Lizenzkosten.
Gerade der zweite Ansatz erfreut sich in der aktuellen Wirtschaftslage zunehmender Beliebtheit.
Terminal Server mit Linux
© 2005 Markus Winhard
(Gruppe SOFT)
12. Visual FoxPro Entwicklerkonferenz 2005
D-TSVL • 1
Damit wir wissen, worüber wir reden, hier ein kurzer Überblick über die Lizenzkosten für einen Terminal Server
des Marktführers.
Grundausstattung Terminal Server für 5 User:
-
Server 2003 Standard Edition inkl. 5 Clients (File und Print Services):
ca. 1000 Euro
-
5 Terminal Client Lizenzen:
ca. 750 Euro
Aufpreis für weitere 5 User:
-
5 Clients (File und Print Services):
ca. 200 Euro
-
5 Terminal Client Lizenzen:
ca. 750 Euro
Bei einem Marktvergleich wird man feststellen, daß die Unterschiede zu den Anschaffungspreisen der
alternativen Anbieter nicht so groß sind, wie die Lizenzzahler es sich erhofft hätten. Das hat auch seinen Grund:
Die Firmen, die diese Lösungen programmieren und vermarkten bestehen aus Leuten, die wie wir damit ihren
Lebensunterhalt verdienen. Dazu kommt noch, daß diese Lösungen teilweise höhere Installationskosten oder
Betriebskosten für den Endanwender mit sich bringen.
Trotzdem gibt es immer mehr Systemhäuser, die Ihren Kunden nicht die Lösung des Marktführers, sondern eine
der Alternativen empfehlen. Einer der Gründe ist, daß sie hoffen mit weniger bekannten Lösungen den Kunden
stärker an sich zu binden. Ein ebenso wichtiger Grund ist, daß sie lieber geringere Lizenzgebühren an den
Hersteller der Terminal Server Lösung weiterreichen und dafür mehr mit ihrer eigenen Arbeitsleistung verdienen.
Die interessantere Alternative
Was wäre, wenn es einen Terminal Server gäbe, der von Leuten programmiert wurde, die das nicht getan haben
um ihren Lebensunterhalt zu bestreiten, sondern weil sie Spaß dabei hatten? Die Lizenzkosten würden in so
einem Fall komplett entfallen. Bestimmt wäre der Installationsaufwand höher als bei Microsofts Alternative.
Aber das macht ja nichts. Schließlich kann man damit Geld verdienen, das man bei den anderen Lösungen an den
Hersteller durchreichen müßte. Wäre das nicht die Maximierung des im letzten Absatz vorgestellten
Geschäftsmodells?
Wie Sie sicher schon vermutet haben, kommt an dieser Stelle Open Source Software und das Betriebssystem
Linux ins Spiel.
Linux, was ist das eigentlich?
Es gibt nicht „das eine Linux“, sondern es gibt hunderte verschiedener Linux Distributionen. Einige gibt es nur
gegen eine Gebühr (von wenigen Euro bis zu vierstelligen Euro Beträgen). Die Platzhirsche sind Red Hat
Enterprise Server und Suse Enterprise Server. Andere Linux Distributionen sind komplett kostenlos (z.B.
Debian). Mir ist sogar eine Distribution bekannt, die einen wohlhabenden Sponsor hat und dadurch in der Lage
ist, eigene Programmierer zu beschäftigen und die CDs kostenlos in alle Welt zu versenden (Ubuntu).
Es gibt Linux Distributionen, die komplett aus freier Open Source Software bestehen, d.h. alle Quellcodes
können kostenlos von den Servern im Internet heruntergeladen und sogar nach eigenen Vorstellungen verändert
werden. Genauso gibt es Linux Distributionen, die Eigenentwicklungen von Firmen enthalten, für die der
Quellcode nicht verfügbar ist und die nicht frei kopiert werden dürfen. Teilweise fallen sogar Lizenzabgaben pro
Server oder pro User an.
Die meisten Firmen, die mit Eigenentwicklungen für Linux Geld verdienen, geben einen Teil ihrer
Eigenentwicklungen wieder als Open Source frei. Beispiele sind Fedora Core (Red Hat) und der Suse Open
Server. Es gibt viele Distributionen, die auf Debian aufbauen (z.B. Knoppix, Kanotix, Gentoo, Ubuntu). Deren
Quellcode-Verbesserungen fließen oft mit einigen Monaten Verzug zurück zur Debian Basis und werden dort
eingepflegt.
Dasselbe passiert bei einzelnen Linux Anwendungen. Manchmal entwickelt sich aus einer Open Source Basis ein
kommerzielles Produkt. Teile der kommerziellen Erweiterungen fließen mit Verzögerung zurück in die Open
Source Basis. Das bekannteste Beispiel ist wohl das WINE Projekt mit den kommerziellen Ablegern Crossover
Office und Cedega WineX.
12. Visual FoxPro Entwicklerkonferenz 2005
2 • D-TSVL
(Gruppe SOFT)
Terminal Server mit Linux
© 2005 Markus Winhard
Open Source: Sie haben die Wahl
Das freie Betriebssystem Linux bringt alles mit, was man braucht um einen Terminal Server aufzubauen. Da
Linux seinen Ursprung in der Unix Welt hat, haben die Bestandteile dort andere Namen und funktionieren meist
ein bißchen anders, aber das Ergebnis ist aus Sicht des Anwenders das gleiche.
So ein Linux Terminal Server besteht aus vielen einzelnen Programmpaketen. Für viele Bestandteile gibt es nicht
nur ein passendes Programmpaket, sondern jede Menge Alternativen. Damit will ich sagen, daß die hier
vorgestellte Lösung nur eine von vielen ist. Es kann durchaus sein, daß jemand anders Ihnen eine Lösung
vorschlagen würde, die zum größten Teil aus anderen Komponenten besteht.
Ich selbst habe im Laufe der Vorbereitungen dieses Vortrags bereits mehrere verschiedene Systeme auf meinen
PCs zusammengestellt und installiert. Ich werde hier aber nur die einfachste Lösung zeigen, die ich gefunden
habe. Schließlich soll das Ergebnis etwas sein, das Sie zuhause sofort ausprobieren können.
Performance
Nach meiner Erfahrung kann Linux schneller sein als Windows. Allerdings nur, wenn man sich auf das
beschränkt, was man wirklich braucht. Bei der hier vorgestellten Lösung ist im Vergleich zu einem typischen
Windows PC ein Vielfaches an Programmen installiert. Klar, daß man damit auch Linux in die Knie zwingt.
Außerdem können Windows Programme unter Linux nicht direkt auf die Funktionen des Betriebssystems
zugreifen. Alle Windows API Aufrufe werden in der Zwischenschicht WINE in die entsprechenden Linux API
Aufrufe gewandelt und an das Betriebssystem weitergeleitet. Das kostet nicht viel Zeit, aber es kostet Zeit.
In der Praxis wird ein Windows Programm unter Linux in etwa genauso schnell laufen wie unter Windows.
Funktioniert das auch für meine VFP Programme?
Die kurze Antwort ist: Ja, für die meisten VFP Programme funktioniert es.
Bei den übrigen VFP Programmen kommt es darauf an, wieviel Aufwand Sie treiben wollen.
Damit Sie vorab klären können ob Ihre Applikationen laufen basiert der Terminal Server, den ich hier vorstelle
auf einer Linux Distribution, die von CD startet und keinerlei Installation auf Ihrem Test-PC erfordert.
Vorbereitungen
Installieren Sie die VFP Anwendungen, die Sie testen wollen, auf der Festplatte des Test-PCs. Kopieren Sie alle
benötigten DLLs und ActiveX Controls ins Verzeichnis der VFP EXE Dateien. Die Grundausstattung für eine
VFP 9 Anwendung besteht aus folgenden Dateien:
-
Vfp9R.dll
-
Vfp9RDeu.dll
-
GDIPlus.dll
-
MsVcR71.dll
-
MsVcRt20.dll
Wenn möglich sollten Ihre VFP Anwendungen auf einer FAT32 oder FAT Partition liegen. Linux sollte auf
NTFS Partitionen derzeit nur lesend zugreifen. Schreibender Zugriff auf NTFS Partitionen ist zwar möglich, wird
aber noch als „experimentell“ eingestuft.
Sollte Ihnen kein PC mit FAT(32) Laufwerk zur Verfügung stehen, können Sie alternativ einen USB Stick
verwenden. Linux kann die meisten USB Sticks als Festplatte einbinden. Wenn das automatische Einbinden zur
Laufzeit nicht klappt, dann lassen Sie den USB Stick stecken und starten den PC noch einmal.
Wenn Ihnen auch kein USB Stick zur Verfügung steht können Sie versuchen, Ihre Anwendungen unter Linux in
Ihr Home Verzeichnis (unter Windows Eigene Dateien) zu kopieren. Jedoch ist der Platz begrenzt, das Home
Verzeichnis wird in unserer Testumgebung auf einer RAM Disk liegen.
Terminal Server mit Linux
© 2005 Markus Winhard
(Gruppe SOFT)
12. Visual FoxPro Entwicklerkonferenz 2005
D-TSVL • 3
Die „Installation“ des Servers
Hardwareanforderungen
Da unser Test-Linux komplett von CD laufen wird, sollte der verwendete PC ein schnelles CD- oder DVDLaufwerk haben.
Damit das Betriebssystem überhaupt mit akzeptabler Geschwindigkeit läuft, wird beim Start eine relativ große
RAM Disk erstellt und Teile der CD auf die RAM Disk kopiert. Damit steht nur ein Teil des Hauptspeichers für
das Betriebssystem und die Anwendungen zur Verfügung. 256 MB Hauptspeicher markieren nach meiner
Erfahrung die Untergrenze für eine sinnvolle Testumgebung beim Start von CD.
Wenn Sie später einen Performancevergleich mit anderen Lösungen durchführen wollen, sollten Sie eine
vergleichbare Umgebung schaffen und Ihr Linux auf eine Festplatte installieren (siehe unten).
Verwendete Software-Komponenten
Unser Server braucht folgende Bestandteile, damit er funktioniert:
-
Das Betriebssystem Linux.
-
Einen X-Server für die grundlegenden Funktionen der grafische Oberfläche (XFree oder X.org).
-
Einen grafischen Login Dialog (KDM, GDM, XDM, ect.)
-
Einen Desktop (KDE, GNOME, XFCE, EDE, etc.)
-
Einen Windows Emulator (WINE).
-
Einen Terminal Service (X oder besser FreeNX).
-
TrueType Fonts mit deutschen Umlauten (MsTTCoreFonts).
Bis auf die letzte Komponente finden wir alles was wir brauchen auf einer einzigen CD. Der Name der
Distribution, die wir verwenden werden, ist Kanotix. Sie wird von einem Deutschen gepflegt und
weiterentwickelt. Diese Distribution kann zu Testzwecken direkt von der CD gestartet werden. Sie kann bei
Gefallen auf Festplatte installiert werden. Danach können Sie nach Belieben zusätzliche Software installieren
oder Programme deinstallieren, die Sie nicht brauchen.
Um Mißverständnisse von vornherein auszuräumen: Sie können mit fast jeder Linux Distribution
einen gleichwertigen Server aufbauen. Lediglich der Aufwand wird bei den meisten größer sein.
Download von Kanotix Linux aus dem Internet
Die hier verwendete Version finden Sie im Download Bereich von www.kanotix.de unter dem Dateinamen
KANOTIX-2005-03.iso
oder direkt z.B. hier:
http://verona.ecology.uni-kiel.de/mirrors/kanotix/KANOTIX-2005-03/KANOTIX-2005-03.iso
ISO Archiv auf CD brennen.
Die aktuellen Versionen der meisten CD Brennprogramme können heute ISO Images auf eine CD brennen. Falls
Ihres dazu nicht in der Lage ist, oder Sie unsicher sind, es gibt kostenlose Programme für diesen Zweck im
Internet. Eines davon verwende ich, um ISO Images unter Windows auf CD zu brennen:
http://www.terabyteunlimited.com/downloads/burncdcc.zip
Das ZIP Archiv enthält eine EXE Datei, die Sie in ein beliebiges Verzeichnis entpacken und dort starten. Eine
Installation ist nicht notwendig.
12. Visual FoxPro Entwicklerkonferenz 2005
4 • D-TSVL
(Gruppe SOFT)
Terminal Server mit Linux
© 2005 Markus Winhard
Kanotix von CD starten
Die meisten PCs, die in den letzten paar Jahren verkauft wurden, können von CD booten. Legen Sie die Kanotix
CD ins Laufwerk und schalten Sie Ihren Test-PC ein. Sollte der PC nicht von CD booten, müssen Sie im Bios die
Boot-Reihenfolge ändern. Oder Sie versuchen es auf einem anderen PC.
Nach kurzer Zeit erscheint ein Bildschirm mit etwas Text und einer Eingabezeile. An dieser Stelle könnten Sie
Kompatibilitäts-Optionen eingeben, falls Kanotix eine Hardware in Ihrem PC falsch erkennt. In der Regel reicht
es aber hier, die ENTER Taste zu drücken.
Der Linux Kernel wird geladen. Kurz darauf beginnt die Hardware-Erkennung und ein hüpfender Pinguin
verdeckt die Bildschirmausgaben. Wenn Sie statt des hüpfenden Pinguins lieber sehen wollen, was im
Hintergrund passiert, drücken Sie an dieser Stelle die Leertaste.
Nach einiger Zeit wird der X-Server geladen. Sie erkennen das an einem grauen Hintergrund mit einem X in der
Mitte. Kurz darauf wird die grafische Oberfläche geladen, standardmäßig ist das der KDE Desktop.
Terminal Server mit Linux
© 2005 Markus Winhard
(Gruppe SOFT)
12. Visual FoxPro Entwicklerkonferenz 2005
D-TSVL • 5
Eine kurze Einführung
Der Desktop
Die Ähnlichkeit zu Windows ist gewollt um Interessierten die erste Scheu vor dem unbekannten Betriebssystem
Linux zu nehmen. Der wichtigste Unterschied ist, daß standardmäßig für das Starten von Programmen kein
Doppelklick nötig ist, ein einfacher Klick genügt. Aber das kennen Sie ja schon aus dem Internet.
Der erste Button der Startleiste (der mit dem K) öffnet wie unter Windows das Startmenü. Der zweite Button (der
mit dem Fisch) öffnet ein zweites Menü, das ein paar Highlights enthält, die Kanotix den meisten anderen Linux
Distributionen voraus hat. Die restlichen Buttons entsprechen der Schnellstartleiste von Windows. Die Ziffern 1
bis 4 lassen das Umschalten zwischen 4 virtuellen Desktops zu. Auch das gibt es für Windows schon lange als
Shareware von diversen Anbietern. Damit kann man z.B. schnell das Spiel verschwinden lassen, wenn der Chef
zur Türe hereinkommt.
Die kleinen blauen Pfeile links und rechts an der Startleiste dienen dazu, die Startleiste einzurollen, wenn man
zwischendurch mehr Platz für die Anwendungsprogramme braucht. Ein erneuter Klick rollt sie wieder aus.
Falls Sie sich überhaupt nicht umstellen wollen, kann der KDE Desktop sogar so konfiguriert werden, daß er
aussieht wie Windows und auch so funktioniert (inklusive Doppelklick). Siehe Startmenü > Einstellungen >
Einrichtungsassistent und Startmenü > Einstellungen > Kontrolleiste einrichten.
Laufwerke
Ein Klick auf eines der Festplattensymbole auf dem Desktop „mountet“ dieses Laufwerk schreibgeschützt und
zeigt anschließend ein Fenster des KDE Explorers Konquerer mit dem Inhalt des Laufwerks an. Den
Schreibschutz aufheben können Sie über das Kontextmenü des Festplattensymbols > Aktionen >Lese/Schreibmodus ändern. Bei einer Installation auf Festplatte werden die Laufwerke automatisch beim Start von
Kanotix Linux schreibfähig eingebunden. Die verfügbaren Laufwerke stehen in der Textdatei /etc/fstab.
Laufwerke haben unter Linux normalerweise keinen Laufwerksbuchstaben. Stattdessen werden Laufwerke in
leere Verzeichnisse eingehängt. Unter Kanotix finden Sie Ihre Laufwerke in den Verzeichnissen /mnt/hd*.
12. Visual FoxPro Entwicklerkonferenz 2005
6 • D-TSVL
(Gruppe SOFT)
Terminal Server mit Linux
© 2005 Markus Winhard
Für Windows Programme können Laufwerksbuchstaben simuliert werden. Diese sind aber nur für die Windows
Programme sichtbar, nicht für die diversen Linux Dateimanager.
Mitgelieferte Programme
Kanotix bringt eine komplette Office Suite mit, die MS Office Dateien lesen und schreiben kann. Startmenü >
Büroprogramme.
Es gibt diverse Editoren, einen PDF Viewer und ein Grafikprogramm, das den Vergleich mit professionellen
Windows Grafikprogrammen nicht scheuen muß. Startmenü > Graphik > GIMP Image Editor.
Auch beim Browser haben wir die Wahl. Der KDE Explorer Konquerer kann genau wie der Windows Explorer
zum Surfen im Internet verwendet werden. Das letzte Symbol der Schnellstartleiste (die Weltkugel) startet den
Browser Firebird. Mit beiden können Sie testen ob Ihre Internetverbindung funktioniert.
Für Anhänger des Norton Commanders bzw. Windows Commanders gibt es einen Klon unter Startmenü >
Dienstprogramme > Krusader. Eine Version im Textmodus zur Verwendung in den Konsolenfenstern gibt es
auch: mc.
Sogar ein Jump and Run Spiel ist dabei: Startmenü > Debian > Spiele > Arcade > Supertux. Tux ist übrigens
der Name des Linux Maskottchens, ein Pinguin.
Aber sehen Sie selbst. Unter Linux gibt es für fast alle aus der Windows Welt bekannten Programme eine
Entsprechung. Die installierten Programme stellen nur eine Auswahl dar. Es gibt noch hunderte mehr davon. Man
kann sie mit wenigen Mausklicks automatisch aus dem Internet laden und installieren lassen. Genauso einfach ist
auch die Deinstallation.
Zusätzliche Programme installieren, Update auf neuere Version
Zu diesem Zweck gibt es das Programmpaket apt. Der Name steht für A Package Tool. Die Funktionalität ist der
des Microsoft Installers recht ähnlich. Es gibt auch eine grafische Oberfläche dafür. Sie finden sie unter
Startmenü > System > KPackage. Wir verwenden hier jedoch die APT Befehle direkt. Ein kurzer Überblick über
die wichtigsten:
-
apt-get install <Paketname> lädt Programmpakete von den Distributionsservern und installiert sie
-
apt-get remove <Paketname> deinstalliert Programmpakete
-
apt-show-versions <Paketname> zeigt die aktuell installierte Version und ggf. die höchste verfügbare
Version eines Programmpakets an
-
apt-get update aktualisiert die lokale Datenbank der verfügbaren Programmpakete
-
in der Textdatei /etc/apt/sources.list stehen die abzufragenden Distributionsserver
Falls einmal ein Paket nicht in der gewünschten Version zur Verfügung steht, dann liegt das daran, daß es nicht
auf einem der in der Datei /etc/apt/sources.list eingetragenen Server zur Verfügung steht. Hier kann man mit
einem Editor weitere bzw. andere Server eintragen und es anschließend nochmal versuchen.
Benutzernamen
Kanotix kommt mit zwei vorinstallierten Benutzern. „knoppix“, das ist ein normaler Benutzer. Mit diesem
Namen werden wir automatisch angemeldet, wenn wir die Kanotix CD starten. Der zweite Benutzer heißt „root“.
Er entspricht dem Administrator unter Windows. Beide Benutzer haben kein Paßwort.
Der FreeNX Server
Warum ein zusätzlicher Server, wenn das X-Window System auch alleine kann? Diese Frage wird sich
denjenigen unter Ihnen stellen, die bereits ein bißchen Erfahrung mit Linux oder einem anderen Unix haben.
Diese Frage ist mit einem Wort zu beantworten: Performance.
Alle frei erhältlichen Clients für Windows (Cygwin, X/Deep32, etc.) sind relativ langsam. (Genaugenommen ist
der Windows Client ein X-Server. Das hat aber nur technische Hintergründe. Lassen Sie sich davon nicht
verwirren.)
Terminal Server mit Linux
© 2005 Markus Winhard
(Gruppe SOFT)
12. Visual FoxPro Entwicklerkonferenz 2005
D-TSVL • 7
Der zweite Grund ist, daß das Standard X-Window Protokoll so viele Daten über die Leitung schickt, daß man
eine Standard DSL Leitung braucht, damit ein externer Benutzer verzögerungsfrei arbeiten kann. Der
begrenzende Faktor ist hier nicht der großzügig bemessene Downstream, sondern der Upstream mit nur 128 Kb.
Deshalb entwickelt die italienische Firma NoMachine seit einigen Jahren ein kommerzielles Produkt namens NX,
das durch selektive Datenkompression, intelligentes Caching, Unterdrücken unnötiger Roundtrips und andere
Tricks den Datendurchsatz enorm verbessert. Inzwischen braucht das NX Protokoll angeblich weniger Bandbreite
als Microsofts Terminal Server Protokoll RDP.
NoMachine hat die Kernkomponenten von NX dankenswerterweise als Open Source der Allgemeinheit zur
Verfügung gestellt. Daraus haben zwei Deutsche den FreeNX Server und den FreeNX Client für Linux gebaut.
Für Windows kann der kostenlos erhältliche NX Client der Firma NoMachine verwendet werden.
Den FreeNX Server starten
Diese Auswahl startet ein Skript (unter Windows würde man sagen eine Batchdatei). Zu Beginn werden Sie
gebeten, ein Paßwort für den User knoppix zu vergeben. Am Ende werden Sie noch gefragt, welcher Key zur
Absicherung der Kommunikation zwischen dem FreeNX Server und den Clients verwendet werden soll. Bitte
wählen Sie hier den NoMachine Key aus.
MsTTCoreFonts nachladen (optional)
Windows Programme verwenden unter Linux standardmäßig einen seltsamen Font für das Menü, der unter
anderem keine Umlaute kennt. Das ist nur ein Schönheitsfehler. Die Funktionalität wird dadurch nicht
beeinträchtigt.
Das Nachladen des MsTTCoreFonts Pakets behebt diesen Schönheitsfehler. Für die Installation ist eine
Internetverbindung notwendig.
Das Installieren von Programmen unter Linux ist wie bei Windows NT/2000/XP/2003 nur mit AdministratorRechten möglich. Wir öffnen eine Konsole (das entspricht der MSDOS-Eingabeaufforderung). Durch Eingabe
von
su
(SuperUser) wechseln wir in den Benutzerkontext des Benutzers root, d.h. wir verschaffen uns für dieses
Konsolen-Fenster Administrator-Rechte.
12. Visual FoxPro Entwicklerkonferenz 2005
8 • D-TSVL
(Gruppe SOFT)
Terminal Server mit Linux
© 2005 Markus Winhard
Als nächstes bringen wir die Datenbank der verfügbaren Programm-Pakete auf den aktuellen Stand.
apt-get update
Die benötigten Fonts laden wir anschließend durch Eingabe von
apt-get install msttcorefonts
von einem Server im Internet. Sie werden automatisch installiert. Alle Fragen, die von der Installationsroutine
gestellt werden beantworten Sie durch Drücken von ENTER.
Da wir Linux von CD gestartet haben, passiert die Installation nur temporär auf einer RAM-Disk. Nach einem
Reboot sind die zusätzlichen Fonts wieder weg und müssen ggf. erneut installiert werden.
Installation des Windows Clients
Der NX Client für Windows ist als kostenloser Download auf www.nomachine.com verfügbar.
http://www.nomachine.com/download_product.php?Prod_Id=16
Terminal Server mit Linux
© 2005 Markus Winhard
(Gruppe SOFT)
12. Visual FoxPro Entwicklerkonferenz 2005
D-TSVL • 9
Da die Entwicklung bei NoMachine der freien Implementierung FreeNX immer etwas voraus ist, kann es
passieren, daß der Client bereits Features anbietet, die im Server noch nicht korrekt funktionieren. Ein solches
Feature ist z.B. derzeit die Anzeige einzelner Linux Programme in eigenen Fenstern auf dem Windows Desktop.
Der NX Client für Windows kommt als Setup Programm und wird auf die unter Windows übliche Art installiert.
Feststellen der aktuellen IP-Adresse des Linux PCs
Starten Sie eine Konsole und geben Sie ein
Ifconfig
Die gesuchte IP-Adresse steht in der zweiten Ausgabezeile hinter dem Begriff inet Adressse:
NX Client einrichten
Zum Herstellen einer Verbindung mit dem Linux PC verwenden wir folgende Parameter. Das Paßwort des Users
knoppix ist das, das Sie beim Start des FreeNX Servers festgelegt haben. Die Bezeichnung der Session ist frei
wählbar.
12. Visual FoxPro Entwicklerkonferenz 2005
10 • D-TSVL
(Gruppe SOFT)
Terminal Server mit Linux
© 2005 Markus Winhard
Bitte ersetzen Sie die IP-Adresse durch die Ihres Linux Servers.
Wenn Sie alle Angaben zu Verbindung korrekt eingegeben haben, aber der NX Client trotzdem beim ersten
Versuch keine Verbindung herstellen kann, dann kann das entweder an Ihrer Software Firewall liegen oder daran,
daß Sie die Kompressionsrate gegenüber der Standardvorgabe ADSL geändert haben (die darf erst nach der
ersten erfolgreichen Verbindung zu Ihrem Server geändert werden).
Wenn trotz korrekter Angaben beim ersten Versuch keine Verbindung hergestellt werden kann, dann hilft es in
der Regel, den NX Client zu deinstallieren und nach einem Reboot des Windows PCs erneut zu installieren.
Wenn die Verbindung zu einem Server einmal geklappt hat, dann wird sie nach meinen Erfahrungen auch in
Zukunft klappen und die Einstellungen können im Bedarfsfall jetzt geändert werden. Einstellung MODEM ist
Terminal Server mit Linux
© 2005 Markus Winhard
(Gruppe SOFT)
12. Visual FoxPro Entwicklerkonferenz 2005
D-TSVL • 11
z.B. die bestmögliche Komprimierung, d.h. höhere CPU Belastung und dafür weniger Bandbreitenbedarf auf der
Leitung zwischen Client und Linux Server.
Auf alle Fragen während des ersten Verbindungs-Versuchs antworten wir mit der vorgeschlagenen
Standardantwort.
Starten einer VFP Anwendung
Mounten Sie das Laufwerk, auf dem Ihre VFP Anwendung liegt in der oben beschriebenen Weise. Navigieren
Sie mit dem Konquerer Dateimanager ins Verzeichnis Ihrer VFP Anwendung und klicken Sie mit der rechten
Maustaste auf die EXE Datei. Wählen Sie den Menüpunkt Öffnen mit... und tragen Sie im folgenden Dialog wine
ein. Setzen Sie die Checkbox Programm diesem Dateityp fest zuordnen. Bestätigen Sie mit [OK]
12. Visual FoxPro Entwicklerkonferenz 2005
12 • D-TSVL
(Gruppe SOFT)
Terminal Server mit Linux
© 2005 Markus Winhard
Anschließend kommt ein Statusfenster das anzeigt, daß Ihre Anwendung geladen wird. Das dauert relativ lange,
da hierbei im Hintergrund zuerst einmal die simulierte Windows Umgebung gestartet wird.
Sobald Ihre VFP Anwendung erscheint, verschwindet das Wine Launch Window.
Terminal Server mit Linux
© 2005 Markus Winhard
(Gruppe SOFT)
12. Visual FoxPro Entwicklerkonferenz 2005
D-TSVL • 13
12. Visual FoxPro Entwicklerkonferenz 2005
14 • D-TSVL
(Gruppe SOFT)
Terminal Server mit Linux
© 2005 Markus Winhard
Einrichten einer Verknüpfung auf dem Desktop
Das funktioniert wie unter Windows. Es gibt nur einen kleinen Unterschied: Sie müssen nach der Auswahl der
EXE-Datei das Wort wine und ein Leerzeichen vor den Pfad schreiben.
Drucken
Windows Anwendungen unter Linux/WINE nutzen CUPS, das Common Unix Printing System. Wenn es für
Ihren Drucker einen Linux Druckertreiber gibt, dann sollte das Drucken aus Windows Programmen kein Problem
sein. Das setzt voraus, daß der Drucker an einem Gerät angeschlossen ist, das von CUPS erreicht werden kann.
Im einfachsten Fall ist das ein Drucker am Parallelport des Linux PCs.
Drucken auf einem Drucker der am Windows Arbeitsplatz hängt soll laut NoMachine ebenfalls möglich sein. Die
entsprechende Dokumentation finden Sie auf www.nomachine.com.
Windows Programme unter Linux/WINE installieren
Eine recht schöne Anleitung und spezielle Hilfsprogramme mit angepaßten Konfigurationseinstellungen für den
Internet Explorer, MS Office und einige gängige Windows Programme finden Sie auf
http://www.von-thadden.de/Joachim/WineTools/
Stolperfallen für VFP Anwendungen
Wie sie sehen läuft eine VFP Anwendung, die sich auf den Standard-Befehlsumfang von VFP beschränkt, relativ
problemlos. Folgende Einschränkungen sind bekannt:
-
DECLARE DLL Aufrufe funktionieren nur, wenn die originale Windows DLL gefunden wird.
-
WAIT WINDOWs zeigen öfter mal keinen Text an, der Text in Tooltips ist öfter mal zu kurz. Für diese
beiden Probleme existiert ein Patch von Paul McNett. Er bedingt aber, daß Sie WINE aus den
Quellcodes selbst erstellen. Eine ausführliche Anleitung finden Sie in den Unterlagen zur 2003er
Session E-LIN2 von Whil Hentzen. Aus irgendeinem Grund scheint dieser Patch nicht Bestandteil des
WINE Pakets geworden zu sein.
-
Einige ActiveX Controls, die mit Windows ausgeliefert werden, sind in WINE bereits vorhanden (z.B.
Common Controls) und dürfen nicht mehr durch die entsprechenden Windows Original Datei ersetzt
werden. Da WINE ständig weiterentwickelt wird, konsultieren Sie bitte die WINE Website
www.winehq.org um festzustellen, welche Controls in Ihrer WINE Version betroffen sind. Die WINE
Version können Sie feststellen, indem Sie in einem Konsolen-Fenster wine --version eingeben.
-
Das Anzeigen von HTML und CHM Hilfedateien ohne Installation des Internet Explorers ist gerade in
der Entwicklung und funktioniert vermutlich erst 2006 sauber.
-
Einige XML Funktionen in VFP werden teilweise durch externe MSXML Komponenten abgewickelt.
Diese müssen ggf. installiert werden.
Rechtliches
Microsoft drückt sich für einen rechtswissenschaftlichen Laien wie mich viel zu kompliziert aus, wenn es um den
Einsatz von VFP unter Linux/WINE geht. Einige VFP Entwickler sind in dieser Richtung anscheinend besser
bewandert und haben sich öffentlich zu diesem Thema geäußert. Die folgenden Sätze geben sinngemäß Ihre
Einschätzung der Rechtslage wieder.
Angeblich
-
dürfen FoxPro Applikationen bis einschließlich VFP 6 ohne Einschränkungen auf Linux laufen
-
soll es ab VFP 7 notwendig sein, daß der Anwender für den Server eine Lizenz der VFP
Entwicklungsumgebung in der jeweiligen Version erwirbt
Terminal Server mit Linux
© 2005 Markus Winhard
(Gruppe SOFT)
12. Visual FoxPro Entwicklerkonferenz 2005
D-TSVL • 15
-
müssen Sie eine eigene Lizenz der entsprechenden Windows Version für den Server besitzen, wenn Sie
originale DLLs von Windows unter WINE nutzen
-
setzt die Installation des Internet Explorers unter Linux/Wine voraus, daß für den Linux Server eine
eigene Windows Lizenz vorhanden ist
Ich möchte mich zu diesem Thema nicht äußern, da mir das Fachwissen fehlt um solch komplizierte
Rechtsverhältnisse korrekt darzustellen. Bitte lesen Sie die Lizenzbestimmungen im Zweifelsfalle selbst.
Kanotix auf Festplatte installieren
Schaffen Sie zuvor mindestens 3 GB freien Platz auf Ihrer Windows Festplatte, oder besser, nehmen Sie einen
PC, der eine freie Festplatte oder eine freie Partition hat. Löschen Sie die Partition(en) dieser Festplatte mit
Ihrem bevorzugten Tool. Öffnen Sie ein Konsolenfenster. Wechseln Sie in den Kontext des Users root durch
Eingabe von
su
Starten Sie die Festplatten-Installation mit
kanotix-installer
Famous last words
Sie sehen, daß Sie mit relativ geringem Aufwand Ihren Kunden eine Terminalserverlösung bieten können, die
zum einen stark an die gewohnte Windows Oberfläche erinnert und zum anderen geringe Anschaffungskosten
verursacht. Dem Anwender wird die Scheu vor dem Neuen genommen, da er sich gleich „zuhause“ fühlt. Nicht
zuletzt können Sie sich damit unabhängig von den Lizenzgebühren des Marktführers machen und statt dessen
Ihre eigene Arbeitsleistung verkaufen.
Bei Fragen zu diesem Skript erreichen Sie den Autor unter [email protected].
12. Visual FoxPro Entwicklerkonferenz 2005
16 • D-TSVL
(Gruppe SOFT)
Terminal Server mit Linux
© 2005 Markus Winhard
Herunterladen