如何从 Ubuntu Core 18 上的信息亭应用程序打印到连接的 USB 打印机?

如何从 Ubuntu Core 18 上的信息亭应用程序打印到连接的 USB 打印机?

我是 Ubuntu Core 和 Snaps 的新手,所以请耐心等待。

我认为我缺乏对 snap 的工作原理和交互方式的了解。我读过 snap 接口/连接、插头和插槽,但我无法相信 snap 无法打印。

背景: 在安装在 Intel NUC 上的 Ubuntu Core 18 上,我尝试使用基于 electron 的自助服务终端应用程序运行自助服务终端(基于 Ubuntu 教程制作基于 HTML5/Electron 的 Kiosk Snap)。

在我开始打印之前,信息亭运行良好。

通过 ssh 进入 Ubuntu Core 并从用户 root(sudo su - root)后,能够成功将文本直接发送到连接 USB 的收据热敏打印机。

ls -la > /dev/usb/lp3

安装打印堆栈快照好了,我能够像 Ubuntu One 用户一样,通过使用以下任何一个命令成功安装 Ubuntu Core 18,将文本文件传输或打印到 cups 打印机。

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

从应用程序本身,使用 node.js 子进程,能够执行 shell 命令,但无法调用 printing-stack-snap.lp 命令。收到执行错误:/bin/sh: 1:未找到 printing-stack-snap.lp。

这可能与 Ubuntu Core 权限的工作方式有关。如果无法打印销售收据,那么将 Ubuntu Core 用作自助服务终端环境有什么用呢?

任何指导和帮助都将不胜感激。

答案1

这一变化https://github.com/snapcore/snapd/pull/8329它当前位于边缘通道的 snapd 中,应该可以帮助您使用 snap 中的 raw-usb 接口直接访问 /dev/usb/lpX ...

相关内容