Linux 使用台大資工系上印表機

引言

從 2026 年 5 月起,原本的 Papercut 似乎停用了,此網址會轉到適用於 Windows 的教學,但是否真的無法用其他系統列印?

系上印表機 Ariel 型號為 Sharp BP-70M45,可透過 CSIE 網路使用。實際上 Sharp 有提供 Linux 用的 PS/PPD driver,搭配 CUPS 就能成功列印。

準備

準備好 Sharp BP-70M45 的 PPD,可以在 Sharp 官網找到,只需要其中的 Sharp-BP-70M45-ps.ppd

連到 CSIE 網路後可以用 ping -c 3 {IP}nc -vz {IP} {port} 來確認網路連線。

新增印表機

若沒有安裝 CUPS 的話得要先安裝:

sudo apt install cups cups-client

建立 Ariel:

sudo lpadmin \
  -p Ariel \
  -E \
  -v socket://{IP}:{port} \
  -P ./Sharp-BP-70M45-ps.ppd

確認:

lpstat -p Ariel -v

應看到:

device for Ariel: socket://{IP}:{port}

設定帳號密碼

注意:此為較偷懶的方法,密碼會以明文儲存在家目錄。

系上印表機需要使用 CSIE 帳號驗證,以下指令會把密碼寫入 CUPS 的設定中,也可以在每次列印時才輸入。

lpoptions -p Ariel \
  -o JCLLoginName='Custom.{CSIE帳號(學號)}' \
  -o JCLLoginPassword='Custom.{CSIE密碼}'

注意必須使用 Custom. 前綴。

可透過 lpoptions -p Ariel 確認設定。

設定預設雙面列印

設定為雙面、依長邊翻轉

lpoptions -p Ariel -o Duplex=DuplexNoTumble

預設的 None 為單面;DuplexNoTumble 為長邊翻轉;DuplexTumble 為短邊翻轉。

列印

設定完成後可以直接:

lp -d Ariel document.pdf

也可以指定單次列印選項:

lp -d Ariel \
  -o Duplex=DuplexNoTumble \
  document.pdf

目前建議使用 command line 列印。

Linux 的系統 Print Dialog 與 Firefox 列印介面可能不會正確帶入 Sharp PPD 的 authentication options,因此即使 lp 可以正常列印,GUI 列印仍會被印表機拒絕(若有解決辦法歡迎寄 email 通知我)。

查看列印工作

查看 Ariel 的工作:

lpstat -o Ariel

查看所有工作:

lpstat -W all

查看詳細資訊:

lpstat -W all -l

取消工作:

cancel Ariel-123

其中 Ariel-123 替換成實際的 job ID。

刪除印表機

刪除 Ariel:

sudo lpadmin -x Ariel

確認:

lpstat -p Ariel

備註

密碼安全

lpoptions 會把 printer options 儲存在 CUPS 的設定中,因此若把 password 設成預設 option,密碼可能以明文存在 ~/.cups/lpoptions

至少應該設定好權限,雖然不是完全安全,但至少稍微安全一點:

chmod 700 ~/.cups
chmod 600 ~/.cups/lpoptions

不要將實際 CSIE 密碼貼到公開的 shell history、Git repository 或其他公開檔案中。


其他相關