简介:面向Linux桌面或服务器用户的三星打印扫描驱动程序v1.00.06版,适配多款三星打印机与一体机,主要解决Linux环境下缺少官方驱动导致的无法识别设备、打印乱码、扫描功能受限等常见问题。该驱动包总计229个文件,包含ppd打印机描述文件、cts设备配置、安装/扫描脚本、rastertospl与pstospl打印处理模块,以及面向Fedora/SUSE等发行版的防火墙配置,整体压缩包约10.1MB,结构清晰便于直接部署。已有813人学习下载,适合有一定Linux基础、需要为三星打印机配置打印扫描服务的用户,也适合企业IT管理员在批量部署时参考。资源以三星官方2013年8月发布的驱动为基础,随包附带详细配置样例与系统集成文件,可帮助用户顺利走通打印机添加、扫描仪识别、驱动加载等环节,并减少因第三方驱动不兼容带来的运维成本。
1. 三星打印及扫描驱动程序v1.00.06版:给 Linux 下的打印机和扫描仪补一张官方票
三星打印及扫描驱动程序v1.00.06版For Linux-32 Linux-64,是三星官方为 Linux 系统发布的打印机与扫描仪一体驱动包,解决的是同一台设备在 Windows 下即插即用、在 Linux 下却"装不上、打不出、扫不了"的尴尬。你需要它的场景很具体:刚把办公室那台三星激光一体机接到 Ubuntu 或 CentOS 主机上,lsusb 能看到设备号,但 CUPS 里没有对应驱动,扫描仪更是只亮红灯不干活。这一版驱动同时提供 32 位和 64 位安装包,意味着从老旧的 i386 桌面机到新装的 x86_64 服务器都能覆盖。适合的读者是 Linux 桌面用户、运维和打印共享服务的维护者,目标是让打印机和扫描仪在同一台机器上真正"复工"。接下来我从驱动包结构讲起,把两条安装路径、队列配置和扫描调试一次讲透。
2. 拆开驱动包看本质:它不是安装包,是一组 CUPS 和 SANE 的补丁集合
在跑任何命令之前,先搞清楚你拿到的到底是什么。三星这一版 Linux 驱动名义上是一个程序包,实际上是一组围绕 CUPS 打印系统和 SANE 扫描框架的补丁文件,没有它们,Linux 不认识这台设备,这是原则性问题。
2.1 解包之后你会看到的文件结构
下载得到的通常是一个 tar.gz 压缩包,解压之后常见会看到 install.sh 安装脚本、uld 目录(里面是 ppd 文件、rastertosamsungspl 过滤器、libsane-samsung 扫描库),以及为 rpm 和 deb 打包好的子目录。这个结构很多年没大变过,核心就三块:打印过滤器、PPD 描述文件、扫描仪 SANE 后端。
PPD 是 CUPS 识别设备的"身份证",它告诉打印系统你的设备支持什么分辨率、是否双面、纸盒尺寸上限是多少。rastertosamsungspl 这个过滤器负责把 CUPS 生成的通用栅格数据翻译成三星打印机自己的页面描述语言,这一步决定你打印出来的是正常文字还是满纸乱码。第三块 libsane-samsung 是扫描仪的灵魂,它让 SANE 后端在 lsusb 之外真正把设备当成"可用的扫描源"。
驱动包内部的文件分工,我用一张表说明:
| 文件/目录(常见命名) | 作用 | 装错后果 |
|---|---|---|
| install.sh | 自动检测发行版并调用 rpm/dpkg | 权限不足时中断安装 |
| /.ppd 或 uld/*.ppd | CUPS 设备描述文件 | 队列能建但打印选项缺失 |
| rastertosamsungspl | 栅格数据到打印机语言的转换器 | 打印空白、乱码或任务卡死 |
| libsane-samsung.so | SANE 后端扫描库 | scanimage -L 找不到设备 |
| *.rpm / *.deb 子包 | 分发行版打包产物 | 跨发行版安装会报依赖错误 |
看清楚这些文件之后,你就明白了:所谓"安装驱动",本质上是在 CUPS 的模型目录里放入 PPD、在过滤器目录里放入可执行文件、在 SANE 的库目录里放入后端,然后把它们链接起来。理解了这一层,后面排错就有了方向,而不是像无头苍蝇一样重装系统。
2.2 安装前三个检查:系统、CUPS、USB 识别状态
动手安装前先花三分钟做三个检查,能省掉后面最折磨人的排错环节。第一个检查是系统架构,直接决定你选 32 位还是 64 位包。第二个检查是 CUPS 服务是否在运行,很多压箱底的旧机器装了驱动但打印服务没起来,容易误判成驱动失败。第三个检查是 USB 是否被内核识别,这一步能区分是驱动问题还是线材/供电问题。
# 1. 确认系统架构和发行版 uname -m cat /etc/os-release | head -3 # 2. 确认 CUPS 服务状态 systemctl status cups --no-pager | head -10 # 3. 确认打印机已被内核识别(找 Samsung 字样) lsusb | grep -i samsung这段命令的逻辑是:uname -m 输出 x86_64 表示 64 位系统,输出 i686 或 i386 表示 32 位系统,发行版信息决定你该用 rpm 还是 deb。systemctl 是 systemd 系发行版通用的服务查看方式,看到 active (running) 才算正常。lsusb 按厂商名过滤出三星设备,如果这里什么都看不到,先换 USB 线、换接口再说,驱动救不了物理链路问题。注意 lsusb 的结果里的设备号要记下来,比如 ID 04e8:3437,后面配置扫描仪时有用。
2.3 提前解决 32 位库,别等安装脚本报错
很多 64 位系统装这个驱动翻车,核心原因是驱动里的部分组件还停留在 32 位时代。这不是三星独有的毛病,不少外设厂商的 Linux 驱动都有这个历史包袱。你需要保证系统里有 32 位兼容库,否则安装脚本能跑完,但后续调用过滤器和扫描库时直接加载失败。
Ubuntu 和 Debian 系的做法是启用 i386 架构再装兼容库,CentOS 和 RHEL 系则直接安装 multilib 包,两条线我分别写一下:
# Ubuntu / Debian 系 sudo dpkg --add-architecture i386 sudo apt-get update sudo apt-get install -y libc6:i386 libstdc++6:i386 libusb-1.0-0:i386 # CentOS / RHEL / Fedora 系 sudo yum install -y glibc.i686 libstdc++.i686 libusb.i686逻辑说明:dpkg --add-architecture i386 告诉 dpkg 允许拉取 32 位包,libc6:i386 和 libstdc++6:i386 分别提供 C 运行库和 C++ 标准库的 32 位版本,libusb 则是扫描后端访问 USB 设备的基础库。如果这一步省略,安装时可能不报错,但打印时作业会卡在队列里,查看 /var/log/cups/error_log 会看到类似 error while loading shared libraries 的提示。提前装好,等于给后面排掉一颗暗雷。
3. 安装驱动全流程:rpm 与 deb 两条路径的避坑实操
安装方式无非三种:用自带的 install.sh 一键装、手动装 rpm、手动装 deb。我建议初次安装用 install.sh,但你要盯着它输出的每一行;翻车之后再用手动方式定位具体哪个包出了问题。这一章的避坑经验,都是我实际踩过之后总结的。
3.1 install.sh 一键安装:省事但会掩盖细节
install.sh 是三星驱动包里的自动安装脚本,它会检测当前系统是 rpm 系还是 deb 系,然后自动调用对应的包管理器。常见用法是解压后进入目录直接跑:
tar -xzf Samsung_Printer_Driver_Linux.tar.gz cd Samsung_Printer_Driver_Linux sudo ./install.sh这段命令的逻辑不复杂:tar 解包进入目录,sudo 以管理员权限执行安装脚本。脚本内部流程大致是:搜索已连接的三星设备、复制 PPD 到 CUPS 模型目录、复制过滤器到 /usr/lib/cups/filter、安装扫描后端到 SANE 目录,最后尝试通过 lpadmin 自动创建打印队列。脚本的好处是自动化程度高,坏处是一旦某一步失败,它不会告诉你具体是哪一步,只抛出一句 Installation failed。所以脚本执行过程中要盯着终端输出,看到 failed 或 error 字样立刻截图记下来。
我一般会在跑 install.sh 之前先断开打印机 USB 线,等脚本把所有文件复制完、提示连接设备时再把 USB 插上。原因是脚本在创建队列时如果遇到设备处于忙状态,可能直接跳过队列创建,导致文件装好了但队列是空的。这个小技巧让我避免了很多次"装完发现打印机没出现在系统里"的问题。
3.2 手动 rpm 安装完整命令
如果你用的是 CentOS、RHEL、Fedora 或者 openSUSE,可以绕过 install.sh 直接装 rpm 包。先在解压目录里找到后缀为 .rpm 的文件,然后执行:
sudo rpm -Uhv --nodeps *.rpm逻辑说明:-U 是升级安装,-h 显示进度条,-v 输出详细信息,--nodeps 是跳过依赖检查。我不建议加 --nodeps,但很多老机器上这个驱动确实依赖旧的 libcups 接口,不加的话 rpm 会拒绝安装。参数说明:如果你对依赖有把握,去掉 --nodeps 更安全;如果 rpm 报了依赖缺失,先尝试用 dnf/yum 自动解决依赖,而不是一味跳过检查。
sudo dnf install -y *.rpm这是 dnf 系发行版更推荐的方式,dnf 会自动解析 rpm 依赖并从仓库补齐缺失的库。装完之后验证一下关键文件是否到位:
ls -l /usr/lib/cups/filter/rastertosamsungspl ls -l /usr/lib64/cups/filter/rastertosamsungspl两个路径都要看,64 位系统上 CUPS 过滤器可能位于 /usr/lib64/cups/filter 而非 /usr/lib/cups/filter,如果文件不在预期位置,回到解压目录里 find 一下实际复制到了哪里。
3.3 手动 dpkg 安装完整命令
Ubuntu、Debian、Linux Mint 这类 deb 系系统用 dpkg 安装。命令很短,但依赖坑比 rpm 多:
sudo dpkg -i *.deb sudo apt-get -f install -y逻辑说明:dpkg -i 直接安装目录下所有 deb 包,但不会自动补依赖;紧接着的 apt-get -f install 是"修复依赖"的标准动作,它的作用是让 apt 自动下载并安装 dpkg 装完但缺失的依赖库。这个组合比单纯 dpkg -i 稳得多,因为三星的 deb 包依赖描述并不完整。
安装结束后用 dpkg 确认:
dpkg -l | grep -i samsung输出结果里应该能看到类似 printer-driver-samsung、samsung-scanner 之类的包名,状态列是 ii 表示安装成功。如果状态是 iU 或者 iF,说明后台配置阶段出了问题。另外提醒一句:Ubuntu 20.04 以上的系统可能遇到 libcupsimage.so.2 被新版本替代的窘境,因为新版 libcups 把 libcupsimage 合并或改了版本号,导致驱动里的二进制找不到它。常见做法是创建一个软链接兼容:
sudo ln -s /usr/lib/x86_64-linux-gnu/libcupsimage.so.2 /usr/lib/x86_64-linux-gnu/libcupsimage.so这行命令的作用是把新版库文件映射成旧版名称,让三星过滤器在加载时能找到符号。注意这是临时兼容手段,如果链接的库版本差异太大,可能加载到一半仍然报 symbol lookup error,这时候更稳妥的办法是同时安装 libcups2-dev 补全开发接口。
3.4 安装时的 5 个常见坑:现象、原因、解决
这一节是血泪经验汇总,每一条我都按"现象到原因到解决"的顺序写。
坑一:install.sh 提示 Install failed,但没有具体错误行。现象是脚本只抛一个笼统的失败,然后退出码非 0。原因通常是用户不在 sudo 组、旧版本驱动残留没清干净、或者磁盘空间不足。解决方法是先 sudo whoami 确认权限,再执行 dpkg -l | grep samsung 或 rpm -qa | grep samsung 看有无残留,有残留就先卸载再装。
坑二:打印机建好队列但打印输出空白页。现象是任务从队列里正常完成,但纸上是白的。原因八成是 rastertosamsungspl 过滤器没有可执行权限,或者 32 位运行库缺失导致过滤器加载失败。解决方法是 chmod +x 手动给过滤器加执行权限,并重新检查 2.3 节的 32 位库是否装齐。
坑三:scanimage -L 看不到扫描仪。现象是打印正常但扫描没动静。原因是 SANE 后端文件没被 ldconfig 索引,或者后端依赖的 libusb 版本不匹配。解决方法是安装后执行 ldconfig 刷新动态库缓存,然后用 sane-find-scanner -q 查看后端是否加载了三星设备。
坑四:Ubuntu 22.04 安装时报 rastertosamsungspl: not found。现象是 rpm/deb 装完但过滤器目录是空的。原因是系统 CUPS 过滤器目录不在 /usr/lib/cups/filter,而在 /usr/libexec/cups/filter。解决方法是手动把驱动包里的过滤器复制到 /usr/libexec/cups/filter 并加执行权限,然后重启 CUPS。
坑五:打印机一直处于 offline 状态。现象是 CUPS 队列显示打印机离线,但设备明明开着机。原因是 CUPS 通过 USB 串号匹配设备时失败,或者队列里配置的 URI 和设备实际 URI 不一致。解决方法是先 lpstat -p 查看队列 URI,再 lsusb 查看总线信息,用 lpadmin -p 队列名 -v 新URI 重新绑定。
4. 打印机队列配置:驱动装完,距离能打印还差一次 lpadmin
驱动文件装好只是第一步,CUPS 里没有队列,系统仍然不知道怎样把文档送给打印机。很多新手在这步过早放弃,其实队列配置比安装更简单,关键是理解设备的 URI 怎么写。
4.1 用 lpadmin 手动创建队列
如果你的系统在安装驱动后自动创建了队列,跳过我这一步直接去打测试页。如果自动创建失败,手动建队列是必须掌握的技能:
# 先查看系统中可用的 PPD 模型 lpinfo -m | grep -i samsung # 手动创建队列(用你查到的实际 PPD 路径) sudo lpadmin -p Samsung_M2070 -E -v usb://SAMSUNG/M2070 -m "Samsung_M2070.ppd" # 设置默认队列 sudo lpoptions -d Samsung_M2070逻辑说明:lpinfo -m 列出现有 PPD,你需要找到三星那一行并记下它的 PPD 名称;lpadmin 的 -p 参数指定队列名、-E 表示启用队列、-v 指定设备 URI、-m 指定 PPD。参数说明:usb://SAMSUNG/M2070 这种 URI 是 CUPS 通过 USB 描述符里的厂商名和产品名自动生成的,不同机器可能略有差异,最稳妥的写法是先插上打印机跑一条命令看系统建议的 URI。
/usr/lib/cups/backend/usb这个命令不需要任何参数,它会直接列出当前 USB 打印机设备对应的 URI,比如 usb://SAMSUNG/M2070?serial=Z6T3B4D5,把这一整串复制到 -v 参数里,匹配成功率最高。之后再打测试页:
lp -d Samsung_M2070 /etc/hostname这行命令会把 /etc/hostname 文件内容以文本形式发给打印机,如果打印机输出了一行主机名,说明打印链路全通。
4.2 网络打印机 URI 怎么填
如果你用的是网络版三星打印机,队列配置的 URI 就是另一套写法。最常见的是 socket 协议直连,因为三星打印机普遍支持 9100 端口原始打印:
sudo lpadmin -p Samsung_Net -E -v socket://192.168.1.20:9100 -m "Samsung_M2070.ppd"这里的 URI 结构是 socket://IP:端口,9100 是打印机行业通用的原始数据端口。逻辑说明:socket 协议不经过打印服务器的解析,直接把数据流灌给打印机,兼容性最好。参数说明:如果打印机开了 IPP 功能,也可以用 ipp://192.168.1.20/ipp,这需要打印机面板上显示 IPP 已启用,否则会连接超时。加打印机之前先 ping 通 IP,再用 nc -zv 192.168.1.20 9100 检测端口,这一步能排除八成网络问题。
4.3 三星自带配置工具的适用边界
驱动装完通常会在系统里装一个三星打印配置工具,名字类似 Samsung Printer Configurator,在应用菜单里能找到,也可以在终端执行:
samsung-printer-config & # 或类似的可执行文件名这个工具的逻辑是图形化展示当前队列、耗材状态和扫描入口,适合桌面用户手动配置。但我要提醒一句:它的队列创建功能有时会覆盖你已经手动配好的设置,特别是当你从 USB 切换到网络打印时,它可能重新生成一个设备节点。我一般只在两种情况下用它:一是懒得记命令行,二是需要查看打印机耗材余量。如果你已经在用 CUPS 的 web 管理界面(http://localhost:631),完全不必依赖这个工具。它也不是万能的,在精简版 Ubuntu 或纯命令行服务器上它可能因为缺少 GUI 依赖根本启动不了,这时候 lpadmin 才是你唯一的可靠武器。
5. 扫描功能跑通:从 SANE 后端到 scanimage 与 xsane
打印通了不算完,一体机的扫描功能是另一个黑匣子。三星扫描后端在安装后被放到 SANE 的插件目录,但 SANE 默认配置不一定包含它,所以扫描调试的核心就是"让后端被看见"。
5.1 确认扫描后端被 SANE 加载
先验证后端文件是否存在于系统适当位置:
ls -l /usr/lib/sane/libsane-samsung.so* ls -l /usr/lib64/sane/libsane-samsung.so*逻辑说明:SANE 后端的命名规则是 libsane-厂商名.so,路径由系统位数决定。如果文件存在,接下来执行扫描设备列表:
scanimage -L输出结果里看到类似 device `samsung:pl2306:/dev/bus/usb/001/003' 的行,就表示后端已经成功枚举到设备。如果输出为空,先跑 sane-find-scanner:
sudo sane-find-scanner -q这个命令直接访问 USB 设备层列出支持的设备,如果这一步能看到三星设备但 scanimage -L 看不到,说明 SANE 的 dll.conf 配置没加载三星后端。打开 /etc/sane.d/dll.conf 检查末尾是否有 samsung 字样,没有就补一行,取消注释后重启服务或重新登录。
5.2 scanimage 命令行验证
后端加载成功后,先用命令行做一次全协议扫描,避免图形工具干扰排错:
# 查看设备支持的参数 scanimage --device samsung:pl2306:/dev/bus/usb/001/003 --help # 执行一次彩色 300dpi 扫描并输出到文件 scanimage --device samsung:pl2306:/dev/bus/usb/001/003 \ --mode Color --resolution 300 \ -o /tmp/test-scan.ppm逻辑说明:--device 参数直接指定扫描仪设备节点,--mode Color 指定彩色模式,--resolution 300 指定 300 DPI,-o 指定输出文件。PPDM 格式是 SANE 的默认输出,是未经压缩的原始图像格式,体积大但保留所有信息。参数说明:如果扫描头没初始化,可能报 out of range,这时候先跑一次 --resolution 75 的低分辨率测试,确认机械运动正常再逐步提高。这一条经验能帮你区分是光学故障还是驱动故障。
5.3 权限配置:把当前用户加进 plugdev 组
命令行扫描能看到设备,但桌面用户打开扫描软件时报权限不足,这属于设备文件访问权限问题,不是驱动问题。Linux 下 USB 设备节点的默认属主是 root,普通用户需要处于 plugdev 或 scanner 组才能直接访问:
sudo usermod -aG plugdev $USER sudo usermod -aG scanner $USER newgrp plugdev逻辑说明:usermod 命令把当前用户追加到 plugdev 和 scanner 两个组,newgrp 让当前终端立即刷新组身份,不必注销。修改完组关系后用 id 命令确认输出里包含这两个组名称。这步操作属于 Linux 运维故障案例里最常见的一种:设备被内核识别但权限拦住应用层。如果重启之后权限仍然不对,可以临时给 USB 设备节点加权限验证:
sudo chmod 666 /dev/bus/usb/001/003这行的作用是临时开放设备节点读写权限,能让 xsane 立刻打开设备,但重启后失效,只能用于验证问题点在哪。最终方案还是要落在组权限配置上。
6. 装完别急着收工:验证安装状态、干净卸载与固件习惯
驱动装好、打印扫描都跑通后,还有三件事值得做。第一件事是留一个验证存档,用命令把安装痕迹固化下来,方便下次迁移或排错时对照:dpkg -l | grep samsung 或 rpm -qa | grep samsung 的输出值得贴到你的运维笔记里。第二件事是确认 CUPS 服务开机自启,systemctl enable cups,否则机器重启后队列全部离线,打印任务堆积在队列里出不去,那种"重启后打印机突然不工作"的求助帖大半是这个原因。
第二件重要的事是掌握干净卸载的方法。卸载不干净会导致旧版本驱动残留,下次装新版时报文件冲突。
# deb 系卸载 sudo apt-get purge -y printer-driver-samsung # 或回到驱动解压目录 sudo ./install.sh --uninstall # rpm 系卸载 sudo rpm -e printer-driver-samsung逻辑说明:apt purge 会删除配置文件,--uninstall 参数会尝试恢复驱动覆盖过的系统文件原状。卸载后检查一下 /usr/lib/cups/filter 里是否还有 rastertosamsungspl 残留,有就手动删除,再重启 cups 服务。
第三件事是一个固件习惯:三星打印机和外设一样,USB 识别有一个上电顺序。我现在的习惯是开机前先接好打印机电源和 USB,让系统在启动阶段就完成设备枚举。如果先开电脑再接打印机,偶尔会出现 USB 设备号变化导致队列 URI 失配,需要重新用 lpadmin 绑定。这个问题的根源在于 CUPS 通过 USB 串号识别设备,而串号读取依赖设备固件的稳定响应。养成这个习惯之后,我几乎没再遇到过"打印机又离线了"的毛病。希望这篇从文件结构到扫描排错的完整路径能帮到你,往后看到这一版三星驱动,不用再心里打鼓了。
本文还有配套的精品资源,点击获取