<a target="_blank"></a>
在這個安裝教程中,我們的伺服器(debian wheezy 7.2版本)的ip位址是192.168.0.10,我們的用戶端(ubuntu 12.04版本)的ip位址是192.168.0.105.注意這兩台機器是在同一個網段(192.168.0.0/24).如果我們想允許列印機通路其它網段,我們需要在伺服器上修改cupsd.conf檔案的以下部分:
<location />
order allow,deny
allow localhost
allow from xxx.yyy.zzz.*
</location>
(在上述例子中,我們授予列印機從本地或者任何系統能夠通路列印機,這些系統的ipv4位址以xxx.yyy.zzz開始。
root@debian:~# lpstat -a
epson_stylus_cx3900 accepting requests since mon 18 aug 2014 10:49:33 am warst
pdf accepting requests since mon 06 may 2013 04:46:11 pm warst
samsungml1640series accepting requests since wed 13 aug 2014 10:13:47 pm warst
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiInBnauczZzomYrNWbiJWbnhWMkNWOxgTNyIzLcFDMvwVMxQTMwIzLc1WdixWYvwFduVWboNWY0RXYvwVY0FGZvwVZt5CevJWcu42Y4VnbpxWLuR2Lc9CX6MHc0RHaiojIsJye.jpg)
在我們的ubuntu 12.04的用戶端,我們将打開"printing"菜單(dash -> printing).你會注意到在其它發行版中,這個名字也許會有一點差别(例如會叫做"printers" 或者 "print & fax"):
還沒有列印機添加到我們的用戶端:
下面是在ubuntu桌面用戶端安裝一台網絡列印機的一些步驟。
1) “add”按鈕将彈出 "new printer" 菜單。我們将選擇"network printer" -> "find network printer"并輸入我們伺服器的ip位址,接着點選"find":
2) 在最下面我們将會看到可使用的列印機的名稱。我們來選擇這台三星列印機并按"forward":
3) 我們将會被要求填寫一些關于我們列印機的資訊。當我們輸入完成時,将點選 "apply"按鈕。
4) 我們接下來将被詢問是否列印一張測試頁。讓我們點選"print test page"吧:
這個列印任務将被建立為本地id 2:
5)适用我們伺服器上的cups網絡借口,我們可以觀察到列印任務已經送出成功了(列印機 -> samsungml1640系列 -> 顯示完成任務):
我們也可以通過在列印機伺服器上運作以下指令顯示同樣資訊:
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日志顯示每一頁被列印過的資訊,隻包括哪些使用者發送這些列印任務,列印日期&時間,以及用戶端的ipv4位址。
要安裝epson噴墨和pdf列印機,我們隻需重複第1-5的步驟即可,并每一次選擇左邊的列印隊列。例如,在下圖中選擇pdf列印機:
pdf檔案将會被放置在列印作業的所有者命名的子目錄内。在這個案例中,列印作業的所有者不能被識别(i.e.不會存在伺服器中)輸出的内容被放置在匿名操作的檔案中。
這些預設的檔案夾可以通過改變在/etc/cups/cups-pdf目錄中的out值和anondirname變量來修改。這裡,${home}被擴充到使用者的家目錄中:
out ${home}/pdf
anondirname /var/spool/cups-pdf/anonymous
從ubuntu12.04中列印,通常在本地用gacanepa(具有相同名字存在列印機伺服器上)。
列印到pdf列印機之後,讓我們來檢查列印機伺服器上的/home/gacanepa/pdf目錄下的内容:
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檔案被建立時的,權限已經設定為600(-rw-------),這意味着隻有列印任務的所有者(在這個例子中是gacanepa )可以通路它們。我們可以通過修改the /etc/cups/cups-pdf.conf檔案userumask變量的值來改變這種行為。例如,0033的umask值将可以使pdf列印者以及其它所有者擁有建立檔案的權限,但是隻讀權限也會賦予給其它所有者。
root@debian:~# grep -i userumask /etc/cups/cups-pdf.conf
### key: userumask
userumask 0033
對于那些不熟悉umask(有名使用者檔案建立模式掩碼),它作為一組可以用于控制那些為新檔案建立時修改預設權限。給予特定的umask值,在計算最終檔案的許可權限時,在檔案基本權限(0666)和umask的單項按位補碼之間進行按位布爾 and 運算。是以,如果設定一個umask值為0033,那麼新檔案預設的權限将不是(0033)and 0666 = 644的值(檔案擁有者具有讀/寫/執行的權限,其他人擁有隻讀權限)。
在ubuntu12.04執行列印,本地登入使用者為jdoe(同樣的帳号名稱但是伺服器上是不存在的)。
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被建立時賦予的權限是666(-rw-rw-rw-),這意味着每個人都可以通路它們。我們可以通過編輯在/etc/cups/cups-pdf.conf檔案中的anonumask值來改變這種行為。
在這一點上,你也許會疑惑:為什麼同樣安裝一台網絡列印機,大多數(當然不是全部)目前的linux桌面發行版都會内置一個"列印到檔案"的功能來允許使用者動态建立pdf檔案?
使用一台網絡pdf列印機有以下好處:
一個網絡列印機(任何類型的)允許你直接從指令行直接列印,無需首先打開檔案。
在其它作業系統上安裝一個網絡用戶端,一個pdf網絡列印機備件,于是系統管理者不必再單獨需要安裝pdf建立者實用程式(也避免了最終使用者安裝這些工具存在的風險)。
網絡pdf列印機允許通過配置權限直接列印一個網絡共享,如我們所見的例子。
1)讓我們第一步來檢查在我們的ubuntu用戶端主機上是否存在一台可用的掃描器。沒有先前的安裝,你将會看到資訊提示"沒有識别到掃描器." $ scanimage -l
2) 現在我們需要啟用saned程序,用來預裝ubuntu桌面。要啟用它,我們需要編輯/etc/default/saned檔案,并設定run變量為yes:
$ sudo vim /etc/default/saned
# set to yes to start saned
run=yes
3) 讓我們編輯/etc/sane.d/net.conf檔案,并在掃描器安裝後添加伺服器ip位址:
4) 重新開機saned程序:
$ sudo service saned restart
5) 現在讓我們來看看掃描器是否可用:
現在我們可以打開"simple scan"(或者其它掃描工具)并開始掃描檔案。我們可以旋轉,修剪,和儲存生成的圖檔:
擁有一或多台網絡列印機或掃描器在任何辦公和家庭網絡中都是非常友善适用的,并同時提供了許多好處。例舉如下:
多使用者(從不同的平台/地方)都能夠向列印機發送列印作業的隊列。
由于硬體共享達到了節約成本和維護的作用。
我希望這篇文章可以幫助你更充分地利用這些有點。
原文釋出時間:2014-11-02
本文來自雲栖合作夥伴“linux中國”