在Debian上設定USB網路印表機和掃描器伺服器

贊 回覆發表於2014-11-01

假定你想要在你的家庭/辦公網路中設定一臺Linux列印伺服器,而你手頭上卻只有USB印表機可用(因為他們比那些有著內建網路介面或無線模組的印表機要便宜得多)。此外,如果這些裝置中有一臺是一體化的,而你也想要通過網路共享其整合的掃描器,這該怎麼辦?在本文中,我將介紹怎樣安裝並共享一臺USB一體機(Epson CX3900噴墨印表機和掃描器),一臺USB鐳射印表機(Samsung ML-1640),以及作為錦上添花,配置一臺PDF印表機。所有這一切,我們都將在GNU/Linux Debian 7.2 [Wheezy]伺服器中實現。

儘管這些印表機看起來有點老舊了(我是在2007年買的Epson一體機,2009年買的鐳射印表機),但我仍然相信我從安裝過程中學到的東西也一樣能應用到該品牌的新產品和其它品牌中去:有一些預編譯的.deb包驅動可用,而其它驅動可以從倉庫中直接安裝。畢竟,它是重要的基本原則。

先決條件

要設定網路印表機和掃描器,我們將使用CUPS,它是一個用於Linux/UNIX/OSX的開源列印系統。

# aptitude install cups cups-pdf 

排障提示:根據你的系統狀況(這個問題很可能在手動安裝包失敗後,或者缺少依賴包的時候會發生),在安裝cups和cups-pdf前端包管理系統可能會提示你解除安裝許多包以嘗試解決當前依賴問題。如果這種情況真的發生,你只有兩個選擇:

1)通過另外一個前端包管理系統安裝包,如apt-get。注意,並不建議進行這樣的處理,因為它不會解決當前的問題。

2)執行以下命令:aptitude update && aptitude upgrade。該命令會修復此問題,並同時更新包到最新版本。

配置CUPS

為了能夠訪問CUPS的網頁介面,我們需要至少對cupsd.conf檔案(用於CUPS的伺服器配置檔案)進行一次最低限度的修改。在進行修改前,讓我們為cupsd.conf做個備份副本:

# cp cupsd.conf cupsd.conf.bkp 

然後,編輯原始檔案(下面只顯示了最為有關聯的部分):

  • Listen:監聽指定的地址和埠,或者域套介面路徑。
  • Location /path:為該名字所代表的位置指定訪問控制。
  • Order:指定HTTP訪問控制順序(allow,deny或deny,allow)。Order allow,deny是說允許規則先於(並且優先處理)拒絕規則。
  • DefaultAuthType (也可以用AuthType): 指定預設使用的認證型別。Basic是指使用/etc/passwd檔案來認證CUPS中的使用者。
  • DefaultEncryption:指定認證請求所使用的加密型別。
  • WebInterface:指定是否啟用網頁介面。

    # Listen for connections from the local machine
    Listen 192.168.0.15:631

    # Restrict access to the server
    <Location />
      Order allow,deny
      Allow 192.168.0.0/24
    </Location>

    # Default authentication type, when authentication is required
    DefaultAuthType Basic
    DefaultEncryption IfRequested

    # Web interface setting
    WebInterface Yes

    # Restrict access to the admin pages
    <Location /admin>
      Order allow,deny
      Allow 192.168.0.0/24
    </Location>

現在,讓我們重啟CUPS來應用修改:

# service cups restart 

為了允許另外一個使用者(除了root之外)修改印表機設定,我們必須像下面這樣新增他/她到lp(授權對印表機硬體的訪問並啟用使用者管理列印任務)和lpadmin(擁有列印優先)組。如果在你當前網路設定沒有必要或不需要該設定,你可以不用理會該步驟。

# adduser xmodulo lp
# adduser xmodulo lpadmin 

通過網頁介面配置網路印表機

1、 啟動網頁瀏覽器,並開啟CUPS介面http://:Port,這裡在我們的例子中是http://192.168.0.15:631:

2、 轉到管理標籤,然後點選新增印表機

3、 選擇你的印表機;在本例中,EPSON Stylus CX3900 @ debian (Inkjet Inkjet Printer),然後點選繼續

4、 是時候為印表機取個名字,並指定我們是否想要從當前工作站共享它:

5、 安裝驅動——選擇品牌並點選繼續

6、 如果印表機如果不被CUPS支援(沒有在下一頁中列出來),我們必須從生產廠家的網站上下載驅動(如http://download.ebz.epson.net/dsc/search/01/search/?OSC=LX),安裝完後回到該頁。

7、 注意,預編譯的.deb檔案必須從我們使用的機器上傳送(例如,通過sftp或scp)到列印伺服器(當然,如果我們有一個直接的下載連結就更加簡單了,而不用下載按鈕了):

8、 在將.deb檔案放到伺服器上後,我們就可以安裝了:

 # dpkg -i epson-inkjet-printer-escpr_1.4.1-1lsb3.2_i386.deb 

排障提示:如果lsb包(一個第三方Linux應用編寫者可以依賴標準核心系統)沒有安裝,那麼驅動會無法安裝:

我們將安裝lsb,然後嘗試再次安裝印表機驅動:

# aptitude install lsb
# dpkg -i epson-inkjet-printer-escpr_1.4.1-1lsb3.2_i386.deb

9、 現在,我們可以返回到第五步並安裝印表機:

配置網路掃描器

現在,我們將繼續配置印表機伺服器來共享掃描器。首先,安裝xsane,這是SANE——掃描器快捷訪問的前端:

# aptitude install xsane 

接下來,讓我們編輯/etc/default/saned檔案以啟用saned服務:

# Set to yes to start saned                                                     
RUN=yes

最後,我們將檢查saned是否已經在執行了(很可能不在執行哦——那麼我們將啟動服務並再來檢查):

# ps -ef | grep saned | grep -v grep
# service saned start 

配置另一臺網路印表機

通過CUPS,你可以配置多臺網路印表機。讓我們通過CUPS配置一臺額外的印表機:Samsung ML-1640,它是一臺USB印表機。

splix包包含了單色(ML-15xx, ML-16xx, ML-17xx, ML-2xxx)和彩色(CLP-5xx, CLP-6xx)Samsung印表機驅動。此外,此包的詳細資訊中指出,一些新命名的Samsung印表機,如Xerox Phaser 6100也適用此驅動。

# aptitude install splix 

然後我們將使用CUPS網頁介面來安裝印表機,就像前面一樣:

安裝PDF印表機

接下來,讓我們在列印伺服器上配置一臺PDF印表機。這樣,你就可以將來自客戶計算機的文件轉換成PDF格式了。

由於我們已經安裝了cups-pdf包,PDF印表機就已經自動安裝好了,可以通過網頁介面驗證:

當選定PDF印表機後,文件將被寫入可配置目錄(預設是~/PDF),或者也可以通過後續處理命令進行復制。

在下一篇文章中,我們將配置桌面客戶端來通過網路訪問印表機和掃描器。


via: http://xmodulo.com/2014/08/usb-network-printer-and-scanner-server-debian.html

作者:Gabriel Cánepa 譯者:GOLinux 校對:wxy

本文由 LCTT 原創翻譯,Linux中國 榮譽推出

相關文章