Post by JoergPost by Marcel MuellerPost by JoergMoin Leute,
Ein gutes neues Jahr Euch allen.
Ein 32-bit Windows Programm in PlayOnLinux installiert laeuft zwar
gut, meckerte beim Drucken aber mit "No default printer selected - Use
Windows Control panel to ...". Ein Windows Control Panel gibt es hier
natuerlich seit Jahren nicht mehr :-)
Ist denn auf deinem Linux einer der eingerichteten Drucker als
"Standarddrucker" eingestellt?
Geh doch mal auf <http://localhost:631/printers/> und schau die
Drucker an, ob einer davon das Flag "Server Default" hat.
Notfalls kannst du das über das Dropdown-Menu
"Administration" → "Set as Server Default" setzen. (Passwort für root
oder einen Nutzer aus der Gruppe lpadmin bereithalten.)
Alternativ kann man den Standarddrucher auch auf der Kommandozeile mit
$ lpadmin -d druckername
setzen.
Post by JoergPost by Marcel MuellerEin Windows-Programm will halt auch einen Windows Druckertreiber sehen.
Alternativ geht auch eine Emulation, die aber dann natürlich nicht alle
Eigenschaften und Optionen des konkreten Druckers abbildet.
Laut der Dokumentation von WINE ist das nicht so.
<https://gitlab.winehq.org/wine/wine/-/wikis/Wine-User's-Guide#wine-features>:
| ...
| Printing: PostScript interface driver to use standard Unix PostScript print services, such as CUPS
| ...
<https://gitlab.winehq.org/wine/wine/-/wikis/Wine-User's-Guide#printers>
| Wine can interact directly with the local CUPS printing system to
| find the printers available on your system. Configuring printers with
| Wine is as simple as making sure your CUPS configuration works.
|
| If you do not use CUPS, the old BSD-Printing system is used:
|
| * All Printers from /etc/printcap are installed automatically in Wine.
| * Wine needs a PPD file for every Printer (generic.ppd comes with Wine).
| * The lpr command is called when printing a document
Das sollte also völlig transparent sein, wenn Drucken mit CUPS unter
Linux funktioniert.
Der zweite Punkt wäre als Fallback auch noch interessant. Falls WINE
nicht direkt mit CUPS reden mag, funktioniert ja vielleicht die
"lpr-Emulation" von CUPS. Dazu müsste man das Paket "cups-bsd"
installieren.
Post by JoergPost by Marcel MuellerPost by Joergapt install libcups2:i386
Danach aenderte sich die Fehrlermeldung in "The printer driver is
missing or not valid". Leider funktioniert der Drucker seitdem von
Linux aus nicht mehr mit CUPS. Bei der Installation von libcups2:i386
muss es wohl etwas am 64-bit CUPS Treiber zerschossen haben.
1. Das ist kein Treiber sondern eine Bibliothek, die dazu da ist, dass
die Anwendung mit CUPS reden kann. Durch die Installation wird
nichts an der Konfiguration geändert. Insbesondere nicht für andere
Linux-Programme. Wenn sich nur durch die Installation was an der
Konfiguration von CUPS ändert ist in deinem MX-Linux irgendwas ganz
gewaltig kaputt.
2. Sollte die Bilbiothek bei der Installation von wine (bzw.
eigentlich genauer wine32 für 32-Bit-Windows-Programme) automatisch
installiert worden sein.
Im richtigen Debian gibt es u.a. die Abhängigkeiten
"wine32" depends on "libwine" und
"libwine" recommends "libcups2"
(Die Architekturangabe ":i386" hbe ich jetzt mal der einfachheit
bei den Paketamen weggelassen.)
Recommends sind keine harten Abhängigkeiten, aber die sollte man halt
nur ignorieren, wenn man weiß, was man tut.
Hast du dein APT so konfiguriert, dass es "Recommends" nicht
automatisch installiert oder waren das die Macher von MX-Linux?
Post by JoergNotfalls ginge das. Es ist aber alles alte Software ohne direkten
PDF-Support, also ginge es nur, wenn ich irgendwie einen generischen
PDF-Druckertreiber reinfriemele.
Henne-Ei-Problem. Sowas gibts im Paket "printer-driver-cups-pdf" sogar
für CUPS.
Ich mache aber um das ding einen großen Bogen, da ich das erstens für
einen ziemlich üblen Hack halte. Und zweitens ich es bis jetzt immer
geschaft habe entweder direkt im Programm eine PDF zu erzeugen oder
zumindest etwas, was man leicht nach PDF konvertieren kann.
Post by JoergEs handelt sich dabei um Software, die es entweder gar nicht mehr gibt
oder fuer die es kein Linux-Aequivalent gibt.
Ist die Software wenigstens so schlau, dass sie eine Auswahldialog für
den Drucken hat? So dass man sehen kann, welche Drucker überhaupt zur
Auswahl stehen. Oder kann das Ding nur doof auf den Standarddrucker
und sonst nix drucken?
Funktioniert(e) es denn mit anderen Anwendungen unter WINE? Oder hast
du nur das eine spezielle Programm?
Post by JoergPost by Marcel MuellerPost by JoergMoeglichst so, dass es auch fuer 32-bit Software funktioniert.
Linux kann (im Gegensatz zu Windows) keine Thunking-Layers, die von 32
nach 64 Bit konvertieren. Dateien für unterschiedliche ABIs können nur
koexistieren. Aber exklusive Ressourcen wie z.B. physikalische Ports
oder Netzwerkports kann nur immer nur einer nutzen.
Also keine logische Umschaltung? Grmpf.
Das ist in dem konkreten Fall vollkommen Wurst. Mit CUPS redet die
Anwendung über einen Socket. Das Reden mit dem Drucker über nimmt der
cupsd oder ein von ihm gestartetes Programm.
Ob die Anwendung, die drucken will und mit dem Socket spricht, jetzt
32- oder 64-Bit hat, ist dabei egal. Solange eventuell über den Socket
ausgetauschte Binärdaten vernünfig definiert sind, versteht sich.
Post by JoergPost by Marcel MuellerPost by JoergVon Linux aus erreiche ich beide Drucker allerdings auch ueber den
Canon-Treiber, der nach wie vor funktioniert.
Also geht er doch noch?
Ja, aber nicht mehr per CUPS. Nur noch mit dem UFRII-LT Treiber, der von
Canon kommt.
Hä? Reim dir bitte keine seltsamen Theorien zusammen.
<https://asia.canon/en/support/0100924010>:
| ...
| "Canon UFR II/UFRII LT Printer Driver for Linux" is a Linux
| operating system printer driver that supports Canon devices. It uses
^^^^^^^
| the CUPS (Common Unix Printing System) printing system for Linux
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| operating systems. Installing this driver enables you to print with
^^^^^^^^^^^^^^^^^
| built-in device functions from the GUI (Graphical User Interface)
| settings screen and command line.
| ...
Da wird also auch im CUPS nur ein Drucker eingerichtet, der dann den
"Canon Treiber" zum Aufbereiten der Druckdaten für den Drucker nutzt.
Kurzfassung: CUPS ist ein Spooler. Da richtet man Drucker (eigentlich
Warteschlangen) ein. Dazu gehört jeweils eine Beschreibungsdatei (PPD)
wo u.A. drinsteht, wie die Druckdaten für den Drucker aufbereitet
werden müssen. Z.B. mit dem "Canon Treiber". Eine Anwendung, die
drucken will schickt die Daten an die entsprechende Warteschlange
(nicht an den "Treiber") und CUPS kümmert sich um den Rest.
Wenn du also noch "über den Canon Treiber" drucken kannst, hast du
noch mindestens einen funktionierenden Drucker in deiner
CUPS-Konfiguration. Du musst ihn nur auswählen.
Post by JoergPost by Marcel MuellerPost by JoergInteressanterweise war das auf einem anderen PC mit MX-19 (Debian-9
basiert) kein Problem. Dort druckt die gleiche Software sowohl ueber
CUPS als auch ueber den proprietaeren Canon Treiber, von WINE 32-bit
als auch aus dem Linux-OS heraus, ohne dass ich etwas fuer 32-bit
hinzuinstallieren musste.
Schau mal, was da in Wine für ein Drucker konfiguriert ist. Ist das
wirklich deiner? Oder ist es eine CUPS-Emulation?
Ich benutze PlayOnLinux, im Prinzip eine GUI Shell fuer WINE, mit der
man fuer jede Software die passende Windows-Version waehlen kann. Muss
ich, weil einige Software nur mit 32-bit Windows laeuft und andere nur
in 64-bit. Dort gibt es keiner Drucekrkonfiguration, es soll alles ueebr
CUPS gehen. Nur funktioniert das nicht.
Findest du wirklich keine Anwendung, die in der lage ist unter WINE
eine Liste der zur Verfügung stehenden Drucker anzuzeugen?
IIRC sind bei WINE doch so Demo-Programme wie Notepad.exe dabei. Haben
die keine Druckfunktion?
Lutz