cups安卓无线打印很多人对这个问题比较感兴趣,下面让我们一起来看如何在树莓派上安装CUPS实现打印服务器,希望可以帮助到你。
如何在树莓派上安装CUPS实现打印服务器
有很多文章已经提到了在树莓派上安装CUPS的过程,但是文章都具有时效性,参考这些文章去做时出现了一些问题,现在记录一下流程:
首先执行更新,我之前就是没执行更新,导致后续操作错误,下载安装时会提示404 找不到文件
[code lang=”shell”]sudo apt-get update[/code]
更新一番之后继续执行,安装Cups
[code lang=”shell”]sudo apt-get install cups[/code]
配置用户
[code lang=”shell”]sudo usermod -a -G lpadmin pi[/code]
下面替换CUPS的配置文件,首先停止服务
[code lang=”shell”]sudo service cups stop[/code]
备份原有文件
[code lang=”shell”]sudo mv /etc/cups/cupsd.conf /etc/cups/cupsd.conf.bak[/code]
从服务器上下载新的配置文件
[code lang=”shell”]
cd /etc/cups/
sudo wget http://jxeeno.tk/local–files/blog:raspberry-pi:print-server/cupsd.conf
[/code]
完成,现在可以启动服务了
[code lang=”shell”]sudo service cups start[/code]
下一步设置打印机,首先将打印机连接到树莓派上,然后在浏览器中输入 https://ip:631 进入配置界面 打开的是一个网站,在上面菜单栏中找到Administrator,会提示你用户名和密码,输入树莓派的用户名和密码即可
登录后,在Printers栏目中点击Add Printer
显示的Local Printers会有你连接上的那台打印机,选中它点击continue
在这个界面Name是打印机的名字,以后用来在URL中确定打印机,所以短一些比较好、
勾选Sharing,别的不用变,点Continue
下一个界面选择驱动程序,如果在Model栏目中有打印机的型号就最好了,否则可以上传打印驱动程序
最后就设置完成了,复制最后一个界面的URL,也就是类似于http://ip:631/printers/打印机名 就可以在其他电脑上添加共享打印机了
请教CUPS 共享打印机的问题
/etc/init.d/cups start
然后在CUPS服务器主机server中,我们要做好2个文件的设置,这两个文件分别是:
/etc/cups/cupsd.conf
/etc/cups/printers.conf
其中,cupsd.conf是控制cups服务的设置,而printers.conf则是对打印机进行设置的。
设置这两个文件并不复杂,这里不建议手工修改,因为可以用web方式来设置,然后自动生成。
只要在本机的网页浏览器输入这个网址,就可以进入CUPS的web设置界面:
http://服务器主机名:631 例如: http://server:631
不过在这里,觉得需要介绍一下这两个文件里面的内容,这样对大家的理解会有好处。
而且,我发现如果要限制用户的话,好像还是需要手动修改printers.conf文件的。
cupsd.conf文件中的内容:
#================================
AuthType Basic
AuthClass System
Order Deny,Allow
Deny From All
Allow From 127.0.0.1
#上面这个部分是设定对CUPS服务管理的权限,一般只准许从本机进行对CUPS服务的修改控制。
#所以可以看到 allow地址是 127.0.0.1
Order Deny,Allow
Deny From All
Allow From All
#上面这个部分是对CUPS服务的功能权限默认设置,一般如此,没有什么特别的。
#
# End of "$Id: cupsd.conf.in,v 1.16 2004/08/18 17:53:47 mike Exp $".
#
# Lines below are automatically generated - DO NOT EDIT
#下面这部分是设置打印机在CUPS中的使用。因为服务器毕竟只是电脑,真正要打印还是通过打印机
#从设置看基本上也是全部使用权限开放,如果要限制IP地址区域的话,需要在Allow 后面进行设置。
#注意上面这一行,其中HP是打印机的名字,要和printers.cups中设置的一样才可以其作用。
Order Deny,Allow
Deny From All
AuthType None
Allow from All
#================================
printers.conf文件中的内容:
#================================
#下面这一行中的HP是打印机的名字,为方便设置,建议和打印机的网络主机名一致
Info Created by redhat-config-printer 0.6.x
DeviceURI lpd://HP/PORT1
State Idle
Accepting Yes
JobSheets none none
QuotaPeriod 0
PageLimit 0
KLimit 0
AllowUser root
AllowUser PETER
AllowUser SUSAN
#================================
这里,要重点说一下上面这部分中的黑体字那一行
DeviceURI lpd://HP/PORT1
这一行是定义打印机与CUPS服务器之间通过什么协议来连接,还有一些其它的候选协议如下:
file:/path/to/filename.prn
http://hostname:631/ipp/
http://hostname:631/ipp/port1
ipp://hostname/ipp/
ipp://hostname/ipp/port1
lpd://hostname/queue
socket://hostname
socket://hostname:9100
以上这些打印协议中,hostname指的是打印机的网络主机名,也可以用打印机的IP地址代替,631则是CUPS服务的端口号
这其中,port1一般是惠普打印机的默认queue,如果是多queue打印机,你可以通过ftp协议登陆到打印机上,然后看看打印机系统上根目录下有哪些目录,从中可以判断出queue的名字
这里要注意一个问题,因为我在实际操作中,发现 redhat-config-printer-gui 图形界面的打印机设置只支持 LPD 协议的打印机设置。也就是说,如果你采用 IPP, HTTP, 或者 socket,即使配置成功,测试页也可以打印,但是就是不可以使用 redhat-config-printer-gui 图形界面来对打印机进行进异步设置。为了方便起见,我建议大家还是选用 LPD 来设置CUPS服务器和打印机之间的连接。
还有 AllowUser 语句,通过这条语句,可以允许或限制特定用户的打印权限,假如没有这条语句,就是所有用户可以打印。
这条语句是需要手动添加的。
*注意每次通过redhat-config-printer-gui 图形界面进行设置后,AllowUser 语句都会被自动删掉,需要重新添加
另外有关于 cupsd.conf 文件的补充内容:
在做好上面的设置后,发现如果要限制IP网段的话,手工配置很麻烦,于是通过redhat-config-printer-gui图形界面来配置。
下面这一部分是采用redhat-config-printer-gui图形界面设置后自动在cupsd.conf文件产生的,不建议手动添加。
不过要注意的是,如果想要采用redhat-printer-config-gui图形界面来修改设置,在printers.conf文件中,网络打印协议要采用LPD协议:
#============================
Browsing On
BrowseProtocols cups
BrowseOrder Deny,Allow
BrowseAllow from @LOCAL
BrowseAddress 255.255.255.255
Listen *:631
#============================
这其中 Listen 语句是设定允许使用CUPS服务的网络限制的。"*"代表所有的网络
我在一些资料中看到,说是如果要设置网络区域,是要写成如下格式:
Listen 0.0.0.0:631
但实际上是错误的,如果写成象上面那样,会导致CUPS服务启动出错。
会给出如下的出错信息:Child exited with status: 98!
所以,正确方法还是用 *号代替所有网络。
至于其它区域段IP网络设置,大家可以通过 redhat-printer-config-gui图形界面中的 share 选项进行控制,非常方便,在此就不一一列举。
做完以上这些,重新启动一下CUPS服务就可以.
用 lpq.cups 命令看一下打印机的状态, 如果有 "HP is ready" 字样,就说明CUPS服务器设置成功了。
客户端设置:
前提是CUPS服务器的防火墙要打开,至少631端口号不能屏蔽。
客户端的设置非常简单,只需要配置一个文件:
/etc/cups/client.conf
client.conf文件内容:
#======================
#ServerName CUPS服务器地址或服务器名,例如:
ServerName server
#======================
的确是很简单吧,设置好后重启一下CUPS服务就可以了。 ”
我是通过上面的那篇文章设置的,前面的服务器设置都正常,问题可能处在客户端的设置,上面的帖子说要把客户端里面的/etc/cups/client.conf修改下,但是问题是现在所有的F5系统主机名字都是一样的 而其我是该了好几次的主机名都没办法改。用HOSTNAME命令和在HOTS下都没办法。
什么是LPRng和CUPS打印系统啊
LPRng是LPR Next Generation的简写(下一代LPR),而LPR则是Line Printer Remote(远程行式打印机)的简写
而CUPS是Common Unix Print System(通用Unix打印系统)的简写
如何配置cups以使用windows共享的打印机
1.本地打印机的设置
(1)将打印机连接到运行Fedora-Core-8系统的计算机上,并打开电源
(2)通过“系统”—>“管理”—>“正在打印”,打开“打印机配置”对话框。然后点击“新打印机”,自动就开始搜索连接到电脑上的打印机。如果能够识别打印机的话,则会自己选择连接上的打印机。
(3)点击“前进”,选择打印机厂商和型号以便安装相应的驱动程序。
(4)点击“前进”,设置打印机名称,最后点击“应用”就完成了本地打印机的添加了。
2.共享打印机的设置
在“服务器设定”里够选上“显示被其他系统共享的打印机”,“共享连接到这个系统上的公共打印机”,“Allow printing from the Internet”,“允许远程管理”,“允许用户取消任何任务(包括不是自己的任务)”。
如果要windows 2000/xp共享该打印机,还需要进一步设置:对/etc/cups/mime.convs和mime.types进行修改。
(1)修改mime.convs
打开该文件,在最后几行找到
“application/octet-stream application/vnd.cups-raw 0 -”
如果前面加有注释号“#”,则将其去掉,然后保存设置。
(2)修改mime.types
打开该文件,在最后几行找到“application/octet-stream”,如果前面加有注释号“#”,则将其去掉,然后保存设置。
-------------------------------------------------------------------------------------------
1、直接利用CUPS提供打印服务器
(1)“开始”/“打印机和传真”/“添加打印机”/,打开“添加打印机向导”对话框。
(2)点击“下一步”,选择“网络打印机或连接到其它计算机的打印机(E)”。
(3)点击“下一步”,选择“连接到Internet、家庭或办公网络上的打印机(O):”在URL栏中填入打印机服务器的地址http://172.16.22.66:631/printer/epson。可以通过http://IP地址:631来管理CUPS打印机,进入界面后选择“printer”,就可以看到已经安装的CUPS打印机。
(4)如果地址正确且连接没有问题,则会提示你安装驱动程序,然后选择相应的驱动程序后,打印机的添加工作就算完成了,如不出意外就可以使用打印机。
这种方法配置起来比较简单,但是有一个缺点,即使必须给客户端安装打印机的驱动程序,如果客户端数量很多的话,那工作量就相当的大了,所以觉得还是用Samba和CUPS结合一起提供打印,有点就是在服务器上安装了驱动程序后,客户端就可以不用安装了。
2、利用Samba和CUPS结合提供打印服务器
首先先在smb.conf添加对打印机的支持
[printers]
comment = All Printers
path = /var/spool/samba
browseable = no
guest ok = yes
public=yes
writable = no
printable = yes
printer admin=ghost
[print$]
comment=printer drivers
path=/etc/samba/drivers
browseable=yes
read only=yes
write list=ghost
此外还要添加一个Samba用户,该用户必须是系统存在的用户
[root@localhost~]smbpasswd -a ghost
[root@localhost~]chown ghost /etc/samba/drivers
因为打印机的管理员和驱动的管理员都设定为ghost,所以也要对该文件夹改变一下权限。
然后还得cups-samba-1.1.16.tar.gz和cups-windows-6.0-1.i386.rpm(软件包的版本自己选),如果是rpm包的话直接安装就可以了,如故是源代码包的话,要安装在/usr/share/cups/drivers,此外还要到windowsXP系统C:\WINDOWS\system32\spool\drivers\w32x86\3下去拷贝以PS开头的文件,然后把文件名都改成小写的,全部放在/usr/share/cups/drivers,但是一般在windows系统下默认没有这些文件,所以可以到Adobe网站http://www.adobe.com/support/downloads/product.jspproduct=44&platform=Windows)去下载PostScript,然后在windows系统安装后在拷贝那些文件。
然后就要告诉Samba,让CUPS提供客户端windows2000/XP的打印驱动
cupsaddsmb -H[samba主机名] -h[cups主机名] -a -v -U [用户账号]
然后就会罗列出一些信息,最后出现类似如下信息才算安装成功:
Printer Driver [打印机名] successfully installed.
Succesfully set [打印机名] to driver epson.
然后在/etc/samba/drivers下会出现一个W32X86的文件夹,里面的文件就是提供给客户端的驱动程序。
在打印过程中可以登录到Samba主机查看打印机的状态,打印工作等信息。
(1)lpstat:查看打印状态
(2)lpq:查看打印工作队列
(3)lprm:删除等待的打印队列
求教,openwrt 配置cups打印服务 的问题
Openwrt已经安装了这两个文件,出现了/dev/usb/lp0,在p910nd文件中也已经修改了, 电脑上安装了2900的驱动之后,打印,却提示“不支持打印机连接的端口” opkg update opkg install luci-app-p910nd opkg install kmod-usb-printer