歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Unix知識 >> Unix教程 >> FreeBSD handbook中文版11 打印(3)

FreeBSD handbook中文版11 打印(3)

日期:2017/2/27 17:43:05   编辑:Unix教程
FreeBSD
  11.5 使用打印機
  11.6 標准spooler 之外的選擇
  
  =============================================================
  
  11.5 使用打印機
  這一節將告訴你如何在FreeBSD 下使用打印機。這裡有份使用者等級命令的概述。
  lpr
  打印工作
  lpq
  檢查打印機隊列
  將工作從打印機隊列中刪除
  lprm
  也有系統維護使用的命令,lpc,用來控制打印機及其隊列。在管理打印機這一節裡有更詳細的說明。
  lpr,lprm 和lpq 這三個命令都接收-P printer-name 這個指定在/etc/printcap 文件裡設定的打印機/隊列的參數。允許你對不同的打印機做要求、刪除,以及檢查工作。如果你沒有使用-P 參數,那麼這些命令將使用PRINTER 環境變量所指定的打印機。若你也沒有PRINTER 環境變量,那麼這些命令則會對別名為lp 的打印機指定動作。此後,默認打印機指的就是以PRINTER 環境變量設定的打印機或是當lp 環境變量不存在時,別名為lp 的打印機。
  
  11.5.1 打印工作
  要打印文件,輸入:
  % lpr filename ...
  這將把所有列出的文件以默認打印機打印。如果你沒有指定任何文件,那麼lpr 將會從標准輸入讀入資料。下面這個例子將會打出一些重要的系統文件:
  % lpr /etc/host.conf /etc/hosts.equiv
  若要指定以特定的打印機輸出,輸入:
  % lpr -P printer-name filename ...
  下面這個例子會將當前目錄下的文件列表從名為rattan 打印機輸出:
  % ls -l | lpr -P rattan
  因為lpr 命令之後沒有指定任何一個文件,lpr 將會從標准輸入讀入資料以打印出來,即由ls -l 命令所產生的輸出。
  第61 頁FreeBSD 使用手冊
  lpr 命令有許多參數如控制輸出格式、套用文件轉換、一次打印出多份,等等。請參看打印參數這一節裡有更詳細的說明。
  11.5.2 檢查打印工作
  當你使用lpr 打印時,一起送到LPD spooling 系統的資料稱為一個“打印工作”。每一台打印機都有一個打印工作隊列,而你的打印工作和其它的打印工作一樣在隊列裡等待打印。打印機會將先打印先送達的工作。
  要顯示默認打印機的隊列,輸入lpq 即可。若要指定打印機,請指定-P 參數。例如
  % lpq -P bamboo
  這個命令會顯示叫做bamboo 的打印機隊列。這裡有一份lpq 命令的輸出例子:
  bamboo is ready and printing
  Rank Owner Job Files Total Size
  active kelly 9 /etc/host.conf, /etc/hosts.equiv 88 bytes
  2nd kelly 10 (standard input) 1635 bytes
  3rd mary 11 ... 78519 bytes
  上面顯示一共有三個工作在bamboo 的隊列裡。第一個工作由使用者kelly 送出,“工作代碼”為9.每一個工作都會有個唯一的工作代碼。通常你可以忽略工作代碼,但是如果你要取消某個工作時,你就會需用知道工作號碼。詳情請參看刪除隊列這一節。工作號碼9 裡包含了兩個文件。用lpr 送多個文件將會被視為同一個工作。這是目前正在處理的工作(注意“Rank”欄標示的active),即打印機現在應該就在打印這個工作。第二個工作的資料是用lpr 從標准輸入接收資料的。而第三個工作是由使用者mary 送出的。這是一個較大的工作。而她要打印的文件因為太長而放不下,所以lpq 命令只顯示三個點。lpq 最前面的輸出通常可以看出打印機現在在做什麼(至少是LPD 覺得打印機現在應該是在做什麼)。
  
  lpq 命令可以使用-l 參數以得到更詳細的列表。這裡有一個lpq -l 的輸出范例:
  waiting for bamboo to become ready (offline ?)
  kelly: 1st [job 009rose]
  /etc/host.conf 73 bytes
  /etc/hosts.equiv 15 bytes
  第62 頁FreeBSD 使用手冊
  kelly: 2nd [job 010rose]
  (standard input) 1635 bytes
  mary: 3rd [job 011rose]
  /home/orchid/mary/research/venus/alpha-regio/mapping 78519 bytes
  11.5.3 刪除打印工作
  如果你改變主意不想打印你的工作了,你可以用lprm 命令把他們從打印隊列中刪除。通常你也可以用lprm 把一個正在處理的工作刪除,不過可能還是會打印出部分或是全部的文件。
  
  要從默認打印機裡刪除工作,首先,用lpq 找出工作代碼,然後輸入:
  % lprm job-number
  如果要從指定的打印機刪除工作,那麼用-P 參數。下列的命令從打印機bamboo 的隊列中刪除工作號碼為10 的工作:
  % lprm -P bamboo 10
  lprm 命令有一些常用的用法:
  lprm -
  將(默認打印機)裡所有屬於你的工作都刪除。
  % lprm -P rattan -
  lprm user
  將(默認打印機)裡所有屬於使用者user 的工作皆刪除。只有超級使用者可以刪除其它人的工作,你只能刪除你自己的工作。
  lprm
  若不指定工作號碼、使用者名稱或是- ,lprm 將刪除目前默認打印機正在處理的工作,但前提是這個工作必需是屬於你的。超級使用者可以刪除任何目前正在處理的工作。若使用-P 參數配合上述的常用用法,則上述的動作將對指定的打印機動作而不是對默認打印機。下列的命令將會刪除目前使用者在打印機rattan 隊列中的所有工作:
  
  注意: 如果你使用的是網絡打印機,lprm 將只允許你從輸出工作的機器刪除該工作。
  第63 頁FreeBSD 使用手冊
  下面這些命令可以說明這個概念:
  % lpr -P rattan myfile
  % rlogin orchid
  % lpq -P rattan
  Rank Owner Job Files Total Size
  active seeyan 12 ... 49123 bytes
  2nd kelly 13 myfile 12 bytes
  % lprm -P rattan 13
  rose: Permission denied
  % logout
  % lprm -P rattan 13
  dfA013rose dequeued
  cfA013rose dequeued
  11.5.4 在純文字之外:打印參數
  lpr 命令提供控制格式輸出、轉換圖形及其它文件格式、一次打出多份、工作處理方式等參數。這一節將一一介紹。
  11.5.4.1 格式輸出與轉換參數
  下列的lpr 命令控制文件輸出的格式。如果你的打印工作裡沒有純文字或是你希望純文字通過lpr 處理後以特定的格式輸出時,你可以使用這些參數。
  舉例來說,下面的命令從叫做bamboo 的打印機將DVI 文件(由TeX 排版系統產生)
  fish-report.dvi 打出:
  % lpr -P bamboo -d fish-report.dvi
  這些參數將套用這個工作裡的每個文件,所以你不能把DVI 和ditroff 文件在同一個工作裡一起處理,而要分兩次工作用不同的轉換參數。
  注意: 這些參數除了-p 和-T 需要為指定的打印機安裝轉換的過濾程序外,其它的都不用。舉例來說,參數-d 需要安裝DVI 轉換過濾程序。轉換用的過濾程序這一節有較詳細的說明。
  c
  第64 頁d
  f
  g
  i number
  l
  n
  p
  T title
  t
  v
  下面是一個以默認打印機打印格式化過的ls manual page 的例子:zcat 命令將ls 原始數據解壓縮並傳送給troff 命令,將該數據格式化後以GNU troff 格式輸出給lpr 送給LPD spooler 處理。因為我們在使用lpr 命令時使用了-t 參數,所以spooler在打印時會把GNU troff 轉換成默認打印機所能了解的格式。將輸出縮進number 個字符。如果你省略number,則縮進8 個字符。這個參數只有在某些轉換用的過濾程序上有效。原封不動的打出文字數據,包括控制字符。打印ditroff (device independent troff) 數據。在打印之前以pr 格式化輸出。請參見pr 以取得更多的信息。以title 取代pr header 中的文件名。這個參數只有在配合-p 參數使用時才有效。
  
  打印troff 數據。
  打印raster 數據。
  % zcat /usr/share/man/man1/ls.1.gz | troff -t -man | lpr -t
  打印cifplot 文件。
  打印DVI 文件。
  打印FORTRAN 文本文件
  打印plot 數據。
  注釋: 請不要在-i 和數字之間加上空白
  FreeBSD 使用手冊
  第65 頁11.5.4.2 工作處理方式參數
  # copies
  m
  s
  r
  11.5.4.3 Header Page 參數
  這些參數就沒有作用了。請參見Header Pages 這一節以了解如何設定header pages。
  1. C text
  將同一工作裡的每個文件都打出copies 份。系統管理員可以將這個參數關閉,以減低打印機的障礙並鼓勵使用復印機。請參見限制打印多份這一節的說明。
  這個例子將會從默認的打印機打出三份parser.c,然後打出三份parser.h:
  % lpr -#3 parser.c parser.h
  完成打印工作後,便通知使用者。若使用這個參數,當打印工作完成後,LPD 系統將會寫信給你。在這封信中將會告訴你你的工作是否成功地打出或是有錯誤以及(通常會)告訴你錯誤的原因。
  
  不要將要打印的文件拷貝到spooling 目錄,而只要以symbolic links 的方式取代。如果你要打印大的文件,你可考慮用這個參數。這可以節省你spooling 目錄的空間(否則spooling 目錄所在的文件系統可能會空間不足)。同時他也可以省下LPD 將文件拷貝到spooling 目錄所需的時間。
  
  這麼做有一個缺點就是當打印還沒結束時,你不能修改或刪除打印中的文件,因為LPD 在打印時還會用到原始的文件。
  Note: 如果你是用網絡打印機打印,那麼LPD 還是會把你的文件拷貝到遠程的機器,所以參數-s 只有在本機上打印時才有用。
  當你的文件已經拷貝到spooling 目錄時,或是用-s 參數且打印完成時,就將原本的文件刪除。請小心使用這個參數!
  有一些參數是設定lpr 打印在header pages 上的文字。如果打印header pages 的話,那麼將header page 上的機器名稱以text 取代。機器名稱通常是打印送出工作的機器名稱。
Copyright © Linux教程網 All Rights Reserved