Ist es möglich, MS-DOS-Anwendungen über Telnet auf einem Windows 7-System auszuführen? Einige Anwendungen, die wir hier noch verwenden, wurden nie auf neuere Systeme portiert. Nun möchte das Unternehmen die Arbeitsplätze auf Linux umstellen und die alten Anwendungen auf einem Windows-Server ausführen lassen.
Antwort1
Ja, solange die Programme von vornherein in der Eingabeaufforderung ausgeführt werden (machen Sie keine verrückten Sachen wie TSRs oder tippen Sie direkt auf den seriellen Port).
Und zu Ihrer Information: Wenn sie wirklich einfach sind, können Sie sie wahrscheinlich einfach unter Linux ausführen: DOSemu http://www.n0nb.us/ham-linux/linux/dosemuold.html http://www.dosemu.org/
Antwort2
Versuche dies http://www.bttr-software.de/products/jhoffmann/#rmenu ... ein Telnet-Server für DOS. Natürlich kann er (MS-)DOS nicht in ein Mehrbenutzersystem verwandeln, daher wird immer nur eine Verbindung gleichzeitig akzeptiert, aber er kann verwendet werden, um einen Computer, auf dem DOS läuft, über Telnet fernzusteuern....
Antwort3
Hier ist eine Lösung, die in einigen Fällen funktionieren kann, die aber bei einer Google-Suche selten erwähnt wird, nämlich die Verwendung des MS-DOS-eigenen CTTY
Befehls. Ich habe Verwendungsmöglichkeiten dafür unter MS-DOS 6.22 gefunden. CTTY
ist seit MS-DOS 2.x verfügbar, daher kann das folgende Setup möglicherweise auch mit MS-DOS 5 oder früher funktionieren. Dieses Setup scheint keinen zusätzlichen konventionellen Speicher zu verwenden.
Dieser Befehl leitet die Terminaleingabe (Tastatur) und -ausgabe (Bildschirm) über ein serielles Kabel an einen anderen Computer weiter. Ein Nullmodemkabel (7-poliger Anschluss) funktioniert hierfür. Für einen Windows-Client, der auf den MS-DOS-Terminalserver zugreift,Kittfunktioniert gut. Da der OP inzwischen möglicherweise Linux-Workstations verwendet, screen
ist dies wahrscheinlich der zuverlässigste Terminal-Client dafür, obwohl es mehrere andere Terminal-Clients gibt, die wahrscheinlich die gleiche Arbeit erledigen können (ich hatte Probleme, dies zum Laufen zu bringen picocom
). Ich hatte keine Probleme mit der Verwendung eines Seriell-zu-USB-Adapters für die Verbindung, weder unter Windows noch unter Linux.
Standardmäßig stellt MS-DOS die COM-Ports auf 2400 bps ein. Wir können diese Geschwindigkeit auf 19200 bps erhöhen und die gängigen seriellen Einstellungen von heute verwenden, indem wir Folgendes tun MODE COMx: 19,N,8,1,
(ersetzen x
durch die tatsächlich verwendete COM-Portnummer; ja, nichts nach dem 4. Komma).
Wenn das serielle Kabel an einen Linux-Computer angeschlossen ist, kann es ausgeführt werden screen /dev/ttyUSB1 19200,cs8
(wobei der tatsächlich zu verwendende serielle Portpfad entsprechend ersetzt wird). Wählen Sie bei PuTTY unter WindowsSeriellalsVerbindungstyp, wähle den COM-Port, der mit dem seriellen Kabel verbunden ist, und stelle die Geschwindigkeit ein. Ich habe auchFenster -> ÜbersetzungZuCP437. Natürlich kann dies eine andere Codepage sein, wenn die Gebietsschemaeinstellung des Ziel-DOS nicht die der USA ist.
Wenn der moderne Computer bereit und mit dem seriellen Terminal verbunden ist, sollten Sie nur einen leeren Bildschirm sehen. Geben Sie nun unter MS-DOS ein CTTY COMx
, und Sie sollten nun Ihre MS-DOS-Eingabeaufforderung unter screen
/PuTTY sehen.
Ob diese Konfiguration für den OP funktioniert, hängt davon ab, wie die Zielprogramme oder -anwendungen programmiert wurden. Es gibt mehrere Möglichkeiten für ein Programm, unter MS-DOS Text anzuzeigen und zu empfangen, und meiner Erfahrung nach ergeben sich daraus ganz unterschiedliche Ergebnisse.
Beim Starten einiger Dienstprogramme, wie beispielsweise der meisten integrierten Dienstprogramme von MS-DOS, wird alles auf dem Terminalbildschirm angezeigt und alle grundlegenden Tasten, die auf einem modernen Computer eingegeben werden, werden als Eingabe akzeptiert. Wenn Sie hingegen eine Anwendung starten, die direkt auf die Grafikkarte zugreift, wie beispielsweise EDIT.COM
, wird die Anwendung auf dem eigenen MS-DOS-Monitor angezeigt und es kann eine eigene MS-DOS-Tastatur erforderlich sein.
Ich habe andere Dienstprogramme mit sehr schlechter Kompatibilität gesehen CTTY
, die die Hälfte des Textes über das Terminal anzeigten und den Rest auf dem DOS-Monitor. Ich habe einige andere gesehen, die Text auf dem DOS-Monitor anzeigten, aber die Eingabe konnte nur vom Terminal akzeptiert werden. Aufgrund dieser Erfahrungen wird empfohlen, zuerst Ihre Ziel-Dienstprogramme/-Anwendungen/-TSRs auszuprobieren, um festzustellen, ob diese Konfiguration in Ihrer speziellen Unternehmensumgebung funktionieren würde.
Wenn Sie feststellen, dass die MS-DOS-Anwendungen Ihres Unternehmens mit diesem Setup funktionieren, sollten Mitarbeiter als Bonus per Fernzugriff über SSH oder RDP auf den Terminalcomputer zugreifen können, um zu MS-DOS zu gelangen. Mit Ihrem modernen Computer erhalten Sie außerdem Scrollback und Zwischenablage. ASCII-Escape-Sequenzen (Eingabeaufforderungsfarben usw.) werden auch auf dem Terminalclient ordnungsgemäß angezeigt, sofern ANSI.SYS
oder ein gleichwertiges installiert ist. Die DOS-Seite dieses Setups kann beim Start automatisch mit initialisiert werden AUTOEXEC.BAT
.
Weitere Informationen zu CTTY
und MODE
erhalten Sie, indem Sie help ctty
oder help mode
in eine MS-DOS-Eingabeaufforderung eingeben.
Notiz:Ich habe auch versucht, CTTY
und MODE
unter MS-DOS 7 für Windows 98SE zu verwenden, aber es hat nicht geklappt. Nachdem ich aufDieser Artikelhabe ich beschlossen, es nicht weiter zu versuchen.
Anmerkung 2:Diese Antwort ist ziemlich lang, da ich wirklich keine Webseiten gefunden habe, auf denen Erfahrungen mit dieser Methode beschrieben werden. Diese Antwort könnte jedoch möglicherweise für andere Leser von Nutzen sein, die auf diese Frage stoßen.