歡迎您光臨本站 註冊首頁

linux下搭建samba伺服器共享印表機

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

作者/jyr_king

終於將實驗室的印表機安裝在了一台安裝了archlinux的破電腦上。實驗室的其他兄弟姐妹用的都是windows,而我是兩邊倒,windows和linux都要用的,為了讓大家都能夠使用印表機,我配置了samba伺服器上的印表機和印表機共享,而各個客戶端自然就是連接這個共享印表機就行了。作為一個實例,這裡不會涉及到linux和windows之間列印共享的所有情況,但我想對於印表機安裝在linux下而又需要配置列印共享的讀者會有少許幫助。對於我自己而言,最重要的就是寫此文留個備忘了。

配置伺服器端的印表機及其共享:

1. 設置印表機當然是使用cups系統,如果你使用的發行版是ubuntu等比較傻瓜的linux,那麼cups應該是已經安裝上並默認啟動起來了,你所需要做的就是配置它,那麼請跳到第二步吧。我只說我使用過的發行版:gentoo和archlinux,這裡不會討論這兩個發行版的優劣,只能說都是很優秀的發行版。對於gentoo用戶,安裝和啟動cups很簡單:

#emerge -av cups
#rc-update -a cupsd default

如果使用archlinux:

#pacman -S cups
#vim (或者其他編輯器)/etc/rc.conf
在DAEMONS一行中加入cups就行了

2. 現在可以來配置並測試我們的印表機了,我使用的是一台HPLaserJet1200的usb介面印表機,對於目前較新的內核(使用udev系統的),印表機插上馬上就能識別了,除非你的內核不支持usb!,如果想看看是不是真的認出來了,可以用以下命令:

#lsusb(需要安裝pci-utils軟體包)
或者查看dmesg:
#dmesg |grep usb
如果是剛插到電腦上,也可以這樣:
#dmesg |tail

如果你的印表機採用其他介面,而系統內核又不支持的,請先獲取內核支持(載入相關模塊或直接編譯入內核中),這時你可能需要其他的幫助了。

現在要配置cups了,cups提供了一個基於web的配置界面,對於桌面用戶而言簡直是太方便了。如果你不能安裝桌面系統,對不起,這裡暫時不提供幫助。確保cups服務進程已經啟動起來了,在瀏覽器(隨便,你喜歡的,我用firefox)中輸入localhost:631,cups的配置界面就啟動了!對於不熟悉英文的同學我要表示遺憾了,因為這個界面好像還沒有被漢化。

點擊「add printer」添加印表機,進入下個頁面后要求輸入"name","location","description"三個填空,其實都是可以隨便寫的,name當然就是印表機的名字了,選個專業又好記的名字就行,location描述印表機在哪裡(就在自己身上掛著,我就寫localhost啦),discription是印表機描述,可以空著。點擊continue之後進入下一個頁面。

這一步選擇列印設備,最關鍵的一步了,如果按照前面的說明你已經找到了你的印表機,那在這裡就很好找了,點擊下拉菜單,裡面肯定有一個是你的印表機,選上,然後continue。

這一步是選擇驅動,一般來說系統已經帶有了你的印表機驅動並推薦了幾個給你了,按照推薦的選擇一個最象的(不行回頭改就是了),如果沒有提供你的印表機驅動,你需要去這裡看看,搜索你的印表機驅動並下載相應的ppd文件, 存放起來,然後點browse...手動添加驅動。添加完驅動后,下一步就是「add printer」

這裡需要輸入root用戶名和密碼,輸入之,敲擊enter之後,恭喜你,印表機添加成功了!這時候該做的就是趕緊列印一頁測試頁看看印表機干不幹活。

3. cups配置完成後,還需要啟動samba服務來共享這個印表機。首先當然是安裝samba並啟動samba服務了,方法和安裝cups完全類似。不過samba服務啟動之前要配置/etc/samba/smb.conf。samba提供了一個默認的配置文件在/etc/samba/smb.conf.default(或許是其他位置,總歸一般是有一個的),你可以複製過去作為你的配置文件模板,稍作修改就行了。配置的方法網上五花八門的介紹都有,不過為了讓印表機共享不需要那麼多花哨,只需要設置如下幾行:

[global]
workgroup=yourgroupname
server string=abc
security=share
load printers = yes

[printers]
comment = All Printers
path = /var/spool/samba
browseable = no
guest ok = no
writable = no
printable = yes

配置完成之後啟動samba服務,手動啟動的方法如下:

# /etc/init.d/samba restart
如果是arch,服務啟動腳本放在/etc/rc.d/下面。

最後將samba加入啟動進程中,伺服器端配置就算是完成了。

接下來講客戶端如何配置:

1. windows客戶端的配置是非常的簡單了,直接在開始菜單中的「印表機與傳真」裡面,點擊「添加印表機」,選擇「網路印表機...」然後瀏覽印表機,找到一個和先前伺服器端設置的server string一樣的計算機,點擊以下,共享的印表機就下拉下來啦,選中它,安裝,這時候系統會提示安裝列印驅動,在彈出來的列表窗口中選擇印表機生產商,然後側邊印表機型號,然後安裝,過一小會就OK了!新安裝的印表機可能會顯示拒絕訪問,無法連接之類的,不用理它,這是因為samba設置了不可瀏覽的原因,不影響列印。接下來,測試,如果ok了就恭喜了。

2. linux客戶端的配置稍微麻煩那麼一點點,那就是同樣需要cups和samba(samba或許不需要,沒有測試過),在cups中添加印表機的時候,在選擇列印設備的時候選擇「windows printer via samba」,然後下一個界面要求你輸入網路中的位置,由於我們是通過samba服務共享的,當然是以smb://開頭啦,但是後面怎麼寫曾經難了我很長時間,現在我知道一招啦:

利用smbclient:
$ smbclient -L (server string)
server string是先前設置的samba伺服器名。

這時候會列出伺服器端共享的所有資源。找到印表機並記下它的名字,比如我的是HPLaserJ,這樣我的位置就這樣寫:smb://(server string)/HPLaserJ。在linux下可能需要用戶驗證(如果沒有guest用戶的話),這樣的話最好在伺服器端為linux用戶添加一個用戶賬號,並將這個賬號添加到samba用戶中去:

#smbpasswd -a username

如果是這樣,需要在位置中寫下用戶名和密碼,例如smb://username:passwd@(server string)/HPLaserJ。

其他配置和伺服器端配置是一樣的,在這裡不累述。

如果一切順利,那是最好最好的事情了!在linux下面很少有很順利的事情的。

[火星人 ] linux下搭建samba伺服器共享印表機已經有994次圍觀

http://coctec.com/docs/linux/show-post-200397.html