在之前的文章中, 我們討論過如何在Linux服務(wù)器安裝各種各樣的打印機(當然也包括網(wǎng)絡(luò)掃描儀)。今天我們將來處理另一端:如何通過桌面客戶端來訪問網(wǎng)絡(luò)打印機/掃描儀。
網(wǎng)絡(luò)環(huán)境
在這個安裝教程中,我們的服務(wù)器(Debian Wheezy 7.2版本)的IP地址是192.168.0.10,我們的客戶端(Ubuntu 12.04版本)的IP地址是192.168.0.105.注意這兩臺機器是在同一個網(wǎng)段(192.168.0.0/24).如果我們想允許打印機訪問其它網(wǎng)段,我們需要在服務(wù)器上修改cupsd.conf文件的以下部分:
Location /> Order allow,deny Allow localhost Allow from XXX.YYY.ZZZ.*/Location>
(在上述例子中,我們授予打印機從本地或者任何系統(tǒng)能夠訪問打印機,這些系統(tǒng)的IPv4地址以XXX.YYY.ZZZ開始。
為了驗證哪些打印機可以在我們的服務(wù)器上適用,我們也可以在服務(wù)器上使用lpstat命令,或者瀏覽網(wǎng)頁https://192.168.0.10:631/printers page.
root@debian:~# lpstat -a
EPSON_Stylus_CX3900 accepting requests since Mon 18 Aug 2014 10:49:33 AM WARSTPDF accepting requests since Mon 06 May 2013 04:46:11 PM WARSTSamsungML1640Series accepting requests since Wed 13 Aug 2014 10:13:47 PM WARST
在Ubuntu桌面安裝網(wǎng)絡(luò)打印機
在我們的Ubuntu 12.04的客戶端,我們將打開"Printing"菜單(Dash -> Printing).你會注意到在其它發(fā)行版中,這個名字也許會有一點差別(例如會叫做"Printers" 或者 "Print Fax"):
還沒有打印機添加到我們的客戶端:
下面是在Ubuntu桌面客戶端安裝一臺網(wǎng)絡(luò)打印機的一些步驟。
1) “Add”按鈕將彈出 "New Printer" 菜單。我們將選擇"Network printer" -> "Find Network Printer"并輸入我們服務(wù)器的IP地址,接著點擊"Find":
2) 在最下面我們將會看到可使用的打印機的名稱。我們來選擇這臺三星打印機并按"Forward":
3) 我們將會被要求填寫一些關(guān)于我們打印機的信息。當我們輸入完成時,將點擊 "Apply"按鈕。
4) 我們接下來將被詢問是否打印一張測試頁。讓我們點擊"Print test page"吧:
這個打印任務(wù)將被創(chuàng)建為本地id 2:
5)適用我們服務(wù)器上的CUPS網(wǎng)絡(luò)借口,我們可以觀察到打印任務(wù)已經(jīng)提交成功了(打印機 -> SamsungML1640系列 -> 顯示完成任務(wù)):
我們也可以通過在打印機服務(wù)器上運行以下命令顯示同樣信息:
root@debian:~# cat /var/log/cups/page_log | grep -i samsung
SamsungML1640Series root 27 [13/Aug/2014:22:15:34 -0300] 1 1 - localhost Test Page - -SamsungML1640Series gacanepa 28 [18/Aug/2014:11:28:50 -0300] 1 1 - 192.168.0.105 Test Page - -SamsungML1640Series gacanepa 29 [18/Aug/2014:11:45:57 -0300] 1 1 - 192.168.0.105 Test Page - -
這個page_log日志顯示每一頁被打印過的信息,只包括哪些用戶發(fā)送這些打印任務(wù),打印日期時間,以及客戶端的IPv4地址。
要安裝Epson噴墨和PDF打印機,我們只需重復第1-5的步驟即可,并每一次選擇左邊的打印隊列。例如,在下圖中選擇PDF打印機:
然而,請注意到根據(jù)CUPS-PDF 文檔中,根據(jù)默認:
PDF文件將會被放置在打印作業(yè)的所有者命名的子目錄內(nèi)。在這個案例中,打印作業(yè)的所有者不能被識別(i.e.不會存在服務(wù)器中)輸出的內(nèi)容被放置在匿名操作的文件中。
這些默認的文件夾可以通過改變在/etc/cups/cups-pdf目錄中的Out值和AnonDirName變量來修改。這里,${HOME}被擴展到用戶的家目錄中:
Out ${HOME}/PDFAnonDirName /var/spool/cups-pdf/ANONYMOUS
網(wǎng)絡(luò)打印實例
實例 #1
從Ubuntu12.04中打印,通常在本地用gacanepa(具有相同名字存在打印機服務(wù)器上)。
打印到PDF打印機之后,讓我們來檢查打印機服務(wù)器上的/home/gacanepa/PDF目錄下的內(nèi)容:
root@debian:~# ls -l /home/gacanepa/PDF
total 368-rw------- 1 gacanepa gacanepa 279176 Aug 18 13:49 Test_Page.pdf-rw------- 1 gacanepa gacanepa 7994 Aug 18 13:50 Untitled1.pdf-rw------- 1 gacanepa gacanepa 74911 Aug 18 14:36 Welcome_to_Conference_-_Thomas_S__Monson.pdf
這個PDF文件被創(chuàng)建時的,權(quán)限已經(jīng)設(shè)置為600(-rw-------),這意味著只有打印任務(wù)的所有者(在這個例子中是gacanepa )可以訪問它們。我們可以通過修改the /etc/cups/cups-pdf.conf文件UserUMask變量的值來改變這種行為。例如,0033的umask值將可以使PDF打印者以及其它所有者擁有創(chuàng)建文件的權(quán)限,但是只讀權(quán)限也會賦予給其它所有者。
root@debian:~# grep -i UserUMask /etc/cups/cups-pdf.conf
### Key: UserUMaskUserUMask 0033
對于那些不熟悉umask(有名用戶文件創(chuàng)建模式掩碼),它作為一組可以用于控制那些為新文件創(chuàng)建時修改默認權(quán)限。給予特定的umask值,在計算最終文件的許可權(quán)限時,在文件基本權(quán)限(0666)和umask的單項按位補碼之間進行按位布爾 AND 運算。因此,如果設(shè)置一個umask值為0033,那么新文件默認的權(quán)限將不是(0033)AND 0666 = 644的值(文件擁有者具有讀/寫/執(zhí)行的權(quán)限,其他人擁有只讀權(quán)限)。
實例 #2
在Ubuntu12.04執(zhí)行打印,本地登錄用戶為jdoe(同樣的帳號名稱但是服務(wù)器上是不存在的)。
root@debian:~# ls -l /var/spool/cups-pdf/ANONYMOUS
total 5428-rw-rw-rw- 1 nobody nogroup 5543070 Aug 18 15:57 Linux_-_Wikipedia__the_free_encyclopedia.pdf
這個PDF被創(chuàng)建時賦予的權(quán)限是666(-rw-rw-rw-),這意味著每個人都可以訪問它們。我們可以通過編輯在/etc/cups/cups-pdf.conf文件中的AnonUMask值來改變這種行為。
在這一點上,你也許會疑惑:為什么同樣安裝一臺網(wǎng)絡(luò)打印機,大多數(shù)(當然不是全部)當前的Linux桌面發(fā)行版都會內(nèi)置一個"打印到文件"的功能來允許用戶動態(tài)創(chuàng)建PDF文件?
使用一臺網(wǎng)絡(luò)PDF打印機有以下好處:
一個網(wǎng)絡(luò)打印機(任何類型的)允許你直接從命令行直接打印,無需首先打開文件。
在其它操作系統(tǒng)上安裝一個網(wǎng)絡(luò)客戶端,一個PDF網(wǎng)絡(luò)打印機備件,于是系統(tǒng)管理員不必再單獨需要安裝PDF創(chuàng)建者實用程序(也避免了最終用戶安裝這些工具存在的風險)。
網(wǎng)絡(luò)PDF打印機允許通過配置權(quán)限直接打印一個網(wǎng)絡(luò)共享,如我們所見的例子。
在Ubuntu桌面安裝一個網(wǎng)絡(luò)掃描儀
這里是通過Ubuntu桌面客戶端安裝和訪問一臺網(wǎng)絡(luò)掃描儀的一些步驟。假設(shè)網(wǎng)絡(luò)掃描儀服務(wù)器已經(jīng)啟動并運行所述here.
1)讓我們第一步來檢查在我們的Ubuntu客戶端主機上是否存在一臺可用的掃描儀。沒有先前的安裝,你將會看到信息提示"沒有識別到掃描儀." $ scanimage -L
2) 現(xiàn)在我們需要啟用saned進程,用來預(yù)裝Ubuntu桌面。要啟用它,我們需要編輯/etc/default/saned文件,并設(shè)置RUN變量為yes:
$ sudo vim /etc/default/saned
# Set to yes to start sanedRUN=yes
3) 讓我們編輯/etc/sane.d/net.conf文件,并在掃描儀安裝后添加服務(wù)器IP地址:
4) 重啟saned進程:
$ sudo service saned restart
5) 現(xiàn)在讓我們來看看掃描儀是否可用:
現(xiàn)在我們可以打開"Simple Scan"(或者其它掃描工具)并開始掃描文件。我們可以旋轉(zhuǎn),修剪,和保存生成的圖片:
總結(jié)
擁有一或多臺網(wǎng)絡(luò)打印機或掃描儀在任何辦公和家庭網(wǎng)絡(luò)中都是非常方便適用的,并同時提供了許多好處。例舉如下:
多用戶(從不同的平臺/地方)都能夠向打印機發(fā)送打印作業(yè)的隊列。
由于硬件共享達到了節(jié)約成本和維護的作用。
我希望這篇文章可以幫助你更充分地利用這些有點。