ทดสอบพิมพ์ดอตแมทริกซ์ด้วย CUPS บนลีนุกซ์

ดอตแมทริกซ์ (Dot Matrix Printer) ยังคงเป็นเครื่องพิมพ์ยอดนิยมที่มีคนใช้อยู่ทั่วไป เพื่อพิมพ์เอกสารต่างๆ โดยเฉพาะเอกสารทางด้านบัญชีหรือการเงิน ข้อดีก็น่าจะเป็นสามารถทำสำเนาเอกสารหลายชุดได้ง่าย

ลองมาดูการต่อเครื่องพิมพ์นี้เข้ากับเครื่องเซิร์ฟเวอร์ลีนุกซ์ แล้วติดตั้งและคอนฟิก CUPS เพื่อทดสอบพิมพ์เครื่องพิมพ์นี้บนเซิร์ฟเวอร์ลีนุกซ์โดยตรง

ในที่นี้จะใช้เครื่องพิมพ์ EPSON LQ-590 ต่อพอร์ต USB เข้ากับเครื่องเซิร์ฟเวอร์ที่ติดตั้ง Ubuntu 16.04

หมายเหตุ บทความนี้ไม่ใช่การโฆษณาสินค้า และผู้เขียนก็ไม่ได้เกี่ยวข้องกับบริษัท EPSON หรือเป็นตัวแทนจำหน่ายแต่อย่างใด เหตุผลที่แสดงยี่ห้อรุ่นของอุปกรณ์ ก็เพื่อให้ผู้อ่านสามารถอ่านเข้าใจได้ง่าย โดยวิธีการที่ใช้นี้น่าจะใช้กับเครื่องพิมพ์ ยี่ห้อ หรือ รุ่นอื่นๆ ที่เป็นดอตแมทริกซ์ได้เหมือนกัน

ต่อสาย USB จากเครื่องพิมพ์เข้ากับเครื่องเซิร์ฟเวอร์ลีนุกซ์ แล้วเปิดเครื่องพิมพ์

ตัวอย่างข้อความที่เกิดขึ้นในไฟล์ /var/log/syslog (บน Ubuntu 16.04) เมื่อต่อเครื่องพิมพ์ดอตแมทริกซ์ EPSON LQ-590

dev@u16:~$ sudo tail /var/log/syslog
Nov 1 12:37:33 u16 kernel: [ 467.072140] usb 4-2: new full-speed USB device number 7 using ohci-pci
Nov 1 12:37:33 u16 kernel: [ 467.288097] usb 4-2: New USB device found, idVendor=04b8, idProduct=003b
Nov 1 12:37:33 u16 kernel: [ 467.288104] usb 4-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Nov 1 12:37:33 u16 kernel: [ 467.288108] usb 4-2: Product: LQ-590
Nov 1 12:37:33 u16 kernel: [ 467.288111] usb 4-2: Manufacturer: EPSON
Nov 1 12:37:33 u16 kernel: [ 467.288114] usb 4-2: SerialNumber: 4832...
Nov 1 12:37:33 u16 kernel: [ 467.298221] usblp 4-2:1.0: usblp1: USB Bidirectional printer dev 7 if 0 alt 0 proto 2 vid 0x04B8 pid 0x003B

ถ้าแสดงข้อความอย่างข้างบน หมายความว่าตอนนี้เซิร์ฟเวอร์ลีนุกซ์มองเห็นและสามารถติดต่อกับเครื่องพิมพ์ได้แล้ว โดยผ่าน USB พอร์ตชื่อ usblp1

สามารถทดลองสั่งพิมพ์จากลีนุกซ์ได้เลย โดยใช้คำสั่ง echo แล้วส่งข้อความ (redirect stdout) เข้าไปในไฟล์ /dev/usblp1 ซึ่งก็คือการส่งข้อความ hello world เข้าไปที่เครื่องพิมพ์ดอตแมทริกซ์นั่นเอง

dev@u16:~$ sudo echo "hello" > /dev/usblp1

ติดตั้งและคอนฟิก CUPS

เพื่อความง่ายต่อการบริหารจัดการเครื่องพิมพ์บนลีนุกซ์ แนะนำให้ติดตั้งและคอนฟิก CUPS

ใช้คำสั่ง apt install เพื่อติดตั้งแพ็คเกจ cups

dev@u16:~$ sudo apt install cups

ไฟล์คอนฟิกของ cups จะอยู่ใน /etc/cups/ โดยจะมีไฟล์หลักคือ cupsd.conf

รันคำสั่ง cupsctl เพื่อแก้ไขไฟล์คอนฟิก cupsd.conf ให้เครื่องอื่นๆ สามารถรีโมตมาคอนฟิก CUPS ผ่านหน้าเว็บได้

dev@u16:~$ sudo cupsctl --remote-admin

ตัวอย่างไฟล์ cupsd.conf หลังจากรันคำสั่ง cupsctl

dev@u16:~$ sudo vi /etc/cups/cupsd.conf
LogLevel warn
PageLogFormat
MaxLogSize 0
# Allow remote access
Port 631
Listen /var/run/cups/cups.sock
Browsing Off
BrowseLocalProtocols dnssd
DefaultAuthType Basic
WebInterface Yes
<Location />
  # Allow remote administration...
  Order allow,deny
  Allow @LOCAL
</Location>
<Location /admin>
  # Allow remote administration...
  Order allow,deny
  Allow @LOCAL
</Location>
<Location /admin/conf>
  AuthType Default
  Require user @SYSTEM
  # Allow remote access to the configuration files...
  Order allow,deny
  Allow @LOCAL
</Location>
...

สังเกตว่ารูปแบบการคอนฟิกในไฟล์ cupsd.conf จะคล้ายกับ Apache HTTP Server

รีสตาร์ตเซอร์วิส cups

dev@u16:~$ sudo systemctl restart cups

ใช้ browser เปิดเว็บโดยระบุ IP ของเซิร์ฟเวอร์ ต่อท้ายด้วยเครื่องหมาย : แล้วระบุพอร์ต 631

ตัวอย่างเช่น ถ้าเซิร์ฟเวอร์ที่ติดตั้ง CUPS ไอพี 192.168.1.1 ก็ต้องระบุ http://192.168.1.1:631

ตัวอย่างหน้าเว็บ CUPS

02-cups-home

คลิกลิงก์ Adding Printers and Classes

หน้า Administration คลิกปุ่ม Add Printer

03-cups-administration

หน้าจอจะขึ้น Upgrade Required เพื่อให้เข้าเว็บแบบ https คลิกลิงก์ https ที่แสดง

04-admin-upgrade-required

หน้า Administration แบบ https คลิกปุ่ม Add Printer อีกครั้ง

05-https-admin

หน้าจอ Authentication Required เพื่อให้ผู้ใช้กรอก User Name กับ Password ก่อนที่จะเพิ่มเครื่องพิมพ์ได้

กรอก User Name, Password เดียวกับ
หมายเหตุ ผู้ใช้ที่มีสิทธิ์ login ได้ ต้องอยู่ในกลุ่ม (group) ชื่อ lpadmin

dev@u16:~$ grep lpadmin /etc/group
lpadmin:x:115:dev

06-login

หน้าเว็บแสดงรายชื่อเครื่องพิมพ์ที่ต่อกับเครื่องเซิร์ฟเวอร์โดยตรง (Local Printers) คลิกเลือก EPSON แล้วกดปุ่ม Continue

07-select-printer-to-add

ใส่ชื่อ (Name) รายละเอียด (Description) เพิ่มเติมของเครื่องพิมพ์

08-add-printer-name-description

หน้าถัดไปเป็นการเลือก Model ของเครื่องพิมพ์ ถ้าไม่มีอยู่ในรายชื่อ อาจเลือกที่ใกล้เคียง หรือกดปุ่ม Choose File เพื่ออัพโหลด PPD File ซึ่งเปรียบเสมือนไดร์เวอร์ของเครื่องพิมพ์

สำหรับ EPSON LQ-590 สามารถดาวน์โหลดไฟล์ PPD จากลิงก์ directly download PPD บนหน้าเว็บ Epson LQ-570+

10-download-ppd-file

ตัวอย่างไฟล์ PPD ที่ดาวน์โหลดมาได้

$ ls -l
total 56
-rw-r--r--@ 1 alice staff 15606 Nov 1 13:00 Epson-LQ-570plus-epson.ppd

คลิกปุ่ม Choose File เพื่ออัพโหลดไฟล์ PPD ที่ดาวน์โหลดมาได้ แล้วกดปุ่ม Add Printer

09-add-printer-model

หน้าจอ Set Printer Options กดปุ่ม Query Printer for Default Options แล้วอาจปรับค่า Resolution ตามต้องการ แล้วกดปุ่ม Set Default Options

11-printer-options

หน้าจอแสดงสถานะเครื่องพิมพ์

12-printer-status

ถ้าต้องการทดสอบการสั่งพิมพ์ ให้คลิกเลือกตรง Maintenance แล้วเลือก Print Test Page

13-printer-actions

ตัวอย่างหน้าจอถ้าคลิกปุ่ม Show All Jobs

14-printer-jobs

ข้อมูลอ้างอิง

Leave a Reply