如果你正在處理一個跨操作平台的網絡,網絡中可能包括Windows,Linux和UNIX的工作站,服務器,那你肯定對怎樣在這些不同平台上實現網絡打印服務感興趣 。上星期,介紹了怎樣在Linux上實現網絡打印服務。在這部分中,你將學習怎樣為Windows 95/98/NT/2000的用戶實現這項服務。通過修改你服務器上的Samba配置,你可以讓網絡中的Windows用戶共享你的本地打印機。 請注意,我假設你已經在Linux和Windows之間成功的安裝和配置了Samba的文件共享。如果你還沒有安裝和配置Samba,或者你的Samba不能正常工作,請看文章“省錢之道:用Linux的Samba代替NT服務器”。為了實現我們的目標,,我也假設你已經成功安裝了一個本地打印機。 配置Samba實現本地打印機共享 在開始之前,確信你的Samba運行正常,並且Windows用戶可以在網絡鄰居的列表中看到Samba服務器。我將介紹修改smb.conf文件,使得網絡中的Windows用戶可以通過Samba服務器使用打印機。 為了配置smb.conf文件實現共享一個本地打印機,檢查你Linux下的打印機是否工作正常。下一步,在Windows客戶端安裝同一個打印機。這樣做的話,你需要Windows下打印機的安裝盤。開始安裝打印機,點擊開始,選擇打印機,並且雙擊添加打印機。 在打印機安裝向導中,按照屏幕上的說明一步一步,直到在列表中選擇打印機的名稱。要點:寫出打印機的准確名稱,注意大小寫(名稱對大小寫是敏感的)。例如,Windows中使用的Epson Stylus 740打印機應該輸入如果需要,在安裝完成後要重啟機器。在Samba服務器上,以根用戶登錄(或是超級用戶),用你習慣的文本編輯器打開/etc/smb.conf或者/etc/samba/smb.conf。例如,vi /etc/smb.conf。 在[global]這一節,找到打印名稱這行,如果你想使Windows用戶可以使用所有本地打印機,去掉這一行,並且如果文件中沒有這些內容的話,添加上: printcap name = /etc/printcap load printers = yes 如果只想讓其他用戶用一個打印機,你不要刪掉那行,也不用添加什麼。需要注意的是在大多數從BSD發展而來的Linux系統上,Samba假設你在用默認的打印系統。如果你用的是其他打印系統,在Linux的打印系統配置中,找到相應的行,改變默認設置(bsd)。選擇包括sysv,plp,lprng,aix,hpux和qnx。如果不能確認你的Linux配置正在使用的打印系統,你可以查看一下相關文件,但大多數情況下都是默認的。 下一步,使所有的本地打印機都實現共享。所有的打印機都在/etc/printcap文件的打印機列表中,在/etc/smb.conf文件尾添加以下服務條目: [printers] writable = no path = /tmp printable = yes 如果只要共享一個打印機,在smb.conf文件的[global]小節添加一個自動服務行。和在/etc/printcap中的相同,這行指定你想使用的打印機名稱。下行中在lp填寫默認打印機的名稱: auto services = lp 而且,仿照下面創建一個打印機定義,添加到[services]小節中(在/etc/smb.conf文件末尾): [lp] printable = yes comment = Epson Stylus (Color) public = yes writable = no browseable = yes printer driver=EPSON Stylus COLOR 740 定義中的打印機名是lp,這個名稱必須和上面自動服務行中的名稱相一致,並且也要和在/etc/printcap文件中定義的打印機名稱相同(或打印機的別名)。需要注意的是,打印機驅動行需要你正確的輸入Windows中的打印機信息(在這裡,EPSON Stylus COLOR 740,還是需要注意大小寫)。 最後,保存/etc/smb.conf文件。退出文本編譯器,鍵入/etc/init.d/rc.d/smb重啟Samba。 檢測安裝 在其中一台Windows工作站上檢測你的安裝成果 。用用戶的Windows網絡用戶名和密碼登錄,雙擊網絡鄰居,雙擊Linux系統的圖標後看看Samba打印機是否顯示出來。如果點擊右鍵選擇安裝,你可以看到打印機安裝的對話框。在開始安裝的時候,用戶不需要關心打印機的牌子和型號,因為打印機的名稱以Windows認可的某種方式定義。但是,用戶還是需要打印機的安裝盤,如果Windows本來就支持這種打印機的話,只要Windows的安裝盤就可以了。 打印機驅動器定位 打印機驅動器定位是Samba的一個選項,使你能夠指定打印機驅動軟件的位置。雖然你可以在共享的Linux目錄中選擇適合打印機驅動器和相關文件的選項,但這個選項對許多打印機驅動器不起作用,而且你也可能因為在網絡中沒有得到使用軟件的許可而侵犯了作者了的版權。 Samba打印故障處理 如果在Linux系統上你的打印機可以正常工作,但不能通過Samba實現打印服務,用超級用戶登錄,用文本編譯器打開/etc/smb.conf,仔細檢查你的輸入。運行testparm /etc/smb.conf,仔細查看輸出結果,找出錯誤標志。確信/dev/null對任何用戶都是可寫的(做法是:鍵入ls -l /dev/null,按回車,查看文件讀取權限)。Samba通過/dev/null來忽略不需要的輸出。如果這個文件不是對所有用戶可寫的,用超級用戶登錄,鍵入chmod a+w /dev/null,按回車。如果你的打印機只輸出代碼而不是你想要的圖形,在/etc/samba.conf文件的打印機定義中添加postscript = yes。 費用分擔 在這篇文章中,你了解了怎樣修改Samba配置,使得連接在Linux系統上的打印機可以被整個網絡中的Windows和Linux/UNIX主機所使用。在不同的平台上實現網絡服務意味著更高的效率和更少的費用。