SCO Unix系統下網路印表機的使用(轉)

BSDLite發表於2007-08-16
SCO Unix系統下網路印表機的使用(轉)[@more@]和在Windows下共享網路上其它主機所連線的印表機一樣,在裝有SCO Unix主機的網路上也能很方便地實現印表機的共享。對於TCP/IP網路,遠端印表機聯網為Client/Server模式。在聯網的計算機中,沒有安裝印表機的Unix系統機器,可以將列印作業傳送到安裝了印表機的Unix系統機器上。本文所討論的網路印表機,和真正意義上的完全透過網路安裝與配置的印表機不同,是透過配置假離線程式達到經過網路在遠端主機所連線的印表機上列印的目的。本文不涉及網路本身的討論,假定TCP/IP網路是開通的,下面就網路印表機的配置過程做一簡要敘述。
該方法需要在列印伺服器上配置一個本地印表機,並使它能接受遠端主機的列印請求。具體步驟如下。
1.配置列印介面
   此項工作的實質是把相應口的驅動程式連入核心。印表機既可以安裝在Unix主機的並口上,也可以安裝在串列埠上。
(1)若安裝在COM1口上,則不必在系統中配置,它是系統預設的串列埠。若連線在COM2口或其它非智慧多串卡的口上時,則需執行mkdev serial 命令,或進入scoadmin,選擇Hardware/Kernel Manager-> Serial port,此時螢幕顯示:
Description Ports IRQ I/O addr
IBM-COM1 1 4 3F8
並有Add、Delete、Modify三個選項。選擇Add,此時螢幕顯示:
Description Ports IRQ :[ 3 ]
IBM-COM2   1
AST 4 I/O addr [2f8]

其中第一列為串列埠或多口卡的名稱,第二列為埠數。隨著每行選項的不同, 顯示的IRQ和I/O addr取值也不同,但可直接修改。選中IBM-COM2後回車,此時在IBM-COM1下顯示: IBM-COM2 1 3 2F8, 表明串列埠配置成功。
(2)若安裝在並口上,則需執行mkdev parallel命令或進入scoadmin,選擇Hardware/Kernel Manager ->Parallel Port, 此時螢幕顯示:
Parallel Port Initialization
There are no parallel ports configured
Do you wish to:
1.Add a parallel port
2.Remove a parallel port
3.show configuration
4.help
select an option or enter q to quit:
敲入1,回車,此時螢幕顯示:
Please select the I/O address for the adapter:
1.Parallel Adapter at address :378-37f
2.Parallel Adapter at address:3bc-3be
3.Parallel Adapter at address: 278-27a
4.Other configuration
Select an option or enter q to quit:
這裡給出四種選擇。這一步應根據系統硬體的實際配置進行選擇,同時還應兼顧給出的I/O地址範圍。一般情況下,可選擇1,回車後螢幕提示:
Should this port use interrupt (default [7]):
如果使用中斷向量7則回車,螢幕顯示:The device node is /dev/lp0 ,表明並口配置成功。
(3)新的核心生成後,使用命令hwconfig -c檢查該口與其它裝置有無衝突。顯示的資訊內容:
name=serial base=0x2F8 offset=0x7 vec=3 dma=- unit=0 type=standard nports=1
name=parallel base=0x378 offset=0x2 vec=7 dma= - unit=0
若最後顯示No obvious conflicts in hardware settings 則表示沒有衝突。若提示有vector 或address衝突,則需要刪除所加口,選擇其它配置。
(4)對所設介面和印表機的連線進行檢查。檢查的辦法是直接給印表機傳送資料。對於序列印表機使用命令: date > /dev/ttynn ,ttynn代表印表機所用串列埠(如COM1為tty1a,COM2為tty2a);對於並行印表機使用命令:date >/dev/lpn,lpn代表印表機所用並口(主並口為lp0)。命令把當前日期送到印表機上列印,如果印表機列印正確,表明所用介面配置正確。若印表機沒有輸出,把印表機及列印電纜連線到另外一個能正常列印的系統上測試:如果工作正常,說明所用列印介面的硬體有問題,應刪除此介面並重新配置其它介面。
2.設定印表機
(1)使用mkdev lp 命令或進入scoadmin,選擇Printers->Printer Manager->Printer->Add Local,此時螢幕顯示:
Add Local Printer
Name:[ ]
Description:[ ]
Model:[ ]
Device:[ ]
這一步要逐一填入相應的內容。Name代表準備新增的印表機名;Description代表註釋欄位;Model代表印表機類的名字,可用↓選擇,如Epson、HP等,一般可選standard;Device代表列印介面的名字,如/dev/tty1a、/dev/lp0,也可用↓選擇。選OK後回車,印表機就設定完成了。再選Set To Default將它設為預設印表機。
(2) 進入settings->Control,此時螢幕顯示:
Printer Control
[ ]Enable Printing
[ ]Accept New Local Jobs
[ ]Accept New Remote Jobs
將游標移到各選項後按空格鍵,若在[ ]中加上?,表示選中此項,使印表機既接受本地列印,又接受遠端列印。
3.為客戶機建立信任
在/etc/hosts檔案中加入客戶機的IP地址及主機名,在/etc/hosts.equiv中加入客戶機的主機名及需要使用遠端印表機的使用者名稱。若客戶機上所有使用者均需使用遠端印表機,則只加入客戶機的主機名即可。
經過上述3步,列印伺服器上需做的工作就完成了。下面再敘述一下客戶機上需做的工作。
1/etc/hosts中加入列印伺服器的IP地址和主機名。
2用命令mkdev lp或進入scoadmin,選擇Printer->Printer Manager->Printer->Add Remote->Unix,此時螢幕顯示:
Add Remote Unix printer
Host :[ ]
Printer:[ ]
在Host選項中填入(或用↓選擇)列印伺服器的主機名,在Printer選項中填入列印伺服器上所加的印表機名稱。選OK後回車,印表機就設定完成了。再選Set To Default將它設為預設印表機。
客戶機上印表機的設定與列印伺服器上印表機的設定是完全不同的,因此,不需對串列埠(或並口)進行配置,印表機本身也是虛擬的。
上述工作完成後,在客戶機上就可用lp命令直接在遠端印表機上列印了。lp不是直接操作列印的命令,它的功能是向列印服務提交列印作業的請求。Unix系統的列印工作是由列印服務程式來控制的,每當系統引導進入多使用者狀態時,列印服務便自動地啟動。lp命令提交的每個請求對應一個唯一的ID號request-id,在對列印請求登出、修改或檢視時,都要用到ID號。在SCO Unix系統中,列印請求的資訊分別存放在目錄:/usr/spool/lp/temp 和/usr/spool/lp/requests下。在temp下,每個列印請求有request-id-0和request-id-1兩個檔案。request-id-0中存放諸如列印檔名、優先順序、印表機型別、列印份數等內容;request-id-1是列印原始檔的完全複製,列印的資料就取自這個複製。在requests下,檔名為request-id-0,內容為列印請求的一些描述資訊。在客戶機上使用lp命令後,在本機上並不產生列印請求,而是透過網路在列印伺服器上產生列印請求,列印檔案的內容透過網路複製到列印伺服器的/usr/spool/lp/temp/request-id-1檔案中,並透過遠端印表機列印出來。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617542/viewspace-960605/,如需轉載,請註明出處,否則將追究法律責任。

相關文章