192.168.1.1-路由器设置 > 系统硬件 > 打印机共享怎么设置 >

linux下构建samba服务器共享打印机

文章摘要

终于将实验室的打印机安装在了一台安装了archlinux的破电脑上。实验室的其他兄弟姐妹用的都是windows,而我是两边倒,windows和linux都要用的,为了让大家都能够使用打印机,我配置了samba服务器上的打印机和打印机共享,而各个客户端自然就是连接这个共享打印机就行了请看如下

 

  终于将实验室的打印机安装在了一台安装了archlinux的破电脑上。实验室的其他兄弟姐妹用的都是windows,而我是两边倒,windows和linux都要用的,为了让大家都能够使用打印机,我配置了samba服务器上的打印机和打印机共享,而各个客户端自然就是连接这个共享打印机就行了。作为一个实例,这里不会涉及到linux和windows之间打印共享的所有情况,但我想对于打印机安装在linux下而又需要配置打印共享的读者会有少许帮助。对于我自己而言,最重要的就是写此文留个备忘了。

  配置服务器端的打印机及其共享:

  1.设置打印机当然是使用cups系统,如果你使用的发行版是ubuntu等比较傻瓜的linux,那么cups应该是已经安装上并默认启动起来了,你所需要做的就是配置它,那么请跳到第二步吧。我只说我使用过的发行版:gentoo和archlinux,这里不会讨论这两个发行版的优劣,只能说都是很优秀的发行版。对于gentoo用户,安装和启动cups很简单:

  #emerge-avcups

  #rc-update-acupsddeult

  如果使用archlinux:

  #pacman-Scups

  #vim(或者其他编辑器)/etc/rc.conf

  在DAEMONS一行中加入cups就行了

  2.现在可以来配置并测试我们的打印机了,我使用的是一台HPLaserJet1200的usb接口打印机,对于目前较新的内核(使用udev系统的),打印机插上马上就能识别了,除非你的内核不支持usb!,如果想看看是不是真的认出来了,可以用以下命令:

  #lsusb(需要安装pci-utils软件包)

  或者查看dmesg:

  #dmesggrepusb

  如果是刚插到电脑上,也可以这样:

  #dmesgtail

  如果你的打印机采用其他接口,而系统内核又不支持的,请先获取内核支持(加载相关模块或直接编译入内核中),这时你可能需要其他的帮助了。

  现在要配置cups了,cups提供了一个基于web的配置界面,对于桌面用户而言简直是太方便了。如果你不能安装桌面系统,对不起,这里暂时不提供帮助。确保cups服务进程已经启动起来了,在浏览器(随便,你喜欢的,我用firefox)中输入localhost:631,cups的配置界面就启动了!对于不熟悉英文的同学我要表示遗憾了,因为这个界面好像还没有被汉化。

  点击“addprinter”添加打印机,进入下个页面后要求输入name,location,description三个填空,其实都是可以随便写的,name当然就是打印机的名字了,选个专业又好记的名字就行,location描述打印机在哪里(就在自己身上挂着,我就写localhost啦),discription是打印机描述,可以空着。点击continue之后进入下一个页面。

  这一步选择打印设备,最关键的一步了,如果按照前面的说明你已经找到了你的打印机,那在这里就很好找了,点击下拉菜单,里面肯定有一个是你的打印机,选上,然后continue。

  这一步是选择驱动,一般来说系统已经带有了你的打印机驱动并推荐了几个给你了,按照推荐的选择一个最象的(不行回头改就是了),如果没有提供你的打印机驱动,你需要去这里看看,搜索你的打印机驱动并下载相应的ppd文件,存放起来,然后点browse...手动添加驱动。添加完驱动后,下一步就是“addprinter”

  这里需要输入root用户名和密码,输入之,敲击enter之后,恭喜你,打印机添加成功了!这时候该做的就是赶紧打印一页测试页看看打印机干不干活。

  3.cups配置完成后,还需要启动samba服务来共享这个打印机。首先当然是安装samba并启动samba服务了,方法和安装cups完全类似。不过samba服务启动之前要配置/etc/samba/smb.conf。samba提供了一个默认的配置文件在/etc/samba/smb.conf.deult(或许是其他,总归一般是有一个的),你可以复制过去作为你的配置文件模板,稍作修改就行了。配置的方法网上五花八门的介绍都有,不过为了让打印机共享不需要那么多花哨,只需要设置如下几行:

  workgroup=yourgroupname

  serverstring=abc

  security=share

  loadprinters=yes

  comment=AllPrinters

  path=/var/spool/samba

  browseable=no

  guestok=no

  writable=no

  printable=yes

  配置完成之后启动samba服务,手动启动的方法如下:

  #/etc/init.d/sambarestart

  如果是arch,服务启动脚本放在/etc/rc.d/下面。

  最后将samba加入启动进程中,服务器端配置就算是完成了。

  接下来讲客户端如何配置:

  1.windows客户端的配置常的简单了,直接在开始菜单中的“打印机与传真”里面,点击“添加打印机”,选择“网络打印机...”然后浏览打印机,找到一个和先前服务器端设置的serverstring一样的计算机,点击以下,共享的打印机就下拉下来啦,选中它,安装,这时候系统会提示安装打印驱动,在弹出来的列表窗口中选择打印机生产商,然后侧边打印机型号,然后安装,过一小会就OK了!新安装的打印机可能会显示访问,无法连接之类的,不用理它,这是因为samba设置了不可浏览的原因,不影响打印。接下来,测试,如果ok了就恭喜了。

  2.linux客户端的配置稍微麻烦那么一点点,那就是同样需要cups和samba(samba或许不需要,没有测试过),在cups中添加打印机的时候,在选择打印设备的时候选择“windowsprinterviasamba”,然后下一个界面要求你输入网络中的,由于我们是通过samba服务共享的,当然是以smb://开头啦,但是后面怎么写曾经难了我很长时间,现在我知道一招啦:

  利用smbclient:

  $smbclient-L(serverstring)

  serverstring是先前设置的samba服务器名。

  这时候会列出服务器端共享的所有资源。找到打印机并记下它的名字,比如我的是HPLaserJ,这样我的就这样写:smb://(serverstring)/HPLaserJ。在linux下可能需要用户验证(如果没有guest用户的话),这样的话最好在服务器端为linux用户添加一个用户账号,并将这个账号添加到samba用户中去:

  #smbpasswd-ausername

  如果是这样,需要在中写下用打印机共享户名和密码,例如smb://username:passwd@(serverstring)/HPLaserJ。

  其他配置和服务器端配置是一样的,在这里不累述。

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

分享到:

tags:打印机共享

最近更新-关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明
CopyRight2009-2011 All Rights Reserved 192.168.1.1 路由器设置jmqy.com