歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Unix知識 >> 關於Unix

PrintingUsageHOWTO如何使用打印機-2.打印文檔

本節說明在Linux環境中如何打印文件、檢查列印隊列、從列印隊列刪除打印任務、打印前文檔排版和設置打印環境等。 2.1Linux打印系統的演變 Linux打印系統-lp系統-是將加利福尼亞大學校方為 UNIX 操作系統的BSD版編寫的源代碼改編而成。 2.2利用lpr打印文檔 到
本節說明在 Linux 環境中如何打印文件、檢查列印隊列、從列印隊列刪除打印任務、打印前文檔排版和設置打印環境等。 


2.1 Linux 打印系統的演變 

Linux 打印系統 - lp 系統 - 是將加利福尼亞大學校方為 UNIX 操作系統的 BSD 版編寫的源代碼改編而成。 


2.2 利用 lpr 打印文檔 

到目前為止,在 Linux 系統中打印文檔的最簡單方法就是將文檔直接送到打印設備打印。使用 cat 指令就是方法之一。作為 root,發送下列指令就可打印文檔: 


# cat thesis.txt > /dev/lp

在這個例子中,/dev/lp 是實際打印設備的符號連接 - 不論打印機是點陣列印機、激光打印機、排版打印機或圖表打印機均可使用這個指令。(關於符號連接的進一步說明見 ln(1)) 


由於安全上的考量,只有 root 和屬於打印監控程式的同一群組的使用者才可書寫到打印機,使打印機進行打印。這就是必需使用 lpr、lprm 和 lpq 等指令才能使用打印機的理由。 

因此,使用者必需使用 lpr 列印文檔。lpr 為打印進行所有初始設定,然後將任務交給打印監控程序 - lpd。這個打印監控程序隨即告知打印機如何打印文檔。 

在 lpr 執行過程中,它首先將有待打印的文檔抄到一個目錄(假脫機目錄),然後讓該文檔留在該目錄中等待 lpd 進行打印。一旦 lpd 得知有文檔等待打印,它就自行生成一個備份(編程員稱為派生(forking))。這個派生的 lpd 監控程序就會打印有待打印的文檔,同時原 lpd 仍繼續等待後面可能發出的打印指令。通過這種方式,Linux 系統可同時處理列隊打印任務。 


使用 lpr(1) 指令的語法如下: 


$ lpr [ options ] [ filename ... ]
#
# (譯注:$ lpr [ 選項 ] [ 文檔名 ... ])
#

如果 filename (譯注:文檔名)沒有標示,lpr 認為將由標准輸入口(通常為鍵盤或另一程式的輸出)提供輸入。通過這種方法,使用者可將一個程式的輸出導入打印假脫機程序。例如, 


$ cat thesis.txt | lpr

或 


$ pr -l60 thesis.txt | lpr

均把運行的結果導入打印機印出。 

lpr 指令還接受各種打印選項參數,使使用者能控制打印方式。最常用的選項參數有: -Pprinter 指明用何種打印機、-h 不印突發錯頁、-s 建立符號連接,並且不將文檔抄到假脫機目錄(便於處理長文檔)和 -#num 標明打印份數。具體使用 lpr 的例子如下: 


$ lpr -#2 -sP dj thesis.txt

這個指令會在假脫機目錄內為稱為 dj 的打印機建立一個連接 thesis.txt 文檔的符號連接,然後由 lpd 對其進行打印。印完之後,它還會再打印一次 thesis.txt (譯注:共印兩份)。 

關於 lpr 使用的所有選項參數,見 lpr(1)。 


2.3 利用 lpq 察看打印隊列 

使用 lpq 指令可察看當前的打印隊列。如直接使用指令,不加選項參數,可察看默認打印機的打印隊列情況。 


lpq 的結果有許多用途。 


$ lpq
lp is ready and printing (譯注:打印機准備打印,下面列出打印信息)
Rank   Owner      Job  Files                            Total Size
active mwf        31   thesis.txt                       682048 bytes


2.4 利用 lprm 取消打印任務 

對任何一個打印系統而言,都需要有一個取消打印任務的工具軟件。在 Linux 系統中,可用 lprm。 


$ lprm -

上述指令取消使用者發出的所有打印指令。如果只要取消一個打印任務,可用 lpq 查明打印任務編號,然後將該編號作為參數用於 lprm 指令。例如: 


$ lprm 31

取消默認打印機第 31 號打印任務 (thesis.txt)。 


2.5 利用 lpc 控制 lpd 程序 

lpc(8) 程式用來控制 lpd 提供打印的打印機。通過 lpc 程式可控制打印機的打印功能、打印任務列隊、重新安排列隊次序和提供打印機和列隊狀況。 lpc 多數用於設置系統時一機配置多打印機的情況。 


$ lpc

上述指令啟動 lpc 程式。在不設置任何參數的情況下,這使用戶進入互動模式,此後可開始輸入指令。使用 lpc 的另一個方式是從指令行輸入參數。 


$ lpc status all

所有可用的指令均在 lpd 的使用說明(man page)內可以查到。此處列出一些主要指令。指令中作為 選項 列出的部分可以是打印機名(lp、print 等)或關鍵字 all,此處表示所有打印機。 


disable 選項 - 不讓打印機再接受新的打印任務 
down 選項 - 停止打印機的一切打印 
enable 選項 - 允許打印任務進入打印列隊 
quit (或 exit) - 停止 lpc 運行 
restart 選項 - 重新開始打印機的 lpd 
status 選項 - 印出打印機的機況 
up 選項 - 重新起始並開始新的 lpd 

2.6 RedHat 的打印工具(printtool) 
RedHat 的 printtool 是一個非常好用的工具。它幾乎無所不能。下文說明如何通過 RedHat 4.0 在並聯埠接連 HP LJ 4L 的方法(此法也可用於其他 RedHat 版本)。 


以 root 身份登錄,並啟動 printtool (如果作為 su ,還記得 SETENV DISPLAY :0.0 和 xhost + 嗎?) 
按 "Add",然後在本地打印機項按 "OK" 
填入打印機名稱 (如 /dev/lp1) 
填入參數 - 選擇打印機種類、分辨率和紙張大小 (ljet4、300x300 和 信紙尺寸) 
按 "OK" 一直到底,重新啟動 lpd。 
利用這種方法可為一台打印機設定多種打印方式,例如為各種打印設定不同的紙張尺寸、分辨率等。 



--------------------------------------------------------------------------------

Copyright © Linux教程網 All Rights Reserved