歡迎您光臨本站 註冊首頁

LINUX與WINNT間共享印表機

←手機掃碼閱讀     火星人 @ 2014-03-12 , reply:0
  

  雖然現在我們已經進入了網路的時代,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的伺服器做為列印網關是最佳選擇。



[火星人 ] LINUX與WINNT間共享印表機已經有725次圍觀

http://coctec.com/docs/net/show-post-68480.html