打印机设置

来自 Alpine Linux
(重定向自 Cups)

首先,您需要 CUPS。如果您有 Hewlett-Packard (HP) 打印机,请添加 HPLIP 软件包。 其中一些软件包在 main 之外,需要配置适当的仓库。 请参阅下面的提示。

# apk add cups cups-pdf cups-filters hplip

提示:与所有安装过程一样,Alpine 的软件包管理 可以指导您了解是否需要从其他仓库(例如 @testing)而不是已启用的 mainedge 仓库中拉取各种软件包,只要其他仓库已固定。 例如,对于 x86_64 系统上的 Alpine 版本 3.7.0,apk 会引导您替换为 cups-pdf@testinghplip@testing

确认 cups 启动。 您也可以将其设置为在启动时运行。

# rc-service cupsd start

# rc-update add cupsd boot

使用您的 Web 浏览器转到 http://localhost:631,然后按照步骤“添加打印机”。 它会要求您登录以添加打印机。 以 root 用户身份登录,然后完成步骤。 完成后,您应该可以打印了。

如果这不起作用,您可能还需要单独添加 HPLIP 的依赖项。 目前没有适用于 CUPS DDKhp-setupfoomatic 的软件包。

# apk add ghostscript py3-reportlab libjpeg net-snmp


此材料需要扩展...

需要修改/章节,例如解决容器用户案例场景等。


为 USB 打印机配置 mdev

默认情况下,使用 mdev 的 USB 打印机将具有 root:root 所有权和 0660 权限。 由于 cupsd 会尝试以 lp 用户身份打开基于 libusb 的打印机,因此它将没有权限使用 /dev/bus/usb 中的设备。

首先,让我们获取有关 USB 打印机的一些信息。

# lsusb.py -uU | grep Printer
 3-2               04b8:0007 00 1IF  [USB 2.00,   480 Mbps,   2mA] (EPSON USB2.0 Printer (Hi-speed) 55PKAZZ15776790829)
# grep -H "" /sys/bus/usb/devices/usb3/3-2/{id{Vendor,Product},bcdDevice}
/sys/bus/usb/devices/usb3/3-2/idVendor:04b8
/sys/bus/usb/devices/usb3/3-2/idProduct:0007
/sys/bus/usb/devices/usb3/3-2/bcdDevice:0100

这些对于我们区分打印机很重要。

# cat >> /etc/mdev.conf <<EOF
SUBSYSTEM=usb;PRODUCT=4b8/7/100;.* root:lp 660 */lib/mdev/usbdev
EOF

拔下 USB 电缆并重新插入。 现在,/dev/bus/usb/ 上的 USB 打印机设备将具有有效的 所有权和权限。

# ls -l /dev/bus/usb/002/011
crw-rw---- 1 root lp 189, 138 Apr 14 21:19 /dev/bus/usb/002/011

CUPS 现在可以使用 libusb 来发现本地 USB 打印机。

桌面环境

此外,在桌面环境中,您可以按如下步骤操作。

检查 root 和用户的用户名 (yourusername) 是否已经是 lplpadmin 组的成员。 注意:如果 yourusername 应该能够使用其密码管理 CUPS 系统,则可以将其添加到 lpadmin 组。

$ groups root

root bin daemon sys adm disk wheel floppy dialout tape video

$ groups yourusername

yourusername disk wheel audio cdrom dialout video users plugdev

如果不是,请添加它们

# adduser root lp # adduser root lpadmin # adduser yourusername lp # adduser yourusername lpadmin

启动 CUPS (cupsd) 并使其在启动之间持久存在;然后重启

# rc-service cupsd start # rc-update add cupsd # reboot

通过 KDE Plasma 设置管理打印机

要从 KDE Plasma 设置管理打印机,需要在 /etc/cups/cups-files.conf 中将 “root” 添加到 SystemGroup。

例如:

SystemGroup root lpadmin

通过命令行管理打印机

感谢 ArchWiki 优秀的 CUPS 页面,提供了以下基本步骤的指导。

定位您的打印机

连接打印机并开机后,确定打印机的 URI。 根据连接是通过 usb 还是 parallel 端口,URI 将带有 usb://parallel:/ 前缀。

$ lpinfo -v #
network lpd
network socket
network beh
file cups-brf:/
direct usb://HP/LaserJet%202200
network ipp
network ipps
network https
network http
direct hp

在上面的示例中,URI 是 usb://HP/LaserJet%202200

查找 .ppd 或 .ppd.gz 驱动

如果您的打印机支持 IPP Everywhere -- 大多数新型号都支持 -- 请参阅 cups-filters 中的 driverless 命令

$ driverless ipp_uri > printer.ppd

或者只需将 -m everywhere 传递给 lpadmin

否则,您可以运行 lpinfo -m 列出所有可用的驱动程序,然后在结果中搜索以查找特定于您的打印机的 .ppd 或 .ppd.gz。 一个快速的解决方案是使用 --make-and-model 标志和 grep,通过以这种方式插入打印机的制造商、型号和系列来过滤结果

$ lpinfo --make-and-model "make_and_model_names" -m | grep -i printer_series
提示
  • 搜索术语 HP 以查找 Hewlett-Packard 的实例。
  • 您不需要完全说明 printer_series,例如,2200 可能比搜索 2200M 等更可取。

例如,输入

$ lpinfo --make-and-model "HP LaserJet" -m | grep -i 2200

从结果中,您可以选择以下 .ppd 驱动

drv:///hp/hpcups.drv/hp-laserjet_2200_series.ppd

如果需要,可以通过安装 gutenprint 并再次运行 lpinfo 搜索来获得其他驱动程序。 这些可能未指定 .ppd 名称。

# apk add gutenprint gutenprint-doc

配置队列

使用您选择的 queue_name 创建队列。 您选择的打印机名称是一个明显的选择,但不要使用空格。
您还需要成为 root 用户或使用 sudo,并且还需要插入 URI 和 .ppd 驱动

# lpadmin -p queue_name -E -v "uri" -m driver

使用此示例,您可以按如下方式设置,但还有其他解决方案。

# lpadmin -p HP_LaserJet_2200 -E -v "usb://HP/LaserJet%202200" -m drv:///hp/hpcups.drv/hp-laserjet_2200-pcl3.ppd

此打印队列可以设置为默认

# lpoptions -d HP_LaserJet_2200

打印机设置通常可以在您的 GUI 应用程序的打印菜单中设置,或者通过查看 CUPS lpoptions 页面来设置。 如果您只有一个队列,则可以使用 -l 标志简单地列出队列的可用设置选项(例如页面类型、双面打印等)。星号 (*) 表示当前设置

# lpoptions -l
PageSize/Media Size: Card3x5 Hagaki Photo4x6 A6 Photo5x7 Card5x8 Oufuku A5 B5 JB5 Executive 16k Letter *A4 ExecutiveJIS FLSA Legal EnvA2 EnvC6 EnvChou4 EnvMonarch EnvDL Env10 EnvChou3 EnvC5 EnvB5 Custom.WIDTHxHEIGHT
Duplex/Double-Sided Printing: DuplexNoTumble DuplexTumble *None
InputSlot/Media Source: *Auto PhotoTray Upper Lower Envelope LargeCapacity Manual MPTray
ColorModel/Output Mode: *Gray
MediaType/Media Type: *Plain
OutputMode/Print Quality: *Normal Draft Best
OptionDuplex/Duplexer Installed: *False True

如果只有一个队列,则可以通过为每个设置简单地使用 -o 标志来设置选项

# lpoptions -o PageSize=Legal -o Duplex=DuplexNoTumble

参见