☰
ZeroTermux 内置手册详解:lpadmin 命令配置 CUPS 打印机与打印类
2026/10/6 2:42:38 网站建设 项目流程
  • 移动开发
  • 开发工具

【免费下载链接】ZeroTermux

项目地址:https://gitcode.com/GitHub_Trending/ze/ZeroTermux
点击查看免费下载

lpadmin 是 CUPS(Common Unix Printing System,通用 Unix 打印系统)套件中用于配置打印机与打印类的核心管理命令,同时负责设置打印服务器的默认打印机。在 ZeroTermux(Android 平台上的 Termux 增强发行版)中,你可以在终端模拟器内直接执行该命令,管理基于 CUPS 的本地或网络打印服务。阅读本文后,你将掌握 lpadmin 的完整语法、全部选项的含义与组合用法,并能在 ZeroTermux 终端中独立完成打印机的添加、类管理、默认打印机设置与访问控制配置。

说明:本文档对应仓库中的内置命令手册 lpadmin.md,属于 ZeroTermux 内置命令库(app/src/main/assets/cmd/ 目录下数百个命令手册之一)的技术详解。

一、命令概述与适用场景

lpadmin用于配置 CUPS 套件中的打印机和类(class),也被用来设置打印服务器默认打印机。与面向用户的打印提交命令(如lp、lpr)不同,lpadmin 是管理员级配置工具,其操作对象是打印队列、打印类以及 PPD(PostScript Printer Description,PostScript 打印机描述)等底层资源。

在 ZeroTermux 场景下,lpadmin 的典型用途包括:

  • 在安装并启动 CUPS 服务(如service cups start或cupsd)后,添加本地或网络打印机队列;
  • 将多台打印机归入同一打印类,实现负载均衡或自动故障切换;
  • 为打印机绑定 PPD 描述文件,以获得正确的驱动与打印属性;
  • 设置打印服务器默认打印机,使lp等命令无需指定目标即可打印;
  • 通过用户级访问控制,限定哪些用户可以提交打印任务。

二、命令语法

lpadmin 的命令形式简洁统一:

lpadmin(选项)(参数)

所有配置动作都由选项驱动,最后通过「打印机」参数指定操作目标。例如:

lpadmin -p 打印机名 -E -P /path/to/ppd

即表示:为名为「打印机名」的打印机配置指定的 PPD 描述文件,并允许它接受打印任务(-E)。

三、选项详解

lpadmin 提供了一套完整的选项,用于覆盖打印机配置的各个维度。下表完整罗列并逐项说明:

选项作用说明
-c将打印机加入类(class)。配合打印机参数使用,可把一台或多台打印机归入一个打印类,实现任务分发与冗余
-i为打印机设置 "System V" 风格的接口脚本(interface script)。这类脚本在打印任务提交时被调用,用于预处理数据或调用外部程序
-m从 model 目录设置一个标准的 "System V" 接口脚本或 "PPD" 文件。即从 CUPS 内置的驱动/模型库中按名称加载标准配置
-o为 "PPD" 或服务器设置选项。可用于设置打印机特性参数(如-o media=a4、-o duplex=on),也可设置 CUPS 服务器级选项
-r从类中删除打印机。与-c相反,将指定打印机从某个打印类中移除
-u设置打印机用户级的访问控制。可定义允许或拒绝访问该打印机的用户清单
-D为打印机提供一个文字描述(description)。该描述会显示在打印管理界面中,便于识别
-E允许打印机接受打印任务。启用打印队列,使其可以接收并处理任务(注意:与 CUPS 中-E在部分子命令中表示加密协议的含义不同,此处专指启用队列)
-L为打印机位置提供一个文字描述(location)。例如物理位置 "机房 3 层 A 区",便于运维定位
-P为打印机指定一个 PPD 描述文件。通过显式路径加载该打印机的 PostScript 打印机描述文件
-p指定要配置的打印机名称。这是大多数配置操作的前提,必须先指定目标打印机
-d设置默认打印机。将某台打印机设为 CUPS 服务器的默认输出设备

3.1 选项的组合逻辑

从源码结构和使用惯例看,lpadmin 的配置动作通常遵循「定位目标 + 施加配置」的组合模式:

  1. 定位目标:先用-p 打印机名指定要配置的打印机;
  2. 施加配置:再叠加一个或多个配置选项(-P、-m、-i、-o、-D、-L、-u等);
  3. 生效控制:用-E启用队列,或用-c/-r调整打印机在类中的归属。

例如,为一个位于 "办公区" 的新打印机配置 PPD 并启用:

lpadmin -p office_printer -E -P /etc/cups/ppd/office_printer.ppd -L "办公区" -D "共享办公打印机"

该命令同时完成了 PPD 绑定、位置与描述信息的写入以及队列启用,是实际运维中最常见的组合用法。

四、参数说明

lpadmin 的参数为打印机名称:指定要配置的打印机的名称。

该名称是配置操作的直接目标,必须与 CUPS 队列名一致。若在未用-p显式指定打印机的情况下使用-d等选项,则应结合参数位置给出目标名称。实际使用时建议始终让参数与-p保持一致,避免歧义。

五、实战示例

基于上述选项,整理出几个可直接在 ZeroTermux 终端中执行的典型配置流程:

5.1 添加并启用一台打印机

lpadmin -p office_printer -E -P /etc/cups/ppd/office_printer.ppd

将office_printer与指定的 PPD 描述文件绑定,并启用其接受打印任务。

5.2 将打印机加入打印类

lpadmin -p office_printer -c sales_class lpadmin -p design_printer -c sales_class

将两台打印机归入sales_class类。之后向该类提交任务时,CUPS 会自动在成员打印机之间进行调度。

5.3 从打印类中移除打印机

lpadmin -p design_printer -r sales_class

将design_printer从sales_class类中删除。

5.4 设置默认打印机

lpadmin -d office_printer

将office_printer设为 CUPS 服务器默认打印机,此后lp命令不指定目标时即输出到该打印机。

5.5 从标准 model 库加载驱动

lpadmin -p office_printer -m everywhere

-m从 CUPS 的 model 目录加载标准接口脚本或 PPD 文件,everywhere是 CUPS 用于 IPP Everywhere / AirPrint 驱动自动发现的常用取值。

5.6 配置打印选项与访问控制

lpadmin -p office_printer -o media=a4 -u allow:user1,user2

-o设置 PPD/服务器选项(此处将默认纸张设为 A4),-u限定仅user1、user2可以访问该打印机。

六、在 ZeroTermux 中的使用方式与仓库佐证

6.1 内置命令手册的加载机制

lpadmin 手册位于 ZeroTermux 的资产目录 app/src/main/assets/cmd/lpadmin.md。应用通过命令对话框的showCmdDetail方法加载并渲染这些手册:先用AssetManager.open("cmd/" + 命令名)读取 Markdown 原文,再交由 Markdown 解析器(Parser.builder())与 HTML 渲染器(HtmlRenderer.builder())处理后,在 WebView 中以 HTML 形式呈现给用户。对应实现可参见 CommandDialog.java。

这一机制意味着:你在 ZeroTermux 的终端帮助对话框中看到的 lpadmin 说明,正是本文所述的这份文档经过 Markdown 渲染后的结果。命令列表本身由 CommandDialog.java 通过assetManager.list("cmd")动态枚举,并支持输入关键字实时过滤,方便快速定位 lpadmin 等命令的手册。

6.2 执行前提

lpadmin 依赖 CUPS 运行环境,实际执行需满足以下前提:

  • ZeroTermux 内已安装 CUPS 相关软件包(如cups、cups-client)并通过pkg install完成安装;
  • CUPS 服务已启动(cupsd或service cups start),lpadmin需要与 CUPS 调度器通信完成配置;
  • 配置类操作通常需要相应权限,普通 Termux 用户账户下一般可管理用户级打印队列,系统级配置视环境而定。

七、注意事项

  • -E在 lpadmin 中表示允许打印机接受打印任务(启用队列),与某些 CUPS 客户端命令中-E表示加密连接的语义不同,使用时需区分上下文;
  • -m与-P都用于指定驱动描述:-m从 CUPS 内置 model 目录按名称加载,-P则直接指定 PPD 文件的显式路径,二者按需二选一;
  • 修改打印机配置后,可通过lpstat -p查看打印机队列状态、lpstat -d查看默认打印机,验证 lpadmin 配置是否生效;
  • 若需删除打印机(文档未覆盖的操作),CUPS 提供lpadmin -x 打印机名的删除接口,具体以当前 CUPS 版本支持为准。

通过本文的语法、选项表与实战示例,配合 ZeroTermux 内置手册的即时查阅能力,你可以在 Android 终端环境中完整掌握 lpadmin 的打印机与打印类配置技能。

  • 移动开发
  • 开发工具

【免费下载链接】ZeroTermux

项目地址:https://gitcode.com/GitHub_Trending/ze/ZeroTermux
点击查看免费下载
上一篇:Ekko Studio 安装全指南:桌面应用、npm、Docker Compose 与源码开发安装实战
下一篇:PaddleNLP 分布式随机数状态追踪器(RNGStatesTracker)源码解析与模型并行实践

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询