如何在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).如果我们想允许打印机访问其它网段,我们需要在服务器上修改cupsd.conf文件的以下部分:


  1. <Location />
  2. Order allow,deny
  3. Allow localhost
  4. Allow from XXX.YYY.ZZZ.*
  5. </Location>

(在上述例子中,我们授予打印机从本地或者任何系统能够访问打印机,这些系统的IPv4地址以XXX.YYY.ZZZ开始。

为了验证哪些打印机可以在我们的服务器上适用,我们也可以在服务器上使用lpstat命令,或者浏览网页https://192.168.0.10:631/printers page.


  1. root@debian:~# lpstat -a


  1. EPSON_Stylus_CX3900 accepting requests since Mon 18 Aug 2014 10:49:33 AM WARST
  2. PDF accepting requests since Mon 06 May 2013 04:46:11 PM WARST
  3. SamsungML1640Series accepting requests since Wed 13 Aug 2014 10:13:47 PM WARST

在Ubuntu桌面安装网络打印机

在我们的Ubuntu 12.04的客户端,我们将打开"Printing"菜单(Dash -> Printing).你会注意到在其它发行版中,这个名字也许会有一点差别(例如会叫做"Printers" 或者 "Print & Fax"):

还没有打印机添加到我们的客户端:

下面是在Ubuntu桌面客户端安装一台网络打印机的一些步骤。

1) “Add”按钮将弹出 "New Printer" 菜单。我们将选择"Network printer" -> "Find Network Printer"并输入我们服务器的IP地址,接着点击"Find":

2) 在最下面我们将会看到可使用的打印机的名称。我们来选择这台三星打印机并按"Forward":

3) 我们将会被要求填写一些关于我们打印机的信息。当我们输入完成时,将点击 "Apply"按钮。

4) 我们接下来将被询问是否打印一张测试页。让我们点击"Print test page"吧:

这个打印任务将被创建为本地id 2:

5)适用我们服务器上的CUPS网络借口,我们可以观察到打印任务已经提交成功了(打印机 -> SamsungML1640系列 -> 显示完成任务):

我们也可以通过在打印机服务器上运行以下命令显示同样信息:


  1. root@debian:~# cat /var/log/cups/page_log | grep -i samsung


  1. SamsungML1640Series root 27 [13/Aug/2014:22:15:34 -0300] 1 1 - localhost Test Page - -
  2. SamsungML1640Series gacanepa 28 [18/Aug/2014:11:28:50 -0300] 1 1 - 192.168.0.105 Test Page - -
  3. SamsungML1640Series gacanepa 29 [18/Aug/2014:11:45:57 -0300] 1 1 - 192.168.0.105 Test Page - -

这个page_log日志显示每一页被打印过的信息,只包括哪些用户发送这些打印任务,打印日期&时间,以及客户端的IPv4地址。

要安装Epson喷墨和PDF打印机,我们只需重复第1-5的步骤即可,并每一次选择左边的打印队列。例如,在下图中选择PDF打印机:

然而,请注意到根据CUPS-PDF 文档中,根据默认:

PDF文件将会被放置在打印作业的所有者命名的子目录内。在这个案例中,打印作业的所有者不能被识别(i.e.不会存在服务器中)输出的内容被放置在匿名操作的文件中。

这些默认的文件夹可以通过改变在/etc/cups/cups-pdf目录中的Out值和AnonDirName变量来修改。这里,${HOME}被扩展到用户的家目录中:


  1. Out ${HOME}/PDF
  2. AnonDirName /var/spool/cups-pdf/ANONYMOUS

网络打印实例

实例 #1

从Ubuntu12.04中打印,通常在本地用gacanepa(具有相同名字存在打印机服务器上)。

打印到PDF打印机之后,让我们来检查打印机服务器上的/home/gacanepa/PDF目录下的内容:


  1. root@debian:~# ls -l /home/gacanepa/PDF


  1. total 368
  2. -rw------- 1 gacanepa gacanepa 279176 Aug 18 13:49 Test_Page.pdf
  3. -rw------- 1 gacanepa gacanepa 7994 Aug 18 13:50 Untitled1.pdf
  4. -rw------- 1 gacanepa gacanepa 74911 Aug 18 14:36 Welcome_to_Conference_-_Thomas_S__Monson.pdf

这个PDF文件被创建时的,权限已经设置为600(-rw-------),这意味着只有打印任务的所有者(在这个例子中是gacanepa )可以访问它们。我们可以通过修改the /etc/cups/cups-pdf.conf文件UserUMask变量的值来改变这种行为。例如,0033的umask值将可以使PDF打印者以及其它所有者拥有创建文件的权限,但是只读权限也会赋予给其它所有者。


  1. root@debian:~# grep -i UserUMask /etc/cups/cups-pdf.conf


  1. ### Key: UserUMask
  2. UserUMask 0033

对于那些不熟悉umask(有名用户文件创建模式掩码),它作为一组可以用于控制那些为新文件创建时修改默认权限。给予特定的umask值,在计算最终文件的许可权限时,在文件基本权限(0666)和umask的单项按位补码之间进行按位布尔 AND 运算。因此,如果设置一个umask值为0033,那么新文件默认的权限将不是(0033)AND 0666 = 644的值(文件拥有者具有读/写/执行的权限,其他人拥有只读权限)。

实例 #2

在Ubuntu12.04执行打印,本地登录用户为jdoe(同样的帐号名称但是服务器上是不存在的)。


  1. root@debian:~# ls -l /var/spool/cups-pdf/ANONYMOUS


  1. total 5428
  2. -rw-rw-rw- 1 nobody nogroup 5543070 Aug 18 15:57 Linux_-_Wikipedia__the_free_encyclopedia.pdf

这个PDF被创建时赋予的权限是666(-rw-rw-rw-),这意味着每个人都可以访问它们。我们可以通过编辑在/etc/cups/cups-pdf.conf文件中的AnonUMask值来改变这种行为。

在这一点上,你也许会疑惑:为什么同样安装一台网络打印机,大多数(当然不是全部)当前的Linux桌面发行版都会内置一个"打印到文件"的功能来允许用户动态创建PDF文件?

使用一台网络PDF打印机有以下好处:

  • 一个网络打印机(任何类型的)允许你直接从命令行直接打印,无需首先打开文件。
  • 在其它操作系统上安装一个网络客户端,一个PDF网络打印机备件,于是系统管理员不必再单独需要安装PDF创建者实用程序(也避免了最终用户安装这些工具存在的风险)。
  • 网络PDF打印机允许通过配置权限直接打印一个网络共享,如我们所见的例子。

在Ubuntu桌面安装一个网络扫描仪

这里是通过Ubuntu桌面客户端安装和访问一台网络扫描仪的一些步骤。假设网络扫描仪服务器已经启动并运行所述here.

1)让我们第一步来检查在我们的Ubuntu客户端主机上是否存在一台可用的扫描仪。没有先前的安装,你将会看到信息提示"没有识别到扫描仪." $ scanimage -L

2) 现在我们需要启用saned进程,用来预装Ubuntu桌面。要启用它,我们需要编辑/etc/default/saned文件,并设置RUN变量为yes:


  1. $ sudo vim /etc/default/saned


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

3) 让我们编辑/etc/sane.d/net.conf文件,并在扫描仪安装后添加服务器IP地址:

4) 重启saned进程:


  1. $ sudo service saned restart

5) 现在让我们来看看扫描仪是否可用: 

现在我们可以打开"Simple Scan"(或者其它扫描工具)并开始扫描文件。我们可以旋转,修剪,和保存生成的图片:

总结

拥有一或多台网络打印机或扫描仪在任何办公和家庭网络中都是非常方便适用的,并同时提供了许多好处。例举如下:

  • 多用户(从不同的平台/地方)都能够向打印机发送打印作业的队列。
  • 由于硬件共享达到了节约成本和维护的作用。

我希望这篇文章可以帮助你更充分地利用这些有点。

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

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

时间: 2024-08-22 14:16:43

如何在ubuntu桌面配置一个网络打印机和扫描仪的相关文章

Linux 有问必答:如何在 Ubuntu 上配置网桥

Linux 有问必答:如何在 Ubuntu 上配置网桥 Question: 我需要在我的Ubuntu主机上建立一个Linux网桥,共享一个网卡给其他一些虚拟主机或在主机上创建的容器.我目前正在Ubuntu上使用网络管理器(Network Manager),所以最好>能使用网络管理器来配置一个网桥.我该怎么做? 网桥是一个硬件装备,用来将两个或多个数据链路层(OSI七层模型中第二层)互联,以使得不同网段上的网络设备可以互相访问.当你想要互联一个主机里的多个虚拟机器或者以太接口时,就需要在Linux

如何在Ubuntu下配置L2TP VPN

如何在Ubuntu下配置L2TP VPN 之前发布了一篇如何在Ubuntu下架设PPTP协议的VPN服务的文章,不过有些情况下,PPTP会受到影响而不能正常使用,那么你还有一种选择,就是使用L2TP/IPSec 的VPN.  安装软件包 sudo apt-get install xl2tpd openswan ppp IPSec / Openswan 打开 /etc/ipsec.conf 文件,做如下配置: config setup nat_traversal=yes virtual_priva

如何在Ubuntu下配置PPTP VPN

如何在Ubuntu下配置PPTP VPN 安装pptpd $ sudo apt-get install pptpd 编辑配置文件: $ sudo vi /etc/pptpd.conf 找到最下面,修改ip: localip 你的主机ip remoteip 10.100.0.2-10 第二行为分配的ip段  设置dns $ sudo vi /etc/ppp/pptpd-options 修改以下部分为google的dns: ms-dns 8.8.8.8 ms-dns 8.8.4.4 设置账号: $

如何在Ubuntu中配置tomcat 域名访问?

问题描述 如何在Ubuntu中配置tomcat 域名访问? 如题,现在我修改host的appBase不行,把app Base改回webapps 的话就到tomcat 主页, 现在我要直接访问域名就跳转到项目页面-是否有其他办法解决? 解决方案 tomcat域名配置Tomcat域名配置Tomcat 多域名配置

Linux 基础:如何在Ubuntu上检查一个软件包是否安装

Linux 基础:如何在Ubuntu上检查一个软件包是否安装 如果你正在管理Debian或者Ubuntu服务器,你也许会经常使用dpkg 或者 apt-get命令.这两个命令用来安装.卸载和更新包. 在本篇中,让我们看下如何在基于DEB的系统下检查是否安装了一个包. 要检查特定的包,比如firefox是否安装了,使用这个命令: dpkg -s firefox 示例输出: Package: firefox Status: install ok installed Priority: optiona

java-如何在项目中配置一个私钥,使每一个客户端访问我的接口都提示下载证书?

问题描述 如何在项目中配置一个私钥,使每一个客户端访问我的接口都提示下载证书? 在做一个接口,如何保证我只在项目中配置一个 私钥, 就可以使每一个访问我接口的用户提示下载证书??? 现在就是用 jdk生成的证书,但是必须客户端和服务端的密钥都有,我就是想怎么做才能在用户访问的时候才提示下载证书?? 解决方案 服务器端做一个检测,或者提供一个下载的页面 解决方案二: 服务器通讯端口做检查,如果不是标准密钥接入,或者没有密钥:跳转到密钥下载地址.

如何在Ubuntu中屏蔽一个网站

亲爱的ubuntu极客们, 在本教程中我将教你如何通过编辑/etc/hosts文件来屏蔽在Ubuntu Linux上不受欢迎的网站,这是用来处理DNS和Linux网络的系统文件. 我很喜欢这种方法,因为我不需要依靠第三方应用程序,这是非常容易使用的.您需要做的就是在/etc/hosts文件文件中做一个简单的变化. 请确保您有使用此方法时在机器上处于root用户访问状态,因为/etc/hosts文件文件由root用户拥有的,所以它不能被不被普通用户编辑. 编辑 /etc/hosts 文件您需要什么

如何在Ubuntu和Linux Mint上启用桌面共享

桌面共享是指通过图形终端仿真器在计算机桌面上实现远程访问和远程协作的技术.桌面共享允许两个或多个连接到网络的计算机用户在不同位置对同一个文件进行操作. 在这篇文章中,我将向你展示如何在 Ubuntu 和 Linux Mint 中启用桌面共享,并展示一些重要的安全特性. 在 Ubuntu 和 Linux Mint 上启用桌面共享 1.在 Ubuntu Dash 或 Linux Mint 菜单中,像下面的截图这样搜索 desktop sharing,搜索到以后,打开它. 在 Ubuntu 中搜索 D

如何在Ubuntu 14.04中配置PXE服务器

PXE(预启动执行环境Preboot Execution Environment) 服务器允许用户从网络中启动 Linux 发行版并且可以不需要 Linux ISO 镜像就能同时在数百台 PC 中安装.如果你客户端的计算机没有 CD/DVD 或USB 引导盘,或者如果你想在大型企业中同时安装多台计算机,那么 PXE 服务器可以帮你节省时间和金钱. 在这篇文章中,我们将告诉你如何在 Ubuntu 14.04 配置 PXE 服务器. 配置网络 开始前,你需要先设置 PXE 服务器使用静态 IP.在你