雖然現在我們已經進入了網絡的時代,email和在線信息已經成為我們交流的紐帶,但是我們仍然離不開書面的文章和資料,因此,打印機也就理所當然的成為了必不可少的工具。然而,每一台計算機都配備打印機是不現實的,所以,網絡打印機也就成為了局域網的最佳選擇。那麼,在一個象擁有LINUX和WINNT等多種操作系統的工作組中,怎樣共用一台網絡打印機呢?下面,我就根據本人多年的經驗,講述一下LINUX和WINNT共享網絡打印機的方法和技巧。
總的來說,不同操作系統之間進行通訊有兩種方法。一是讓客戶機以服務器的工作方式與服務器相互聯系。例如,在網絡文件共享中,WINDOWS客戶通過NFS協議與LINUX服務器進行通訊。第二種方法是服務器利用客戶機操作系統本身的工作原理與之交流。比如LINUX通過Samba與WINDOWS操作系統互通信息。在本篇文章中,我將兩種方法都介紹給大家,大家可以根據自己的需要選擇LINUX和WINNT共享網絡打印機的方法。
我介紹一下WINDOWSNT以Linux的 LPD形式打印。我先假設你已經熟悉Linux下打印機的配置,因為我們今天重點討論WINDOWSNT與Linux打印的結合,其余的不作詳述。
首先,我們在Linux服務器上定義一個叫queso的打印池,要記住我們只介紹WIDOWS NT客戶怎樣向Linux服務器打印機傳輸作業,我認為這是最佳的選擇。雖然Berkeley LPD打印系統比較稀少,WINNT本身還是內置了對它的支持,不論是客戶端的lpr.exe 和 lprmon.dll以及服務器端的lprsvc.dll都有。lpr.exe 和 LPR 端口監視器提供了傳輸作業的方法。LPD服務允許遠程計算機向使用標准LPR協議的WINNT打印服務器傳送作業,雖然兩台WINNT機器之間也可以用LPR協議進行打印作業傳輸,但是這並不是一個好主意。
在安裝LPD之前,我們需要先解釋一下Windows NT端口監視器以及打印是怎樣工作的。為防止用戶級的應用程序直接操作硬件,Windows NT以一種保護模式運行。為了讓用戶能夠使用打印機,Windows NT使用一種虛擬打印機技術接受用戶作業並把它們傳送給真正的打印機。所有列在Windows NT打印機控制面板中的打印機都是虛擬打印機,它們被允許與硬件通話。Windows NT支持與打印機對話的端口監視器,這種功能使設置一個懂得LPR的虛擬打印機成為可能。
為了配置一個新的LPR端口,首先我們需要在Windows NT客戶機上安裝LPR工具,該程序包稱為微軟 TCP/IP 打印。可通過網絡控制面板中的服務頁進行安裝。安裝完畢後需要重新啟動以使LPR工具生效。然後,你需要完成象安裝本地打印機一樣的步驟,唯一的不同只是必須指定一個與打印機連接的端口。除了打印機名字外,還要指出LPD宿主的IP地址或域名。一旦端口增加完了,打印機也就配置好了,你可以象使用普通打印機一樣使用它了。需要注意的一點是,LPR端口監視器缺省情況下以RAW數據類型傳送數據,而lpr.exe程序使用TEXT的數據格式傳送作業,你可以通過注冊表或命令行選項改變缺省的設置。在此不做敘述,詳細情況查看Windows NT 4.0 Workstation Resource Kit。
接下來介紹Linux利用Samba以WINDOWS的原理進行聯網打印。你已經聽說過Samba了吧,如果不熟悉的話,請查看有關資料。Samba是LINUX下對微軟和其它SMB客戶文件和打印機共享的支持程序。使用Samba 比上一個方法的優勢在於, WINDOWS客戶機可以不管Linux服務器上使用什麼打印系統。Samba的宗旨就是,UNIX可以向它打印,我Samba也可以。這就允許你使用LPR 和System V的lpsched打印系統。
這裡我不詳細介紹Samba的配置文件,針對我們的例子,我只使用一個很簡單的smb.conf。
[global]
netbios name = QUESO
workgroup = CHIPSNDIPS
printing = bsd
printcap name = /etc/printcap
public = no
[printers]
comment = printers from /etc/printcap
printable = yes
writeable = no
在啟動Samba的後台程序smbd 和 nmbd後,我們需要在WINNT客戶機上安裝所需打印機。重新使用打印機安裝智能向導,只不過這次要連接網絡打印機服務器,這將配置一個LanManager打印端口,完成後聯網打印就可以進行了。目前,Samba的一個缺陷是不能實現真正的WINNT形式的打印,不過這個功能的實現只是遲早的問題,因為Jean Francois Micouleau(Samba小組中的一位)已經完成了大部分的代碼。對我們的目的來說,對LanManager的打印支持已經足夠了。不能實現真正的WINNT形式打印只是意味者NT客戶不能象原來那樣改變一些打印特性,再就是不能象Windows 9x那樣直接從Samba服務器上下載打印驅動程序。
最後,我介紹一下我認為比較好的綜合聯網方法。見上圖。我們已經看到了兩種可能的打印聯網方案,但兩者都有不足。第一種雖然在服務器上不需要增加軟件包,因為LPD打印系統已經缺省安裝了,但是客戶機被限制只能進入支持LPR協議的服務器;第二種方法雖然消除了客戶機的限制,但是需要在每一個NT客戶需要進入的Linux服務器上安裝Samba。下面我就介紹一個能結合兩者各自優點的方法。
我們把運行Samba的Linux服務器配置成一個單獨的打印服務器。這台服務器監聽所有在/etc/printcap中列出的打印機,並通過LPR向它們傳輸作業。WINNT客戶將所有的打印作業傳送給Samba服務器,這裡的Samba服務器稱作打印網關。以這種方法,既能避免每台Linux服務器上安裝Samba,又能不受LPD的限制,實用效果甚佳。
以我自己的觀點,WINNT管理小型局域網的打印比較合適,對於大型的網絡,需要復雜的打印方案,使用運行Samba的服務器做為打印網關是最佳選擇。好了,我的介紹完了,如果有問題,請給我寫信,我的信箱是[email protected]。
——摘自:電腦報