Printer

Image by TeroVesalainen from Pixabay

今天晚上我在幫我弟印作業,家裡書房用的那台老電腦不知道為什麼印多張印表機不吃紙,我弟又一直催,竟然叫一個 Linux 電腦去安裝印表機,當然為了 Arch Linux 的聲譽,我可以忍,身為 Arch Linux 的傳教士,我必須用行動去證明 Arch Linux 天下第一!! 在 Arch Linux 上也能使用印表機。

檢查連接界面

插入 USB 線後輸入 lsusb 看有沒有偵測到印表機裝置。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
$ lsusb
Bus 003 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 031: ID 5986:02d5 Acer, Inc 
Bus 001 Device 004: ID 0a5c:21e6 Broadcom Corp. BCM20702 Bluetooth 4.0 [ThinkPad]
Bus 001 Device 003: ID 24ae:1100  
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 003: ID 03f0:102a HP, Inc LaserJet Professional P 1102w
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

安裝 CUPS 套件

CUPS 是 Apple 公司為了自家的 Mac OS X 和其他類 Unix 系統搞的一套基於標準的開源印表機系統。

首先我們先安裝 cups 套件並啟動 org.cups.cupsd.service

1
2
$ sudo pacman -S cups
$ sudo systemctl start org.cups.cupsd.service

HP 印表機驅動模組

大多數的 HP 印表機都採用 hplip 套件,內含 HP 印表機的安裝設定程式。

1
$ sudo pacman -S hplip

安裝完成後建議使用 HP Setup 程式來新增印表機。(詳見下文)

1
$ sudo hp-setup -i

Web 管理界面

進入 http://localhost:631/,Administration 頁面點擊 Add Printer 可以,如果跳出認證視窗,帳密輸入 root 和系統 root 帳戶密碼。

Add Printer

新增完後在 Administration 頁面點擊 [Manage Printers] 可以看見之前新增的印表機。

Manage Printers

點開列印視窗可以發現印表機多了一台之前新增的 HP 印表機。

系統列印視窗

Jobs 頁籤可以顯示印表機正在執行的任務,但點擊列印後,印表機還是沒反應,報錯 "Filter failed"。

Arch%20Linux%20HP/Untitled%203.png

正當我心灰意冷,準備放棄時,發現論壇有人說執行 HP 的安裝程式來新增,後來看了一下 Arch Wiki,後面也寫要執行(不認真看 Arch Wiki 的下場)。

1
$ sudo hp-setup -i

安裝程式會用對話式來詢問,自動下載 PPD(Postscript Printer Description) 描述檔,可能我之前新增印表機時沒有上傳描述檔。

完成安裝後,會印一張測試頁面,如果你的印表機有反應印出來沒問題就代表成功了,我設定完後印表機突然動了起來,然後就得到了一張測試頁面(浪費了一張 A4 紙😭)。

HP 印表機設定程式印出的測試頁面

心得

今晚的經驗告訴我實操前真的要好好看 Arch Wiki,我依舊記得當初高中時在考 APCS 測驗前,我突然發現要印准考證,家裡那台老電腦很卡我懶得用,我當時手上筆電裝的是 Arch Linux,急忙之下就嘗試在 Arch Linux 上安裝印表機,結果折騰了老半天還是沒搞定,只好開啟書房的老電腦列印,搞得我考 APCS 遲到了😔,現在回頭來看當時還是太年輕了。

Reference