介绍
在本实验中,我们将探索 lpd(Line Printer Daemon)命令,这是 Linux 中管理打印任务的关键工具。我们将学习如何配置 lpd 守护进程、管理打印任务以及执行各种与打印相关的操作。实验内容包括 lpd 命令的介绍、配置 lpd 守护进程以及使用 lpd 管理打印任务。提供的步骤包括检查 lpd 服务的状态、创建并启用新的打印队列,以及使用 lpstat 和 lprm 等命令来管理打印过程。
在本实验中,我们将探索 lpd(Line Printer Daemon)命令,这是 Linux 中管理打印任务的关键工具。我们将学习如何配置 lpd 守护进程、管理打印任务以及执行各种与打印相关的操作。实验内容包括 lpd 命令的介绍、配置 lpd 守护进程以及使用 lpd 管理打印任务。提供的步骤包括检查 lpd 服务的状态、创建并启用新的打印队列,以及使用 lpstat 和 lprm 等命令来管理打印过程。
在这一步中,我们将探索 lpd(Line Printer Daemon)命令,这是 Linux 中管理打印任务的关键工具。lpd 命令负责处理打印过程,包括接受打印请求、管理打印队列以及与打印机通信。
首先,让我们检查 Ubuntu 22.04 Docker 容器中 lpd 服务的状态:
sudo systemctl status lpd
示例输出:
● lpd.service - LPD Line Printer Daemon
Loaded: loaded (/lib/systemd/system/lpd.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2023-04-21 12:34:56 UTC; 1min 23s ago
Main PID: 1234 (lpd)
Tasks: 1 (limit: 4915)
Memory: 1.1M
CGroup: /system.slice/lpd.service
└─1234 /usr/sbin/lpd
如我们所见,lpd 服务在系统中处于活动状态并正在运行。lpd 守护进程负责管理打印过程,包括接受打印请求、管理打印队列以及与打印机通信。
接下来,让我们探索一些与 lpd 服务交互的基本命令:
## 列出可用的打印队列
sudo lpstat -a
## 查看打印队列的状态
sudo lpstat -t
## 取消打印任务
sudo lprm job_id
这些命令允许你查看可用的打印队列、检查打印队列的状态以及取消特定的打印任务。
在这一步中,我们将学习如何在 Ubuntu 22.04 Docker 容器中配置 lpd(Line Printer Daemon)服务。
首先,让我们创建一个新的打印队列。我们将使用 lpadmin 命令创建一个名为 "myprinter" 的新打印队列:
sudo lpadmin -p myprinter -v file:/dev/null -P /usr/share/ppd/cups-pdf.ppd -E
此命令创建了一个名为 "myprinter" 的新打印队列,并将其与 CUPS-PDF 虚拟打印机驱动程序关联。
接下来,让我们启用新的打印队列:
sudo enable-printer myprinter
现在,让我们验证新打印队列是否已创建并启用:
sudo lpstat -a
示例输出:
myprinter accepting requests since Mon 01 Jan 2001 12:00:00 AM UTC
输出显示 "myprinter" 队列现在正在接受打印请求。
为了进一步配置 lpd 服务,我们可以编辑 /etc/printcap 文件,这是 lpd 服务的配置文件。该文件包含有关可用打印队列、其设置和其他配置选项的信息。
使用 nano 文本编辑器打开 /etc/printcap 文件:
sudo nano /etc/printcap
在文件中,你可以添加或修改打印队列的条目。例如,你可以设置默认打印机、配置打印机选项或指定打印机的位置。
完成更改后,保存文件并重启 lpd 服务:
sudo systemctl restart lpd
这将把新的配置更改应用到 lpd 服务中。
在这最后一步中,我们将学习如何使用 lpd 命令管理打印任务。
首先,让我们创建一个示例文本文件用于打印:
echo "This is a test print job." > ~/project/test_print.txt
现在,我们将文件提交到 "myprinter" 打印队列:
lpr ~/project/test_print.txt
这将把 "test_print.txt" 文件发送到 "myprinter" 打印队列进行打印。
要查看队列中的当前打印任务,可以使用 lpq 命令:
sudo lpq myprinter
示例输出:
myprinter is ready
Rank Owner Job File(s) Total Size
active labex 123 test_print.txt 24 bytes
输出显示 "test_print.txt" 文件当前正在作为任务 123 进行打印。
如果你需要取消打印任务,可以使用 lprm 命令:
sudo lprm 123
这将取消 ID 为 123 的打印任务。
最后,让我们再次检查打印队列以验证任务是否已被移除:
sudo lpq myprinter
示例输出:
myprinter is ready
no entries
输出显示打印队列现在为空,表明打印任务已成功取消。
在本实验中,我们探索了 lpd(Line Printer Daemon)命令,这是 Linux 中管理打印任务的关键工具。我们学习了如何检查 lpd 服务的状态、列出可用的打印队列、查看打印队列的状态以及取消特定的打印任务。接着,我们通过创建一个新的打印队列并将其与 CUPS-PDF 虚拟打印机驱动程序关联来配置 lpd 守护进程,并启用了新的打印队列。这些步骤为在 Linux 系统上管理打印过程提供了坚实的基础。