Ich habe ein Szenario mit einem Drucker auf einem Windows 8-Computer, der für eine FreeDOS-Instanz freigegeben werden muss, die über VirtualBox auf demselben Computer ausgeführt wird.
Anfangs hatte ich gehofft, dass es eine Druckerfreigabefunktion ähnlich wie bei VMware oder Parallels gibt, aber ich finde keine wirklich „praktische“ Option. Dieser Drucker wird häufig zum Drucken aus Windows selbst verwendet, aber dieses gute alte DOS-Programm muss auch ab und zu drucken können.
Ich dachte, die beste Option wäre vielleicht, die Netzwerkfreigabe des Druckers in Windows zu aktivieren und dann zu versuchen, den Netzwerkdrucker irgendwie mit einem virtuellen Parallelport in der FreeDOS-Instanz zu verbinden.
Bei mir funktioniert die TCP/IP-Netzwerkverbindung in der FreeDOS-Instanz einwandfrei, aber jetzt muss ich vermutlich den gemeinsam genutzten Druckeranschluss mit einem virtuellen LPTS verbinden.
Ein weiterer Gedanke, der mir durch den Kopf ging, ist, dass ich möglicherweise eine Software auf der Windows-Seite erwerben muss, um eine universellere Eingabe für DOS bereitzustellen, die daher eine einfache Zeichenausgabe über eine DOS-App ermöglicht und keine aufwändigere Treiberverarbeitung erfordert.
Irgendwelche Ideen, wie dies erreicht werden kann?
Antwort1
Ich bin mit FreeDOS-Netzwerken nicht vertraut, aber wenn Sie „net use“ auf einem freigegebenen Netzwerklaufwerk ausführen können, sollten Sie auch Folgendes tun können:
Net use lpt1 \\server\printershare
Ihre MS-DOS-Anwendung muss allerdings das Drucken auf Netzwerkdruckern unterstützen.
Wenn die MS-DOS-Anwendung versucht, den LPT-Hardwarechip direkt zu manipulieren, funktioniert dies nicht. Wenn sie auf LPT1 als Datei zugreift, funktioniert dies.
Hierzu müssen auf der Windows-Seite keine Treiber oder Ähnliches bereitgestellt werden. Die vom DOS-Client empfangenen Rohbytes werden problemlos direkt an den Drucker weitergeleitet. (Alternativ können Sie den Drucker in Windows als „Allgemein/Nur Text“-Drucker einrichten, um absolut sicher zu sein, dass Windows die Druckaufträge nicht anfasst.)
Wenn Ihre DOS-Anwendung darauf besteht, die Druckerhardware selbst zu steuern, besteht die einzige Möglichkeit, dies zu erreichen (soweit ich weiß), darin, einen echten Paralleldrucker auf dem Hostsystem zu haben und diesen Parallelport direkt der FreeDOS-VM zuzuordnen. (Er kann jedoch nicht gleichzeitig vom Hostsystem aus verwendet werden!)