Wie drucke ich von einer Kiosk-App unter Ubuntu Core 18 auf einem angeschlossenen USB-Drucker?

Wie drucke ich von einer Kiosk-App unter Ubuntu Core 18 auf einem angeschlossenen USB-Drucker?

Ich bin neu bei Ubuntu Core und Snaps, also haben Sie bitte Geduld mit mir.

Ich glaube, mir fehlt ein Teil des Wissens, um zu verstehen, wie Snaps funktionieren und miteinander interagieren. Ich habe mich über Snap-Schnittstellen/-Verbindungen, Stecker und Steckplätze informiert und kann nicht glauben, dass das Drucken von einem Snap aus nicht möglich ist.

Einige Hintergründe: Auf einem Ubuntu Core 18, das auf einem Intel NUC installiert ist, versuche ich, einen Kiosk mit einer auf Elektronen basierenden Kiosk-App auszuführen (basierend auf dem Ubuntu-TutorialErstellen Sie einen HTML5/Electron-basierten Kiosk-Snap).

Der Kiosk funktioniert gut, bis ich zum Drucken komme.

Nach der SSH-Anmeldung zum Ubuntu-Core und vom Benutzer „Root“ (sudo su - root) aus kann ich erfolgreich Text direkt an einen über USB angeschlossenen Thermo-Quittungsdrucker senden.

ls -la > /dev/usb/lp3

InstallierenDrucken-Stapel-SnapSnap, ich kann eine Textdatei an den CUPS-Drucker weiterleiten oder drucken, wie es der Ubuntu One-Benutzer zum Installieren von Ubuntu Core 18 verwendet hat, indem ich einen der folgenden Befehle erfolgreich verwendet habe.

cat <text file> | printer-stack-snap.lp -d printer
printer-stack-snap.lp -d printer <text file>

Von der App selbst aus kann ich mithilfe des untergeordneten node.js-Prozesses einen Shell-Befehl ausführen, aber nicht den Befehl printing-stack-snap.lp aufrufen. Ich erhalte einen Ausführungsfehler: /bin/sh: 1: printing-stack-snap.lp nicht gefunden.

Dies hängt wahrscheinlich damit zusammen, wie die Berechtigungen des Ubuntu-Kerns funktionieren. Was nützt es, Ubuntu Core als Kioskumgebung zu verwenden, wenn man keinen Kaufbeleg ausdrucken kann?

Ich wäre für jede Anleitung und Unterstützung dankbar.

Antwort1

Dieser Wandelhttps://github.com/snapcore/snapd/pull/8329das sich derzeit im Edge-Kanal von Snapd befindet, sollte Ihnen dabei helfen, die Raw-USB-Schnittstelle in Ihrem Snap zu verwenden, um direkt auf /dev/usb/lpX zuzugreifen …

verwandte Informationen