标签: printer

如何确定打印机的用户基本页数限制?

我使用的是 Debian Linux。我想确定打印机的用户基本页面限制,不同用户的不同页面限制。

我可以确定带有 CUPS 的打印机的页面限制,但无法确定单个用户的页面限制。

我怎样才能实现这个目标?

cups quota printer

5
推荐指数
1
解决办法
2235
查看次数

登录或插入USB设备唤醒网络打印机

我最近刚刚安装了 Arch Linux,并注意到网络打印机(三星 C1860FW 型号)出现了一些奇怪的行为。我已通过 IPP 将 CUPS 连接到打印机,并使用 FooMatic 的 PPD。

每当我登录或插入闪存驱动器或 USB 设备时,打印机就会被唤醒。没有打印任何内容,但打印机的触摸屏打开并预热并准备打印,就像我按下电源按钮将其从睡眠模式唤醒一样。我将 CUPS 日志记录更改为调试级别并运行,udisksctl monitor但没有显示任何相关内容。但是,登录控制台不会触发此操作;仅登录 Plasma。(我没有安装任何其他桌面。)

当我将设备插入电脑时会发生这种情况(后端口或前端口似乎并不重要)。

PC通过以太网/CAT5e连接;带 WiFi 的打印机。两者都直接连接到网关,也连接了一个交换机,但未使用。

打印机包含“SyncThru Web 服务”。我可以更改打印机保持预热的时间长度,但不能更改导致其唤醒的操作。

编辑:使用 Wireshark,数据包将发送到端口 9400 TCP,这显然意味着三星设备上的 TWAIN 协议,因此这与扫描有关。(我也将其连接为网络扫描仪。)

编辑2:使用NetHogs,我发现正在colord-sane发送数据包。我也发现了这一点,但没有关于如何禁用此行为的相关答案。我将进一步调查...

编辑3:我在SE上发现了关于同一问题的另外两个问题:thisthis。唯一的答案是卸载 colord,这可能是我必须要做的。

编辑4:我重命名了彩色服务文件。暂时修复了。

printing cups ipp printer plasma5

5
推荐指数
1
解决办法
322
查看次数

打印机驱动程序还需要吗?

在 CUPS 中添加新打印机时,可以使用特定打印机型号的驱动程序,也可以使用“无驱动打印”。据我所知,现在几乎每台新打印机都支持 AirPrint,因此应该可以使用 CUPS 进行无驱动打印。

此外,Debian Wiki 上的打印文档(据我所知,其中大部分也适用于使用 CUPS 的非 Debian 系统)似乎表明无驱动打印是首选,甚至打印机驱动程序最终也不会不再支持 CUPS。例如参见无驱动打印部分。

是否有任何理由仍然需要或可取地使用打印机驱动程序?特别是,在购买用于 Linux 的新打印机时,是否有任何理由担心该特定打印机的 Linux 驱动程序的可用性(或缺乏),或者是否足以检查它是否支持 AirPrint?

drivers printing cups printer

5
推荐指数
1
解决办法
196
查看次数

如何使 CUPS 在 USB 打印机断开连接时将其显示为已禁用?

我在 ARM 单板计算机上使用 CUPS 通过网络共享 USB 打印机。为了节省电力,打印机通常通过远程控制电源插座关闭电源,仅在需要时通过网络界面打开。通电后,打印机大约需要半分钟时间进行初始化并准备好接受打印作业。

即使打印机已关闭或仍在初始化,CUPS 也会将打印机显示为“空闲”和“就绪”,但lsusb在打印机仍处于不可用状态时不会显示打印机。
我想要一种方法来判断打印机在发送打印作业之前是否已开机并初始化(如果打印机不可用,则可能会挂起或掉落)。

udev cups printer

4
推荐指数
1
解决办法
2138
查看次数

如何启动打印机驱动程序?

我熟悉内核模块并听说过 IPP、PPD、PS、PCL、PDL 打印机驱动程序概念。我已经读到Mac/Windows 上预装了“通用”打印机驱动程序,因此您不必安装自定义驱动程序,它使用户体验无缝。

有鉴于此,我正在寻找这些通用驱动程序的外观(假设它是一个内核模块)。还没有找到关于这个主题的任何例子,但找到了这些存储库:

  1. https://github.com/koenkooi/gutenprint
  2. https://github.com/OpenPrinting/cups-filters
  3. https://github.com/watson/ipp-printer
  4. https://github.com/apple/cups

与这些相关,我在 Gutenprint 中找到了:src/main/print-lexmark.csrc/main/canon-printers.h,其中包含这些cap_t~table~ 东西,似乎具有为单个打印机型号编码的功能。这似乎有很多工作要做。有一个巨大的支持的Gutenprint打印机列表在这里

我的问题分为几个部分:

  1. 如果这些打印机规格/功能(如上面的 2 个链接)是反向工程的,或者是从某种规格中获得的。(有点切题的问题)。
  2. 在上面列出/编号的 4 个 GitHub 存储库中的任何一个中,存在“通用”设备驱动程序,例如用于 PCL 或 PCD 或 PPD。
  3. 我应该寻找驱动程序的概念:PPD、PCL、PDL、PS、IPP。听起来 PPD 是打印机定义的配置格式,而 PS/PCL(可能还有 PDL)是主要的驱动程序规范语言/格式,而 IPP 是一种驱动程序协议,但并未得到广泛支持。PS用于高质量照片,而PCL用于标准文档打印。这就是为什么我特别关注 PCL 而不是 PS,但我还没有在 GitHub 上找到任何“通用 PCL 驱动程序”之类的东西,并且不确定这是否是我应该寻找的。
  4. 否则,如果在我提供的内容之外存在任何开源打印机驱动程序,这些驱动程序提供了一个实现示例。

drivers printing printer

2
推荐指数
1
解决办法
664
查看次数

如何设置`export LC_PAPER=a4` 以不破坏应用程序?

我不得不export LC_PAPER=a4从我的中删除,~/.bashrc 因为它破坏了字符显示screen和其他一些应用程序:符号在 `screen` 中显示错误 - ascii 或 utf

因此,问题是,如何a4在不破坏事物的情况下设置为默认页面大小(因此在 Chrome 和其他应用程序中是默认值)?

不,我不想更改整个国家/地区/语言区域设置。我只想改变LC_PAPER-> 有可能以非破坏性的方式制作吗?我错过了什么?

bash unicode locale printer

2
推荐指数
1
解决办法
24
查看次数

通过后台 shell 脚本提升权限

我想写入位于/dev/usb/lp0. 该文件归lp用户和组所有。每当我将打印机设备连接到系统时,就会创建此文件。

我尝试将自己添加到lp组中。但是,lp0连接打印机时该文件不会出现。将自己从群组中移除可以解决此问题。


获得写入权限的一种解决方案是-

  1. 每当设备连接时检测
  2. 触发运行的 shell 脚本 sudo chmod 0666 /dev/usb/lp0

这让我在https://unix.stackexchange.com/a/28711找到了答案


shell 脚本被成功触发,但它不运行sudo command*,因为 shell 脚本不是从终端执行的。我曾尝试使用sudogksudo,但都未能提示我输入密码,即,我无法通过后台 shell 脚本升级权限

我尝试过什么?

  1. setuid来自Unix & Linux @ StackExchange,但这似乎是一个非常糟糕的主意。
  2. echo 'my_insecure_password' | sudo -S command,它没有用*。

Polkit由于其复杂程度,我没有尝试,这是在其他答案中建议的。但我愿意按照正确的方向去做。

shell permissions printer

1
推荐指数
1
解决办法
301
查看次数

标签 统计

printer ×7

cups ×4

printing ×3

drivers ×2

bash ×1

ipp ×1

locale ×1

permissions ×1

plasma5 ×1

quota ×1

shell ×1

udev ×1

unicode ×1