
Ich versuche, ein Linux-Programm auf Windows 7 zu portieren, das einen LPR-Befehl von einem WebSocket empfängt und den Befehl an einen lokalen Vinylschneider sendet. Die Windows-LPR-Implementierung ist anders und es gibt nicht viele Ratschläge, an die man sich halten könnte.
Ich habe die LPR-Dienste in Windows aktiviert und den Vinylschneider als LPR-Drucker installiert. Er druckt problemlos aus Illustrator oder so. Wenn ich jedoch versuche, den Drucker per LPR oder LPQ zu aktivieren,
C:\Users\M> lpq -S 127.0.0.1 -P vinyl
Windows LPD ServerError: specified printer does not exist
C:\Users\M> lpq -S <full computer hostname> -P vinyl
Windows LPD ServerError: specified printer does not exist
C:\Users\M> lpq -S google.com -P vinyl
*times out*
Es ist ziemlich schwierig, beim Googeln Hilfe zu diesem Fehler zu finden. Da mein Drucker lokal ist, könnte es ein Berechtigungsproblem sein? Ich weiß nicht viel über Windows. Ich habe versucht, es in Cygwin zu machen, aber Cygwin scheint auch die Windows-LPR-Version verwenden zu wollen.
Antwort1
Der LPD-Server in Windows mag keine Loopback-Adressen. Versuchen Sie stattdessen, die tatsächliche IP-Adresse auf dem Netzwerkadapter zu verwenden.
Antwort2
Die meisten Geräte dieser Art haben Windows-Treiber und man muss diese Hürden überwinden, um sie unter Linux zum Laufen zu bringen. Ich würde zunächst versuchen, einen Windows-Treiber und eine entsprechende Software zu verwenden, wobei das Gerät an den Windows-Rechner angeschlossen ist. Normalerweise ist es einfacher, einen Linux-Rechner dazu zu bringen, ein Windows-Gerät gemeinsam zu nutzen, als umgekehrt. Eine Problemumgehung könnte sogar darin bestehen, ihn einfach auf beiden Rechnern als lokalen Drucker einzurichten und dann das Kabel zwischen den Rechnern zu verlegen.
Kann das Gerät als Netzwerkgerät eingerichtet werden, das direkt mit dem Router verbunden ist (eine einfachere Einrichtung)?
Wenn es einen Grund gibt, warum das Gerät mit dem Linux-Computer verbunden werden muss, liegt möglicherweise ein Berechtigungsproblem vor. Stellen Sie sicher, dass das Gerät für die öffentliche Freigabe (jeder Benutzer) eingestellt ist.
Noch ein Gedanke: Es gibt mehrere Möglichkeiten, einen Netzwerkdrucker anzusprechen. Versuchen Sie es mit einer der anderen Methoden zur Angabe (ipp, http, AppSocket usw.). Wenn Sie einen anderen Linux-Computer haben, können Sie ihn am einfachsten den Drucker suchen lassen und dann die URI kopieren.