Using CUPS to manage your printers in GNU — Fr 20 September 2024

你好,世界!

无论你是办公,还是学习,打印文档都是一个必不可少的日常应用。如何在 GNU 系统上进行打印呢?

GNU 系统最常用的打印管理软件是 CUPS。CUPS 是自由软件,它使用 IPP(因特网打印协议)与打印机通信,支持本地打印机和网络打印机。现代打印机基本上都支持 IPP,所以 CUPS 直接支持它们;对于一些较早的打印机,则在安装相应的打印机驱动(通常是 PPD 文件)之后也可以正常获得 CUPS 支持。

CUPS 提供网页管理界面(通常是 localhost:631),通过浏览器打开 CUPS 的网络管理页面你可以直观地检测已连接的打印机、添加打印机、设置打印机参数并管理打印任务。

本文的目的不是详细介绍 CUPS 的网页管理,而是想给大家按照操作步骤介绍一些 CUPS 的命令行管理。

安装

几乎所有的 GNU/Linux 发行版都带有 CUPS 软件包,所以只需按照发行版的安装方式安装即可,比如在 Debian GNU/Linux 下

sudo apt install cups

安装之后,有时需要做 CUPS 服务启动和用户组分配:

systemctl start cups.service
systemctl enable cups.service  # 系统启动是自动启动 CUPS
gpasswd -a username lp         # 添加用户到打印组
gpasswd -a username lpadmin    # 添加用户到打印管理组

查找打印机

当你连接了本地打印机或本地网络中有共享打印机时,你可以使用 CUPS 命令查看你的电脑是否发现了可用的打印机:

lpinfo -v

它会列出可用打印机的链接(link-of-printer:e.g.,dnssd://foo...),包括本地和网络。

然后,你可以再用命令

lpinfo -m

列出打印机驱动的列表(driver-of-printer:e.g.,drv:///bar...)。

添加打印机

在检测到打印机并找到其驱动之后,我们就可以使用 lpadmin 命令来添加打印机,举例如下:

lpadmin -p printer-name -D "打印机描述" -L "打印机位置" -E -v link-of-printer -m driver-of-printer -o PageSize=A4 -o printer-is-shared=true

其中, -E:表示启用该打印机 -o:可以定义一系列标准的打印机默认设置值,比如纸张、是否共享等。

设置默认打印机

如果你想把一个打印机设置为默认打印机,可以使用命令:

lpadmin -d printer-name

删除打印机

删除打印机的命令是:

lpadmin -x printer-name

打印文件

通常你的文本编辑器、浏览器或其他图形界面的工具都会有打印菜单。你在打印菜单可以找到已经设置好的打印机,并且可以打印。如果要从命令行打印,可以输入命令:

lp -d printer-name file-name

或者输入命令:

lpr -P printer-name file-name

当然,CUPS 还支持配置文件和编程控制。具体可以查看 CUPS 网站

如果你对 GNU 系统的打印机管理还有问题,立伯乐或许可以帮你。

让 CUPS 带给你打印自由的感觉!