在Debian上设置USB网络打印机和扫描仪服务器

在Debian上设置USB网络打印机和扫描仪服务器

假定你想要在你的家庭/办公网络中设置一台Linux打印服务器,而你手头上却只有USB打印机可用(因为他们比那些有着内建网络接口或无线模块的打印机要便宜得多)。此外,如果这些设备中有一台是一体化的,而你也想要通过网络共享其整合的扫描仪,这该怎么办?在本文中,我将介绍怎样安装并共享一台USB一体机(Epson CX3900喷墨打印机和扫描仪),一台USB激光打印机(Samsung ML-1640),以及作为锦上添花,配置一台PDF打印机。所有这一切,我们都将在GNU/Linux Debian 7.2 [Wheezy]服务器中实现。

尽管这些打印机看起来有点老旧了(我是在2007年买的Epson一体机,2009年买的激光打印机),但我仍然相信我从安装过程中学到的东西也一样能应用到该品牌的新产品和其它品牌中去:有一些预编译的.deb包驱动可用,而其它驱动可以从仓库中直接安装。毕竟,它是重要的基本原则。

先决条件

要设置网络打印机和扫描仪,我们将使用CUPS,它是一个用于Linux/UNIX/OSX的开源打印系统。


  1. # aptitude install cups cups-pdf

排障提示:根据你的系统状况(这个问题很可能在手动安装包失败后,或者缺少依赖包的时候会发生),在安装cups和cups-pdf前端包管理系统可能会提示你卸载许多包以尝试解决当前依赖问题。如果这种情况真的发生,你只有两个选择:

1)通过另外一个前端包管理系统安装包,如apt-get。注意,并不建议进行这样的处理,因为它不会解决当前的问题。

2)运行以下命令:aptitude update && aptitude upgrade。该命令会修复此问题,并同时更新包到最新版本。

配置CUPS

为了能够访问CUPS的网页接口,我们需要至少对cupsd.conf文件(用于CUPS的服务器配置文件)进行一次最低限度的修改。在进行修改前,让我们为cupsd.conf做个备份副本:


  1. # cp cupsd.conf cupsd.conf.bkp

然后,编辑原始文件(下面只显示了最为有关联的部分):

  • Listen:监听指定的地址和端口,或者域套接口路径。
  • Location /path:为该名字所代表的位置指定访问控制。
  • Order:指定HTTP访问控制顺序(allow,deny或deny,allow)。Order allow,deny是说允许规则先于(并且优先处理)拒绝规则。
  • DefaultAuthType (也可以用AuthType): 指定默认使用的认证类型。Basic是指使用/etc/passwd文件来认证CUPS中的用户。
  • DefaultEncryption:指定认证请求所使用的加密类型。
  • WebInterface:指定是否启用网页接口。


  1. # Listen for connections from the local machine
  2. Listen 192.168.0.15:631
  3.  
  4. # Restrict access to the server
  5. <Location />
  6. Order allow,deny
  7. Allow 192.168.0.0/24
  8. </Location>
  9.  
  10. # Default authentication type, when authentication is required
  11. DefaultAuthType Basic
  12. DefaultEncryption IfRequested
  13.  
  14. # Web interface setting
  15. WebInterface Yes
  16.  
  17. # Restrict access to the admin pages
  18. <Location /admin>
  19. Order allow,deny
  20. Allow 192.168.0.0/24
  21. </Location>

现在,让我们重启CUPS来应用修改:


  1. # service cups restart

为了允许另外一个用户(除了root之外)修改打印机设置,我们必须像下面这样添加他/她到lp(授权对打印机硬件的访问并启用用户管理打印任务)和lpadmin(拥有打印优先)组。如果在你当前网络设置没有必要或不需要该设置,你可以不用理会该步骤。


  1. # adduser xmodulo lp
  2. # adduser xmodulo lpadmin

通过网页接口配置网络打印机

1、 启动网页浏览器,并打开CUPS接口http://:Port,这里在我们的例子中是http://192.168.0.15:631:

2、 转到管理标签,然后点击添加打印机:

3、 选择你的打印机;在本例中,EPSON Stylus CX3900 @ debian (Inkjet Inkjet Printer),然后点击继续:

4、 是时候为打印机取个名字,并指定我们是否想要从当前工作站共享它:

5、 安装驱动——选择品牌并点击继续。

6、 如果打印机如果不被CUPS支持(没有在下一页中列出来),我们必须从生产厂家的网站上下载驱动(如http://download.ebz.epson.net/dsc/search/01/search/?OSC=LX),安装完后回到该页。

7、 注意,预编译的.deb文件必须从我们使用的机器上发送(例如,通过sftp或scp)到打印服务器(当然,如果我们有一个直接的下载链接就更加简单了,而不用下载按钮了):

8、 在将.deb文件放到服务器上后,我们就可以安装了:


  1. # dpkg -i epson-inkjet-printer-escpr_1.4.1-1lsb3.2_i386.deb

排障提示:如果lsb包(一个第三方Linux应用编写者可以依赖标准核心系统)没有安装,那么驱动会无法安装:

我们将安装lsb,然后尝试再次安装打印机驱动:


  1. # aptitude install lsb
  2. # dpkg -i epson-inkjet-printer-escpr_1.4.1-1lsb3.2_i386.deb

9、 现在,我们可以返回到第五步并安装打印机:

配置网络扫描仪

现在,我们将继续配置打印机服务器来共享扫描仪。首先,安装xsane,这是SANE——扫描仪快捷访问的前端:


  1. # aptitude install xsane

接下来,让我们编辑/etc/default/saned文件以启用saned服务:


  1. # Set to yes to start saned
  2. RUN=yes

最后,我们将检查saned是否已经在运行了(很可能不在运行哦——那么我们将启动服务并再来检查):


  1. # ps -ef | grep saned | grep -v grep
  2. # service saned start

配置另一台网络打印机

通过CUPS,你可以配置多台网络打印机。让我们通过CUPS配置一台额外的打印机:Samsung ML-1640,它是一台USB打印机。

splix包包含了单色(ML-15xx, ML-16xx, ML-17xx, ML-2xxx)和彩色(CLP-5xx, CLP-6xx)Samsung打印机驱动。此外,此包的详细信息中指出,一些新命名的Samsung打印机,如Xerox Phaser 6100也适用此驱动。


  1. # aptitude install splix

然后我们将使用CUPS网页接口来安装打印机,就像前面一样:

安装PDF打印机

接下来,让我们在打印服务器上配置一台PDF打印机。这样,你就可以将来自客户计算机的文档转换成PDF格式了。

由于我们已经安装了cups-pdf包,PDF打印机就已经自动安装好了,可以通过网页接口验证:

当选定PDF打印机后,文档将被写入可配置目录(默认是~/PDF),或者也可以通过后续处理命令进行复制。

在下一篇文章中,我们将配置桌面客户端来通过网络访问打印机和扫描仪。

原文发布时间:2014-11-01

本文来自云栖合作伙伴“linux中国”

时间: 2024-09-19 08:15:22

在Debian上设置USB网络打印机和扫描仪服务器的相关文章

如何在ubuntu桌面配置一个网络打印机和扫描仪

如何在ubuntu桌面配置一个网络打印机和扫描仪 在之前的文章中, 我们讨论过如何在Linux服务器安装各种各样的打印机(当然也包括网络扫描仪).今天我们将来处理另一端:如何通过桌面客户端来访问网络打印机/扫描仪. 网络环境 在这个安装教程中,我们的服务器(Debian Wheezy 7.2版本)的IP地址是192.168.0.10,我们的客户端(Ubuntu 12.04版本)的IP地址是192.168.0.105.注意这两台机器是在同一个网段(192.168.0.0/24).如果我们想允许打印

如何在Debian上安装配置ownCloud

如何在Debian上安装配置ownCloud 据其官方网站,ownCloud可以让你通过一个Web界面或者WebDAV访问你的文件.它还提供了一个平台,可以轻松地查看.编辑和同步您所有设备的通讯录.日历和书签.尽管ownCloud与广泛使用Dropbox非常相似,但主要区别在于ownCloud是免费的,开源的,从而可以自己的服务器上建立与Dropbox类似的云存储服务.使用ownCloud你可以完整地访问和控制您的私人数据,而对存储空间(除了硬盘容量)或客户端的连接数量没有限制. ownClou

在 Debian 上使用 systemd 管理系统

在 Debian 上使用 systemd 管理系统 人类已经无法阻止 systemd 占领全世界的 Linux 系统了,唯一阻止它的方法是在你自己的机器上手动卸载它.到目前为止,systemd 已经创建了比任何软件都多的技术问题.感情问题和社会问题.这一点从"Linux 初始化软件之战"上就能看出,这场争论在 Debian 开发者之间持续了好几个月.当 Debian 技术委员会最终决定将 systemd 放到 Debian 8(代号 Jessie)的发行版里面时,其反对者试图通过多种努

Linux有问必答:如何在树莓派上安装USB网络摄像头

Linux有问必答:如何在树莓派上安装USB网络摄像头 Question: 我可以在树莓派上使用标准的USB网络摄像头么?我该如何检查USB网络摄像头与树莓派是否兼容?另外我该如何在树莓派上安装它? 如果你想在树莓上拍照或者录影,你可以安装树莓派的摄像头板.如果你不想要为摄像头模块花费额外的金钱,那有另外一个方法,就是你常见的USB 摄像头.你可能已经在PC上安装过了. 本教程中,我会展示如何在树莓派上设置摄像头.我们假设你使用的系统是Raspbian. 在此之前,你最好检查一下你的摄像头是否在

如何在Ubuntu,Linux Mint,Debian上禁用IPv6

如何在Ubuntu,Linux Mint,Debian上禁用IPv6 [编者注]都说IPv4地址枯竭了,要推广IPv6,但是迟迟不见动静,既然如此,在它完全就绪前,就不要让它来打扰我们的系统好了. IPv6 IPv6是寻址方案IPv4的下一个版本,被用来给域名分配数字地址. IPv6比IPv4支持更多的地址.然而,它还没有被广泛支持,还在被接受的过程中. 你的系统支持IPv6么? 为了支持IPv6,需要很多事情.首先你需要系统/操作系统支持IPv6.Ubuntu,Linux Mint,和大多是现

如何在一个主机上设置多个IP地址?(作者:王世俊)

ip地址 许多人认为一台机器只能有一个IP地址,实质上不是这样的.在一台主机上设置多个IP地址,这样可以为每一个部门,设置一个站点.而不用单独配置服务器了.使用多个IP地址就可以控制多个WEB站点.本文对如何在一个主机上设置多个IP地址的方法进行详细的讨论. 一般情况下,都认为一台机器只能有一个IP地址,实质是不是这样的.我们可以在一台主机上设置多个IP地址,这样可以为每一个部门,设置一个站点.而不用单独配置服务器了.我们以Windows2000 Server为例来加以说明.使用多个IP地址就可

一台Linux或UNIX机器上设置多个DB2系统

在DB2 for Linux, UNIX,和Windows Version 8之前,SAP客户只能在一台物理机器上安装每个DB2 版本的一个拷贝,因为安装路径是硬编码的.尽管 DB2 Version 8 提供了替换的修订包映像,但是这些映像只用于测试,在生产环境中 SAP 不支持它们. 对于 DB2 9,客户可以在一台物理机器上安装多个 DB2 软件拷贝.数据库的安装是相互独立的.它们可以是不同级别的,可以安装在任何有效路径上.每个拷贝可以独立更新,而不会相互影响.所有装有 DB2 9 的 SA

Red Hat 4上设置裸设备

在Linux上安装oracle经常会碰到需要使用裸设备的情况,这里就介绍一下Red Hat 4上设置裸设备的方法. 这份文档是在安装好oracle软件的基础上安装的,安装的时候要选择只安装oracle软件. 接下来就是基于裸设备新建数据库了... 1.增加一块硬盘,以root登陆OS [root@rac1 oracle]# fdisk -l Disk /dev/sda: 255 heads, 63 sectors, 652 cylinders Units = cylinders of 16065

在Smartphone/Pocket PC 2003上设置提醒

在用.NET CF开发Smartphone/Pocket PC应用时,我们经常需要给应用程序增加提醒功能,比如在下午 两点时提醒用户去开会,或者在手持设备和PC通过ActiveSync连接时提醒用户同步某项重要数据.目前, 实现提醒功能主要有以下几种方式: Windows CE .NET提供了CeSetUserNotification(在CE 2.11版本及以后又增加了 CeSetUserNotificationEx)这一API,可用于创建或修改提醒.该方法适用于Smartphone和Pocke