歡迎您光臨本站 註冊首頁

Ubuntu 8.10 samba印表機的設置使用

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

Ubuntu 8.10 samba印表機的設置使用

1、        測試印表機為  Star 3200+
2、        系統為Ubuntu 8.10

一、        首先安裝印表機驅動程序
目前,在Ubuntu8.10下沒有對Star 3200+的驅動,唯有選擇Epson 24-Pin的驅動。
安裝測試成功。

二、        安裝配置samba

1、        安裝samba   
sudo apt-get install samba
2、        安裝,smbclient
sudo apt-get install smbclient
3、        安裝smbfs
sudo apt-get install smbfs. 
4、        裝完以後配置smb.conf文件(命令:sudo gedit /etc/samba/smb.conf),
需要修改的幾個主要地方: 
workgroup=域名    /*如果機器不在域中就填寫workgroup名*/ 
netbios name=計算機名   /*這個不用說了,別的電腦可以通過//計算機名直接來訪問,就不用去記IP了。*/ 
passwd program=/etc/samba/smbpasswd   /具體我的配置沒有找到這項,可能是samba的版本不同吧
security =user    /*這是驗證和登錄方式,本來有很多種方式,user是比較常用的一種,它需要管理員手動設置一個smb帳戶和密碼;share方式是不要用戶名和密碼,這種非常不安全基本不使用;server就是由Samba伺服器或NT伺服器來驗證,我感覺這個有點類似於windows域中的用戶檢驗機制,但是應該會更加複雜。 
段需要修改 browseable=yes 這樣才能讓人瀏覽。
添加共享可以在系統——系統管理——共享的文件夾裡面設置,也可以直接編輯上面的smb.conf。 
添加SMB帳戶:
 首先要添加一個ubuntu帳戶 
sudo adduser -a bunorte(這裡就是添加一個名為bunorte的帳戶,enter后要求輸入帳戶密碼。) 
然後在把bunorte添加為smb帳戶 
sudo smbpasswd -a bunorte(enter后要求輸入smb密碼,這個密碼是從別的電腦訪問時需要輸入的,可以跟上面的帳戶密碼不同)
注意:這裡是我偷懶啦,直接copy別人的。他這裡所說的所做的,是為了在samba下添加
一個名為bunorte的用戶,同時它的目錄位於/home/bunorte,並且他對該目錄有讀寫許可權。這樣基本上就大功告成,可以先在windows裡面ping一下ubuntu機器,如果能通說明samba服務正常。然後可以在運行里輸入\\IP地址或者\\計算機名來訪問,第一次需要輸入先前設置的smb用戶名和密碼。
有幾個命令:
sudo   /etc/init.d/smb restart    重啟samba  
 sudo /pkill smbd 停止samba

5、        添加windows客戶端印表機程序
開始----運行---\\ IP地址或者\\計算機名來訪問,這時你就會看到,你夢寐已久的印表機啦,當你選擇「連接」時,windows系統會提示你安裝驅動,你選擇相應的驅動程序。OK啦,現在就可以開始你的samba印表機之旅啦。
這就是我的samba印表機的配置方法。但是我在網路上看了,很多網友的帖子,他們的配置方法很多,我也遇到很多問題,我們可以共同探討一下:


一、首先:Cups 在samba印表機中的作用
以前用samba共享印表機,但用一段時間就有問題,在網上搜索,發現直接用cups就可共享印表機,不需要samba。
1、安裝samba cupsys
shell>sudo apt-get install samba cupsys

如果缺少什麼包,你可以到下面的這個網址裡面查詢包的名稱
http://packages.ubuntu.com/

2、配置cupsys
shell>sudo vim /etc/cups/cupsd.conf
Listen 631
# Restrict access to the server...
<Location />
  Order allow,deny
  Allow all
</Location>
# Restrict access to the admin pages...
<Location /admin>
  Order allow,deny
  Allow from 192.168.0.205    #你所允許訪問你的cups服務的電腦,默認的話,僅有本機可以訪問
</Location>

這裡只列舉關鍵代碼,其它默認。重啟cupsys

shell>sudo /etc/init.d/cupsys restart

訪問CUPS配置頁面配置印表機,這裡可能會要求你使用機器里設置的域名來訪問,可能會出現打不開的問題,到時候你自己改一下就行了,或者修改你的/etc/hosts文件,添加相應的條目即可。
啟動cups服務后:在瀏覽器里直接輸入(註:這個是是本機操作)
http://127.0.0.1:631
里選Administration,選上
Show printers shared by other systems
Share published printers connected to this system
新版本的還有一個也選上
Allow printing from the Internet
然後在客戶機上,不管是win還是linux,添加印表機,選ipp印表機,格式如下:
ipp://X.X.X.X:631/printers/印表機名 (linux下測試成功)
http://X.X.X.X:631/印表機名 (win下測試成功)

X.X.X.X為提供列印服務的機器IP。

這樣是不是很方便?


二、 現在可以來配置並測試我們的印表機了,我使用的是一台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之後,恭喜你,印表機添加成功了!這時候該做的就是趕緊列印一頁測試頁看看印表機干不幹活。

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

workgroup=yourgroupname  #這個是想共享的目錄名
server string=abc
security=share
load printers = yes


printing = cups
printcap name = cups
comment = All Printers
path = /var/spool/samba
browseable = no
guest ok = yes
read only = yes
writable = no
printable = yes
create mask = 0700

   # Windows clients look for this share name as a source of downloadable
# printer drivers

   comment = Printer Drivers
   path = /var/lib/samba/printers
   browseable = yes
   read only = yes
   guest ok = no
# Uncomment to allow remote administration of Windows print drivers.
# Replace 'ntadmin' with the name of the group your admin users are
# members of.
   write list = root

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

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

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

四、為windows客戶機提供驅動
(理論上來說,完成這一步就可以在連接網路印表機里免驅動了,然而這一步我沒有成功,但寫出來共享一下,說不定有成功的案例呢)
參考網址:http://www.enterprisenetworkingp ... article.php/3621876
這時要提示的是,要在samba的配置文件中將root用戶開啟,security不要更改,默認為user。如果改成了share,那麼在cupsaddsmb時,會出現如下提示
Server not using user level security and no password supplied.
文件不能多也不能少,文件名不能錯,不能大寫。文件列表

shell>ls /usr/share/cups/drivers

cups6.inf cupsps6.dll ps5ui.dll pscript.ntf
cups6.ini cupsui6.dll pscript.hlp pscript5.dll
可以使用下面的命令測試root用戶及密碼

smbclient -L localhost -U root

如果成功,那麼可以進行下一步

shell>sudo cupsaddsmb -U root -a -v

如果成功,說明已經可以為windows 用戶提供驅動了。當然你也可以查看/var/lib/samba/printers/W32X86目錄查看文件是否已經複製成功。
我把所有一切都做完了,當客戶機連接SAMBA共享印表機時還是提示驅動不正確,而且使用windows下的驅動程序安裝里也提示不正確。經過研究,發現大部分情況下安裝Winstchs.exe就行了,如果不行可以通過http://ipaddress/printer/printer_name來連接印表機,這個地址可以通過前面CUPS的設置處獲得。
總結,連接CUPS+SAMBA的印表機有兩種情況,一種是通過SAMBA共享,需要Winstchs.exe提供的驅動;另一種是通過CUPS提供的網路印表機地址來連接,這種要印表機在windows 下的驅動。
Winstchs.exe是Adobe公司提供的Postscript drivers,下載地址如下:http://www.adobe.com/support/dow ... 4&platform=W...
註:關於這部分的內容可以參見
Export Printers to Samba
https://ipaddress:631/admin/?op=export-samba
This page allows you to export printers to Samba so that Windows clients can access them through the Network Neighborhood or Network Places icons on their desktop. You must previously install the Windows PostScript printer drivers as described in the cupsaddsmb(8) man page.

註:CUPS 命令
http://www.cups.org/documentation.php/options.html


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

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下面很少有很順利的事情的。堅持再堅持就一定會成功的。


由於我的測試僅做了,第一部分,所以對於其他存在大的問題,歡迎大家交流

[火星人 ] Ubuntu 8.10 samba印表機的設置使用已經有854次圍觀

http://coctec.com/docs/service/show-post-23745.html