使用 lpadmin 从命令行安装 Laserjet 2200 打印机

使用 lpadmin 从命令行安装 Laserjet 2200 打印机

我使用的是 arch linux 内核 5.7.2-arch1-1。所有软件都是最新的。

我正在尝试使用实用程序从命令行设置 Laserjet 2200 打印机lpadmin

虽然我可以使用system-config-printerGUI 实用程序来设置打印机以使其正常工作,但我更喜欢能够从命令行执行此操作,因为它更便携。当我使用 GUI 方法进行设置时,工作打印机会提供有关工作驱动程序的一些信息。该make and model字段填充为HP LaserJet 2200 - CUPS+Gutenprint v5.3.3.

能够在命令行上复制此设置将是理想的选择。我简要浏览了 Gutenprint 网站和他们拥有的 pdf 文档,其中似乎没有我可以看到的设置信息。

终端接受以下打印机设置命令,但新设置的打印机接受打印作业但无法打印:

lpadmin -p "hp_laserjet_2200" -d "hp_laserjet_2200" -o printer-is-shared=false -e -i ~/script_PRINTER_CUPS_config_file/hp-laserjet-2200.ppd -v socket://192.168.1.240:9100

我认为这个命令应该有效,问题出在.ppd文件上,尽管我确信我.ppd多年前在同一型号的打印机上使用过这个相同的文件。

我看不到的 GUI 应用程序正在访问什么?

我是否需要多个曾经工作过的 ppd 文件?

我在哪里可以获得更新的 ppd 文件(搜索没有发现任何结果)?

从命令行设置该激光打印机的方法是什么?

我确信这只是一个驱动程序问题。我已经做了很多谷歌搜索,但答案还不清楚。我已经安装了hplip它,我认为它有一个图形用户界面,但正如我所说,我想完全在命令行上完成此操作。

答案1

好的,这就是对我有用的方法,一步一步分解。

可能还有其他更简单的方法可以将您的打印机设置为 Linux 中的单行打印机。

  1. 如果尚未安装,请安装 gutenprint 和 hplib 驱动程序软件。这是我使用的代码。

package_list=( gutenprint hplip ) for i in "${package_list[@]}" do if [ "$(echo $sudo_password | sudo -S pacman -Qi | grep -m 1 -oE $i)" = "$i" ]; then echo "$i is already installed, no need to do anything"; else echo $sudo password | sudo -S pacman -S $i --noconfirm --needed fi done

  1. Run the lpinfo command to search for the drivers on your system. In my case I have an HP LaserJet 2200 printer, so I greped for it as follows

    lpinfo -m | grep 2200 | grep LaserJet

You can use your printer make and model with this command, it worked for me

lpinfo --make-and-model "HP LaserJet 2200" -m

The output will be something like this gutenprint.5.3://hp-lj_2200/expert HP LaserJet 2200 - CUPS+Gutenprint v5.3.3 lsb/usr/HP/hp-laserjet_2200-ps.ppd.gz HP LaserJet 2200 Postscript lsb/usr/HP/hp-laserjet_2200_series-ps.ppd.gz HP LaserJet 2200 Postscript drv:///hp/hpcups.drv/hp-laserjet_2200_series.ppd HP LaserJet 2200 Series, hpcups 3.20.5 lsb/usr/HP/hp-laserjet_2200_series.ppd.gz HP LaserJet 2200 Series, hpcups 3.20.5 everywhere IPP Everywhere

  1. Select an appropriate drv线。我选了这个

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

  2. 然后在下面的打印机设置行中使用它

    lpadmin -p "HP_LaserJet_2200_LOCAL"
    -D "HP_LaserJet_2200_LOCAL"
    -L "走廊"
    -o Printer-is-shared=false
    -E
    -m drv:///hp/hpcups.drv/hp-laserjet_2200_series.ppd
    -v 套接字:/ /192.168.1.240:9100

以下是每个标志的作用、术语定义:

  • -p = 打印机名称
  • -D = 打印机描述
  • -L = 打印机位置
  • -o 打印机共享=假。这会阻止其他人通过您的计算机使用打印机。
  • -E = 启用打印机
  • -m = 驱动程序/ppd 位置
  • -v = uri 套接字
  1. 如果您有几台打印机并且希望这样做,请将您的打印机设置为默认值

    lpadmin -d HP_LaserJet_2200_LOCAL

相关内容