我開發了一個應用程序,可以控制特定用戶對印表機的存取。我使用 CUPS 和 lpadmin 命令完成此操作
lpadmin -u allow:"+PRINT_USER_NAME+" -p "+printerName
lpadmin -u deny:"+PRINT_USER_NAME+" -p "+printerName
此命令似乎適用於除 EPSON Stylus Pro 9800 印表機之外的所有印表機。即使允許使用者列印,此錯誤訊息也會出現在佇列中
/Library/Printers/EPSON/InkjetPrinter2/Filter/rastertoescpII.app/Contents/MacOS/rastertoescpII failed
現在最重要的是,我認為這是關鍵。當允許使用者列印時,然後在 CUPS 控制面板中顯示為允許,如下所示
但是,如果我從“允許”和“阻止”列表中完全刪除該用戶,本質上是說允許列印,那麼一切都會很好。因此,僅當使用者位於 CUPS 控制的允許清單中時才會出現錯誤訊息。
所以我可以想到兩個選擇:
1) 找出為什麼使用 CUPS 進行存取控制會導致該特定印表機出現此問題。
2) 弄清楚如何(使用命令列)在不使用命令的情況下將使用者從拒絕清單中刪除lpadmin -u allow
。這應該會使用戶不再位於任何 CUPS 存取控制清單中,這已被證明是有效的。
選項#2 似乎是最簡單的選項。請幫忙?
答案1
想通了,當也有選項並使用指令時
lpadmin -u allow:all -p "+printerName
這基本上清除了批准端和拒絕端的 CUPS 存取控制列表,從而為我提供了我想要的有效結果。儘管我很好奇為什麼會發生這種情況。