开始之前
请确定自己的打印机是否有Linux的(兼容)驱动。
这里使用的是三星的SCX-3200打印机(自带扫描仪),通过USB连接。
系统配置:
(之前的工控机)
拥有固定的IP地址。
配置打印机
安装配置CUPS服务
安装:
1 | $ sudo apt install cups |
然后编辑/etc/cups/cupsd.conf
,更改以下配置:
1 | # 监听任意IP的访问,内网无所畏惧 |
然后重启cups
服务。
1 | $ sudo /etc/init.d/cups restart |
访问http://你的服务器:631/
,进入管理页面。
如果被禁止了,请检查配置文件。
设置打印机
接下来添加打印机驱动。进入Administration
管理页,在Printers
中点击Add Printer
.
如果被禁止了,请检查配置文件。
第一次登录,它会要求你输入账户密码来验证。这里直接使用root用户。
如果需要多个用户管理
来源:Linux中国 未经测试,仅供参考
为了允许另外一个用户(除了root之外)修改打印机设置,我们必须像下面这样添加他/她到lp(授权对打印机硬件的访问并启用用户管理打印任务)和lpadmin(拥有打印优先)组。如果在你当前网络设置没有必要或不需要该设置,你可以不用理会该步骤。
1 | # adduser xmodulo lp |
在Add Printer
中,你应该可以看到你的打印机型号。如果没有,可以尝试执行lsusb
检测服务器与打印机的连接情况。选中你的打印机,点击Continue
继续。
Name
和Description
可以不变。但一定要勾选Share This Printer
。否则只能在服务器本地使用。
在Model
列表框中查找对应打印机型号,并Add Printer
。 如果列表中没有对应打印机的驱动,且因为某种玄学原因找不到或安装不上这个打印机的Linux版本驱动,可以像我一样在列表中随机抽取一个对应打印机驱动。这里使用的是三星ML-1450的驱动。
可以根据情况自行更改。这里Set Default Options
。
打印机配置完后,可以在Printers
中打印测试页。
在Windows中添加打印机
在Windows中也需要安装对应打印机的驱动。后面的话如果会自己配置可以跳过不看。
+ R 输入 control
打开控制面板,进入控制面板\硬件和声音\设备和打印机
。点击工具栏中的添加打印机
。正常的话,它会显示当前局域网的打印机。双击你想要添加的。
若未在列表中找到对应打印机
点击
我所需的打印机未列出
输入你的打印机的URL,如:http://192.168.0.204:631/printers/Samsung_SCX-3200_Series
然后它会让你选择驱动程序。没有问题的话就添加好了,可以尝试打印测试页。
配置扫描仪服务器
配置扫描仪服务器的步骤参考自tangbao’s Blog,因为搜不到其他的了。
安装SANE——Linux下通用扫描仪API。
1 | $ sudo apt install sane |
测试扫描仪
执行sudo sane-find-scanner
测试扫描仪。
1 | $ sudo sane-find-scanner |
出现found *** scanner字样就说明检测到扫描仪了。
1 | $ sudo scanimage -L |
配置SANE
向/etc/default/saned
加入RUN=yes
,开启守护进程:
1 | # Defaults for the saned initscript, from sane-utils |
然后编辑/etc/sane.d/saned.conf
,取消注释data_portrange = 10000 - 10100
,添加192.168.0.0/24
(类似前面CUPS允许访问的IP的设置)。
将saned守护进程saned
加入lp
组。
1 | $ sudo adduser saned lp |
重启sane,使sane随开机启动,并检查状态。
1 | $ sudo systemctl start saned.socket |
说明sane已经在监听6566端口了。
使用SANE客户端
下载安装完,在开始菜单中打开SANEWin。
Output Format - 输出格式
Compression - 压缩
Output Folder - 输出文件夹
Output File Name Base - 输出文件名的格式
Overwrite Existing File - 当出现同名文件时覆盖
View After Acquire - 取得扫描文件后打开
点击Acquire
;
第一次使用可能会出现一些MsgBox,不用理会
在Host Name or IP Address
中输入服务器的主机名或IP地址。
如果服务器没有连接多于一个扫描仪,就默认,点击OK。
然后就进入了配置页。
这里建议设置Scan resolution
(扫描仪分辨率)为较大值,比如600。
点击Scan
扫描文件。
发现的一些问题
在samba共享文件夹下使用sudo scanimage -d "xerox_mfp:libusb:001:005" --format jpeg --resolution 150 > X.jpeg
扫描时失败,输出的文件损坏。
当时将工作目录切换至家目录后正常,但在Windows文件管理器访问家目录时又失败了……可能是sane和samba访问冲突?
(2021/2/13)