文章

Linux 打印机

国产系统打印机

Linux 打印机

uname -m

sudo systemctl enable –now cups

sudo systemctl status cups

sudo systemctl restart cups

lpstat -p -d

usb+通用

可出纸 双面彩印皆有 勿动

连接打印机并查看设备 URI

lpinfo -v | grep usb

1
usb://Pantum/CP2200%20Series?serial=xxxxx

config

1
2
3
4
5
sudo lpadmin -p Pantum-CP2200 \
    -v "usb://Pantum/CP2200%20Series?serial=你的序列号" \
    -E \
    -m "generic:postscript.ppd" \
    -o printer-is-shared=false
  • 若没有 generic:postscript.ppd ,则:

    lpinfo -m | grep -i postscript

    找名,替换m后面的值。

设为默认打印机打印测试页

sudo lpoptions -d Pantum-CP2200

lp -o sides=two-sided-long-edge /usr/share/cups/data/testprint


届时,有下列其一,需考虑ipp

  • 队列显示”已完成”但打印机不动
  • 中文乱码或版式错乱
  • 缺少双面、彩色选项
  • 打印卡死或频繁报错

ipp-sub

安装重启服务并验证

sudo apt install ipp-usb

sudo systemctl enable –now ipp-usb

sudo systemctl restart cups

sleep 3

driverless / lpinfo -v | grep ipp :

ipp://localhost:xxxxx/ipp/print

添加ipp队列

1
2
3
4
5
sudo lpadmin -p Pantum-CP2200 \
    -v "ipp://localhost:端口/ipp/print" \
    -E \
    -m everywhere \
    -o printer-is-shared=false
  • 如果 everywhere 不可用,换用:

    -m “generic:postscript.ppd”

打印测试页

lp -o sides=two-sided-long-edge /usr/share/cups/data/testprint

官方驱动

安装驱动包

  • sudo dpkg -i pantum-cp2200-xxx.deb

    sudo apt install -f # 如有依赖问题

  • tar -xzf pantum-cp2200-xxx.tar.gz

    cd pantum-cp2200-xxx

    sudo ./install.sh

重启服务并添加

sudo systemctl restart cups

lpinfo -m | grep -i pantum

找到对应 PPD 名称后:

1
2
3
4
5
sudo lpadmin -p Pantum-CP2200 \
    -v "usb://Pantum/CP2200%20Series?serial=你的序列号" \
    -E \
    -m "厂商/PPD文件名.ppd" \
    -o printer-is-shared=false

处理冲突

把奔图加入 quirks

sudo vim /etc/ipp-usb/quirks/Pantum.conf

1
2
3
4
5
内容参考:

```ini
[CP2200]
no-quirk = true

然后重启:

sudo systemctl restart ipp-usb cups

或者直接卸载 ipp-usb:

sudo apt remove ipp-usb

sudo systemctl restart cups

网络打印

免驱打印

driverless

` lpinfo -v grep ipp`

能搜到就直接用 everywhere 添加。

手工添加 socket 队列

1
2
3
4
5
sudo lpadmin -p Pantum-CP2200 \
  -v "socket://打印机IP地址" \
  -E \
  -m "generic:postscript.ppd" \
  -o printer-is-shared=false

手工添加 IPP 队列

1
2
3
4
5
sudo lpadmin -p Pantum-CP2200 \
  -v "ipp://打印机IP地址/ipp/print" \
  -E \
  -m everywhere \
  -o printer-is-shared=false

CUPS 手动开启双面

检查是否支持双面

lpoptions -p Pantum-CP2200 -l | grep -i duplex

可能的输出:

  • Duplex/Duplex NoTumble: True/False → 支持自动双面
  • None 或找不到相关选项 → 打印机硬件不支持自动双面,只能通过软件模拟

命令行设置默认双面

Long Edge(长边翻转,标准双面):

sudo lpoptions -p Pantum-CP2200 -o sides=two-sided-long-edge

Short Edge(短边翻转,适合横向页面):

sudo lpoptions -p Pantum-CP2200 -o sides=two-sided-short-edge

取消双面(单面打印):

sudo lpoptions -p Pantum-CP2200 -o sides=one-sided

单次打印时指定双面

不改变默认设置

1
2
3
4
5
# 单次双面打印
lp -o sides=two-sided-long-edge 文件.pdf

# 单次单面打印
lp -o sides=one-sided 文件.pdf

CUPS Web 界面设置

  • 浏览器打开 http://localhost:631
  • 点击 Printers → 选择 Pantum-CP2200
  • 点击 Maintenance → Modify Printer
  • 在 Printer Options 页面中找到 Duplex 或 Two-Sided 选项
  • 选择 Long Edge 或 Short Edge
  • 点击 Modify Printer 保存

验证当前双面设置

lpoptions -p Pantum-CP2200 -l | grep -i sides

正常输出应包含:

1
2
3
4
*DefaultSides: TwoSidedLongEdge
  OneSided: "1-Side"
  TwoSidedLongEdge: "Long Edge"
  TwoSidedShortEdge: "Short Edge"

常见问题排查

问题 1:打印出来还是单面

1
2
3
4
5
6
7
8
# 检查队列级别是否覆盖了默认设置
lpoptions -p Pantum-CP2200 -l | grep sides

# 检查具体队列的选项
lpoptions -p Pantum-CP2200 | grep sides

# 如果队列级别有设置,清除它让默认设置生效
sudo lpoptions -p Pantum-CP2200 -o sides=two-sided-long-edge

问题 2:提示 “sides not supported”

说明当前 PPD 或驱动不支持双面。尝试:

1
2
3
4
5
6
7
# 换用 Generic PostScript 驱动重新添加
sudo lpadmin -x Pantum-CP2200
sudo lpadmin -p Pantum-CP2200 \
  -v "usb://Pantum/CP2200%20Series?serial=你的序列号" \
  -E \
  -m "generic:postscript.ppd" \
  -o printer-is-shared=false

问题 3:打印机硬件不支持自动双面

如果打印机本身没有自动双面单元(如 CP2200 某些基础型号),只能通过软件模拟:

1
2
3
# 使用 cups-browsed 或 PPD 中的 software duplex 选项
# 部分 PPD 支持以下选项
sudo lpoptions -p Pantum-CP2200 -o Duplex=DumbDuplex

如果 PPD 中没有此选项,则需要手动编辑 PPD 文件添加软件双面支持,或者使用 enscript/a2ps 等工具在打印前对页面进行排序。

本文由作者按照 CC BY 4.0 进行授权