最近实验室新进来一台服务器还有打印机,老大意思让服务器连接打印机并进行网络共享,其他的人可以通过自己的PC连接到共享打印机,打印各自电脑的文件。这样的需求可能很多人都有遇到,我也是遇到这件事,在网上搜了很多才发现大家写的都比较乱,毕竟不是什么核心技术,不过配置过程中也做了很多尝试,现在把过程以教程的形式记录下来,方便自己以后忘掉的时候查找,也方便我的同事按照相同的方法进行配置。

整个共享过成分为两部分配置,服务器端使用Linux(Ubuntu 16.04)和PC端(win10):

服务器端(Ubuntu16.04)

  1. 本地安装打印机驱动

实验室采购的打印机是Brother的DCP-B7500D型号,在brother的官网上可以下载到最新的驱动linux-brprinter-installer-2.2.0-1.gz

安装步骤在下载的时候就已经说的很清楚了按照步骤就可以。

A)mkdir /usr/brother_dcp_b7500d

B)mv /home/exa/Downloads/linux-brprinter-installer-2.2.0-1.gz /usr/ brother_dcp_b7500d

C)cd /usr/brother_dcp_b7500d

D)gunzip linux-brprinter-installer-2.2.0-1.gz

E)bash linux-brprinter-installer-2.2.0-1 DCP-B7500D

之后安装按照步骤输入y或者n

Tips:这里需要说明的是当问到:Will you specify the DeviceURI ?时,需要注意

对于USB用户,选择:N(No)

对于Network用户,选择:Y(Yes)或者DeviceURI number

安装完成后,创建一个word文件,试着Ctrl+P打印下,如果可以打印出来word的内容,则说明驱动安装完成

  1. 安装CUPS服务

A)使用apt-get

apt-get install cups

B)cups配置

Vim /etc/cups/cupsd.conf

找到一行

在后面增加内容:

Listen 0.0.0.0:631

保存退出后,查看是否添加ok:

netstat -tunlp | grep ‘631’

C)重启服务

/etc/init.d/cups restart

D)网页配置

打开浏览器,打开网页localhost:631

选择CUPS for Administrators->Adding Printers and Classes

选择Printers->Add Printer

将会出现如下所示画面:

其中Local Printers中选择Brother DCP-B7500D series (Brother DCP-B7500D series),根据之前安装的驱动的不同,这里也会出现不同。

Discovered Network Printers和Other Network Printers两项不做选择,直接continue。

然后会出现如下界面

这里的Name等选项已经默认灰色填写了,我们直接勾选Share This Printer即可。

下面的页面如下:

选择Model中符合当前打印机的型号即可点击“Add Printer”

下面进入如下页面:

点击“Set Default Options”,进入如下页面:

然后将Maintain选项卡下拉,选择Print Test Page

如果这时候打印机输出打印任务,那就说明,到此CUPS的安装没问题。

  1. 安装samba服务

A) 安装samba

apt-get install samba

之后在/etc/目录下可以看到一个新的文件夹samba

B) 创建一个文件夹

mkdir /etc/samba/drivers

mkdir -m 777 /var/spool/samba

C) 修改配置文件

vim /etc/samba/smb.conf

修改如下对应组的信息如下:

[global]

server string = exa server

printcap name = cups

load printers = yes

printing = cups

[printers]

comment = All Printers

browseable = yes

path = /var/spool/samba

printable = yes

guest ok = yes

public = yes

writable = yes

printable = yes

read only = yes

create mask = 0700

load printers = yes

printing = cups

[print$]

comment = Printer Drivers

path = /var/lib/samba/drivers

browseable = yes

read only = yes

guest ok = yes

write list = root

D)重启samba服务

/etc/init.d/samba restart

显示ok,则说明成功

本地PC端(win10)

  1. 本地打印机驱动安装

按道理说这一步可以省略,但是在后面安装打印机驱动的,默认无法从服务器上获取该驱动,所以在后面的列表中找不到型号列表。打印机驱动下载符合win10的版本。

运行exe文件:

选择“下一步”:

勾选“我接受以上许可协议”,并“下一步”:

之后进行搜索,稍等一会儿,会出现:

点击“下一步”

这时候会出现未找到设备,不过没有关系,这个安装包的作用到这里就已经完成了,之后的配置会出现列表信息,我们需要这个就足够了。

  1. 进入打印机设置

设置->设备->打印机和扫描仪

  1. 点击“添加打印机或扫描仪”

搜索一会儿,会出现“我需要的打印机不在列表中”,单击这里,会出现“添加打印机”的配置页面,如下所示:

  1. 配置打印机

选择“按名称选择共享打印机”,这时候点击“浏览”

这里会自动搜索主机,在这里选择服务器的名称

我的是“USER…”的那一项,点击选择

这时候会出现之前在cups中设置的打印机的名称,如下图所示:

当然,选择Brother那一项,之后就回到最初的添加打印机的页面

点击“下一步”,之后会出现“找不到驱动程序”:

没有关系,不要担心,点击“确定”,之后会出现“添加打印机向导”页面:

这时候就可以在Brother->DCP-B7500D,这时候因为第1步的缘故,就可以看到这个选项了,否则看不到这一条,需要注意。

然后点击“确定”,等待,按照操作同意,然后就会出现成功的页面:

  1. 测试打印机

点击下一步,然后出现如下:

点击“打印测试页”,看打印机是否可以进行打印操作。

如果正常打印,则说明配置完成,

然后新建一个word,Ctrl+P,打印下当前word文档,在打印机选项中应该就已经有原先设置好的服务器打印机,进行打印即可。

linux服务器共享给windows的client打印机配置的更多相关文章

  1. puppet(一种Linux、Unix、windows平台的集中配置管理系统)

    puppet是一种Linux.Unix.windows平台的集中配置管理系统,使用自有的puppet描述语言,可管理配置文件.用户.cron任务.软件包.系统服务等.puppet把这些系统实体称之为资 ...

  2. 为Linux服务器伪装上Windows系统假象

    网络上的计算机很容易被黑客利用工具或其它手段进行扫描,以寻找系统中的漏洞,然后再针对漏洞进行攻击. 通过伪装Linux系统,给黑客设置系统假象,可以加大黑客对系统的分析难度,引诱他们步入歧途,从而进一 ...

  3. Linux服务器部署javaweb项目,从环境配置,到最终系统运行

    部署准备:javaJDK1.7,Tomcat7.0,MySQL5.8,可运行的javaWeb项目,linux环境的服务器(可以是安装在windows电脑上的linux虚拟机,安装了linux系统的电脑 ...

  4. Linux服务器文件和windows本机文件互传方法(本地文件上传Linux,Linux文件下载到本机)

    1.windows系统中下载XShell安装文件.下载地址:https://www.newasp.net/soft/384562.html 2.安装之后,新建会话输入远程linux的账号和密码. 3. ...

  5. Linux服务器安全之 fail2ban的安装与配置

    近日在查看Nginx的访问日志中,发现了大量404请求,仔细研究一番发现有人正在试图爆破网站. 我刚上线你就企图攻击我?????? 这怎么能忍.. 于是乎 --- 查资料后得知有一个神奇的工具 fai ...

  6. 在windows上通过ssh远程链接linux服务器[转]

    本文分别转自 [http://jingyan.baidu.com/article/6d704a130de40e28db51cab5.html] [http://www.cnblogs.com/mliu ...

  7. Windows连接Linux服务器中MySQL数据库-权限配置

    问题描述 在Windows系统中安装了监控MySQL数据库服务器性能的工具Spotlight on MySQL,利用Spotlight连接Linux服务器中的MySQL,进行相关配置如下:   点击& ...

  8. JeeSite 部署到linux服务器

    1.打包 改数据库连接 打包war包https://www.cnblogs.com/wdw31210/p/9878422.html 2.上传到linux 服务器的tomcat/webapps/ 下 安 ...

  9. 大数据之Linux服务器集群搭建

    之前写过一篇关于Linux服务器系统的安装与网关的配置,那么现在我们要进一步的搭建多台Linux服务器集群. 关于单台服务器的系统搭建配置就不在赘述了,详情见https://www.cnblogs.c ...

随机推荐

  1. git连接不上远程仓库---visualstudio提交代码报错:no upstream configured for branch 'master'

    1,新建文件夹,在文件下下鼠标右键git bush--->git init,初始化仓库: 2,设置gitthub仓库地址:git remote add origin https://github ...

  2. php+redis 实现消息队列的推送【demo】。

    用redis做队列,为了缓解瞬间请求服务器的压力.实际开发当中可通过定时任务去做.当然缺点是不够实时. 1.添加一个php文件,PushQueue.php <?php $redis=new re ...

  3. qtp中type方法的按键常量

    记录键盘操作可以用set和presskey方法,而type方法是不记录的.type方法主要用于输入连接文本字符串和键盘修饰键(组合键),组合键之间用&符号. 如:JavaWindow(&quo ...

  4. Python3将xml文件解析为Python对象

    一.说明 从最开始写javascript开始,我就很烦感使用getElementById()等函数来获取节点的方法,获取了一个节点要访问其子孙节点要么child半天要么就再来一个getElementB ...

  5. Sql中如何将数据表的两个字段的值如何互换?

    今天遇到一个数据表的两个列数据要互换,在网上找到并记录下. 直接用Sql就可以搞定,语法如下 --将数据表中两个列数据互换的语法-- update tabName set field1=field2, ...

  6. JavaScript中的this详解

    前言 this用法说难不难,有时候函数调用时,往往会搞不清楚this指向谁?那么,关于this的用法,你知道多少呢? 下面我来给大家整理一下关于this的详细分析,希望对大家有所帮助! this指向的 ...

  7. json对象转对象

    方式1:var obj = JSON.parse(jsonObject); 方式2:var obj = eval("("+jsonObject+")");

  8. git 删除与撤回

    Git 删除与撤回 标签: git 版本管理 删除文件 撤回删除操作 2017年01月13日 22:56:27786人阅读 评论(0) 收藏 举报  分类: Git(4)  版权声明:本文为博主原创文 ...

  9. [Leetcode 40]组合数和II Combination Sum II

    [题目] Given a collection of candidate numbers (candidates) and a target number (target), find all uni ...

  10. 正则表达式中的re.S

    正则表达式中,“.”的作用是匹配除“\n”以外的任何字符,也就是说,它是在一行中进行匹配.这里的“行”是以“\n”进行区分的.a字符串有每行的末尾有一个“\n”,不过它不可见. 如果不使用re.S参数 ...