PM2应用程序在打印时被拒绝权限



我有一个正在运行的 pm2 应用程序,该应用程序的打印方法因 EACCES 而失败:权限被拒绝,打开/dev/sopa_printer0 但是,如果使用节点手动执行应用程序,则打印没有问题。打印机是/dev/sopa_printer0

从 pm2 日志:

Print failed Print failed: Error: EACCES: permission denied, open '/dev/sopa_printer0'

从命令行:节点服务器.js 它打印正确。

知道我可以从哪里开始调试吗?

node version 10.0.0
npm version 6.0.0
pm2 version 2.10.3

我使用以下方法将我的用户添加到 lp 组:

sudo adduser $USER lp
cat /etc/group | grep -i lp
lp:x:7:imagineing

想象是我的用户

$ ls -alh /dev/sopa_printer0
lrwxrwxrwx 1 root root 7 May 26 12:35 /dev/sopa_printer0  -> usb/lp0
$ ls -alh /dev/usb/lp0
crw-rw---- 1 root lp 180, 0 May 26 12:35 /dev/usb/lp0

最后我解决了我的问题。我将 777 添加到/dev/usb/lp0 设备(我认为其他组合可以工作,但应用程序现在可以工作(

$ ls -al sopa_printer0
lrwxrwxrwx 1 root root 7 May 26 12:35 sopa_printer0 -> usb/lp0
$ ls -al usb/lp0
crwxrwxrwx 1 root lp 180, 0 May 26 12:35 usb/lp0

最新更新