Giới thiệu
Trong lab này, chúng ta sẽ khám phá lệnh lpd (Line Printer Daemon), một công cụ quan trọng để quản lý các công việc in trong Linux. Chúng ta sẽ học cách cấu hình daemon lpd, quản lý các công việc in và thực hiện các tác vụ liên quan đến in ấn. Lab này bao gồm giới thiệu về lệnh lpd, cấu hình daemon lpd và quản lý các công việc in bằng lpd. Các bước được cung cấp bao gồm kiểm tra trạng thái của dịch vụ lpd, tạo và kích hoạt các hàng đợi in mới, và sử dụng các lệnh như lpstat và lprm để quản lý quy trình in.
Giới thiệu về lệnh lpd
Trong bước này, chúng ta sẽ khám phá lệnh lpd (Line Printer Daemon), đây là một công cụ quan trọng để quản lý các công việc in trong Linux. Lệnh lpd chịu trách nhiệm xử lý quy trình in, bao gồm chấp nhận các yêu cầu in, quản lý các hàng đợi in và giao tiếp với máy in.
Đầu tiên, hãy kiểm tra trạng thái của dịch vụ lpd trên container Ubuntu 22.04 Docker của chúng ta:
sudo systemctl status lpd
Ví dụ về đầu ra:
● 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
Như chúng ta có thể thấy, dịch vụ lpd đang hoạt động và chạy trên hệ thống của chúng ta. Daemon lpd chịu trách nhiệm quản lý quy trình in, bao gồm chấp nhận các yêu cầu in, quản lý các hàng đợi in và giao tiếp với máy in.
Tiếp theo, hãy khám phá một số lệnh cơ bản để tương tác với dịch vụ lpd:
## List available print queues
sudo lpstat -a
## View the status of the print queue
sudo lpstat -t
## Cancel a print job
sudo lprm job_id
Các lệnh này cho phép bạn xem các hàng đợi in có sẵn, kiểm tra trạng thái của hàng đợi in và hủy một công việc in cụ thể.
Cấu hình Daemon lpd
Trong bước này, chúng ta sẽ học cách cấu hình dịch vụ lpd (Line Printer Daemon) trên container Ubuntu 22.04 Docker của chúng ta.
Đầu tiên, hãy tạo một hàng đợi in mới. Chúng ta sẽ sử dụng lệnh lpadmin
để tạo một hàng đợi in mới có tên "myprinter":
sudo lpadmin -p myprinter -v file:/dev/null -P /usr/share/ppd/cups-pdf.ppd -E
Lệnh này tạo một hàng đợi in mới có tên "myprinter" và liên kết nó với trình điều khiển máy in ảo CUPS-PDF.
Tiếp theo, hãy kích hoạt hàng đợi in mới:
sudo enable-printer myprinter
Bây giờ, hãy xác minh rằng hàng đợi in mới đã được tạo và kích hoạt:
sudo lpstat -a
Ví dụ về đầu ra:
myprinter accepting requests since Mon 01 Jan 2001 12:00:00 AM UTC
Đầu ra cho thấy hàng đợi "myprinter" hiện đang chấp nhận các yêu cầu in.
Để cấu hình thêm dịch vụ lpd, chúng ta có thể chỉnh sửa tệp /etc/printcap
, đây là tệp cấu hình cho dịch vụ lpd. Tệp này chứa thông tin về các hàng đợi in có sẵn, cài đặt của chúng và các tùy chọn cấu hình khác.
Mở tệp /etc/printcap
bằng trình soạn thảo văn bản nano
:
sudo nano /etc/printcap
Trong tệp, bạn có thể thêm hoặc sửa đổi các mục cho hàng đợi in của mình. Ví dụ: bạn có thể đặt máy in mặc định, cấu hình các tùy chọn máy in hoặc chỉ định vị trí của máy in.
Sau khi thực hiện bất kỳ thay đổi nào, hãy lưu tệp và khởi động lại dịch vụ lpd:
sudo systemctl restart lpd
Điều này sẽ áp dụng các thay đổi cấu hình mới cho dịch vụ lpd.
Quản lý các Công việc in bằng lpd
Trong bước cuối cùng này, chúng ta sẽ học cách quản lý các công việc in bằng lệnh lpd.
Đầu tiên, hãy tạo một tệp văn bản mẫu để in:
echo "This is a test print job." > ~/project/test_print.txt
Bây giờ, hãy gửi tệp đến hàng đợi in "myprinter":
lpr ~/project/test_print.txt
Điều này sẽ gửi tệp "test_print.txt" đến hàng đợi in "myprinter" để in.
Để xem các công việc in hiện tại trong hàng đợi, hãy sử dụng lệnh lpq
:
sudo lpq myprinter
Ví dụ về đầu ra:
myprinter is ready
Rank Owner Job File(s) Total Size
active labex 123 test_print.txt 24 bytes
Đầu ra cho thấy tệp "test_print.txt" hiện đang được in dưới dạng công việc 123.
Nếu bạn cần hủy một công việc in, hãy sử dụng lệnh lprm
:
sudo lprm 123
Điều này sẽ hủy công việc in có ID 123.
Cuối cùng, hãy kiểm tra lại hàng đợi in để xác minh rằng công việc đã bị xóa:
sudo lpq myprinter
Ví dụ về đầu ra:
myprinter is ready
no entries
Đầu ra cho thấy hàng đợi in hiện đang trống, cho biết công việc in đã bị hủy thành công.
Tóm tắt
Trong lab này, chúng ta đã khám phá lệnh lpd (Line Printer Daemon), một công cụ quan trọng để quản lý các công việc in trong Linux. Chúng ta đã học cách kiểm tra trạng thái của dịch vụ lpd, liệt kê các hàng đợi in có sẵn, xem trạng thái của hàng đợi in và hủy một công việc in cụ thể. Sau đó, chúng ta đã cấu hình daemon lpd bằng cách tạo một hàng đợi in mới và liên kết nó với trình điều khiển máy in ảo CUPS-PDF, và kích hoạt hàng đợi in mới. Các bước này cung cấp một nền tảng vững chắc để quản lý các quy trình in trên một hệ thống Linux.