在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中国”

目录
相关文章
|
2月前
|
缓存 数据安全/隐私保护 Kotlin
Kotlin 中的网络请求代理设置最佳实践
Kotlin 中的网络请求代理设置最佳实践
|
6天前
|
网络协议 算法 网络性能优化
C语言 网络编程(十五)套接字选项设置
`setsockopt()`函数用于设置套接字选项,如重复使用地址(`SO_REUSEADDR`)、端口(`SO_REUSEPORT`)及超时时间(`SO_RCVTIMEO`)。其参数包括套接字描述符、协议级别、选项名称、选项值及其长度。成功返回0,失败返回-1并设置`errno`。示例展示了如何创建TCP服务器并设置相关选项。配套的`getsockopt()`函数用于获取这些选项的值。
|
13天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于深度学习网络的USB摄像头实时视频采集与水果识别matlab仿真
本项目展示了使用MATLAB 2022a和USB摄像头识别显示器上不同水果图片的算法。通过预览图可见其准确识别效果,完整程序无水印。项目采用GoogleNet(Inception-v1)深度卷积神经网络,利用Inception模块捕捉多尺度特征。代码含详细中文注释及操作视频,便于理解和使用。
|
18天前
|
缓存 负载均衡 应用服务中间件
Nginx 代理管理器强势登场!轻松设置反向代理,为你的网络安全与高效护航,快来探索!
【8月更文挑战第23天】Nginx 代理管理器(NPM)是一款强大的工具,用于简化反向代理的设置流程。反向代理能隐藏后端服务器的真实IP,提升安全性,实现负载均衡与缓存等功能。用户需先安装Nginx 代理管理器,然后通过其Web界面添加代理主机,指定代理名称、协议类型、服务器地址及端口等信息。对于HTTPS协议,还需上传SSL证书/密钥。完成设置后,可通过浏览器测试反向代理是否正常工作。Nginx 代理管理器还支持高级特性,如负载均衡、缓存及访问控制等。
37 1
|
19天前
|
网络协议 Linux 网络架构
在Linux中,如何设置网络路由?
在Linux中,如何设置网络路由?
|
1月前
|
机器学习/深度学习 数据采集 算法
基于深度学习网络的USB摄像头实时视频采集与火焰检测matlab仿真
本项目使用MATLAB2022a实现基于YOLOv2的火焰检测系统。通过USB摄像头捕捉火焰视频,系统实时识别并标出火焰位置。核心流程包括:视频采集、火焰检测及数据预处理(图像标准化与增强)。YOLOv2模型经特定火焰数据集训练,能快速准确地识别火焰。系统含详细中文注释与操作指南,助力快速上手。
|
17天前
|
网络协议 安全
【Azure 应用服务】Azure Function集成虚拟网络,设置被同在虚拟网络中的Storage Account触发,遇见Function无法触发的问题
【Azure 应用服务】Azure Function集成虚拟网络,设置被同在虚拟网络中的Storage Account触发,遇见Function无法触发的问题
|
17天前
|
存储 编解码 监控
云端加密代码库问题之企业设置网络隔离如何解决
云端加密代码库问题之企业设置网络隔离如何解决
|
18天前
|
安全 网络安全 数据处理
防火墙设置难倒你?这两种组网模式轻松解决网络安全难题!
【8月更文挑战第23天】在网络安全日益重要的今天,防火墙作为关键防护设备扮演着重要角色。本文重点分析两种核心组网模式:三层路由网关模式与二层透明网桥模式。前者通过IP层处理实现内外网隔离及丰富的策略配置,增强安全性;后者以MAC地址转发,部署简便,不影响现有网络结构,适合服务不可中断的情况。通过企业升级安全防护的实际案例,展示了不同模式的应用场景及优势,并提供了三层路由网关模式的配置示例。正确选择和配置防火墙组网模式对于提高网络安全性和保证业务连续性至关重要。
35 0
|
2月前
|
机器学习/深度学习 算法 BI
基于深度学习网络的USB摄像头实时视频采集与手势检测识别matlab仿真
**摘要:** 本文介绍了使用MATLAB2022a实现的基于GoogLeNet的USB摄像头手势识别系统。系统通过摄像头捕获视频,利用深度学习的卷积神经网络进行手势检测与识别。GoogLeNet网络的Inception模块优化了计算效率,避免过拟合。手势检测涉及RPN生成候选框,送入网络进行分类。系统架构包括视频采集、手势检测与识别、以及决策反馈。通过GPU加速和模型优化保证实时性能,应用于智能家居等场景。
下一篇
DDNS