为什么我不能将驱动程序上传到我的 Samba 打印服务器?

Iai*_*lam 1 printing samba print-server

我刚刚设置了一个带有 CUPS (1.4.2) 和 Samba (3.6.9) 的 CentOS 6.5 64 位虚拟机,并且可以很高兴地从我的 Windows 7 64 位机器上打印。

共享打印机是京瓷FS-2100DN,我在京瓷官网上下载了一个PPD文件,可以使用京瓷通用KX驱动集版本611118将共享打印机添加到自己的机器上,但是当我使用在 Windows 的服务器属性对话框中,我无法将驱动程序上传到 print$ 共享,以便其他人可以使用指向和打印添加打印机。

我已经检查过了,我可以创建/上传文件到 print$ 共享,我暂时关闭了 SELinux 来测试这个。

但是,错误是:

您指定的文件夹不包含适用于您设备的兼容软件驱动程序

这个驱动正是我用来在我自己的 PC 上安装打印机(从 Samba 机器共享)的驱动程序,因此它绝对是打印机的驱动程序。

我从哪里可以将 x86 和 x64 驱动程序安装到 Samba 服务器上?

小智 5

我知道这是一个迟到的回复,但我刚刚经历了同样的情况,确定了问题,并找到了解决方案。问题是 Kyocera 驱动程序 .inf 文件的 Samba 格式不正确。

当您下载驱动程序并查看文件夹时,您将找到该OEMSETUP.inf文件(您可能在尝试通过打印管理或打印服务器属性对话框将驱动程序上传到 print$ 共享时选择了该文件)。它会有所不同,但您很可能会看到为 NTx86.5.1、NTx86.6.0、NTamd64.5.1、NTamd64.6.0(以及我认为适用于安腾的 ia)安装驱动程序的说明。“5.1 & 6.0”部分是导致 Samba 问题的原因。这是我为解决它所做的;

  1. OEMSETUP.inf在文本编辑器中打开文件
  2. NT<...>[Manufacturer]部分中删除部分。
  3. 将其替换为NTx86NTamd64

    所以这...

    [Manufacturer]
    Kyocera=Kyocera,NTx86.5.1,NTx86.6.0,NTamd64.5.1,NTamd64.6.0`
    
    Run Code Online (Sandbox Code Playgroud)

    变成

    [Manufacturer]
    Kyocera=Kyocera,NTx86,NTamd64`
    
    Run Code Online (Sandbox Code Playgroud)
  4. 找到模型部分右下方这一点,你应该看到标等基团,[Kyocera NTx86.5.1][Kyocera.NTx86.6.0]等。

  5. 只需删除包含 a 的任何内容的整个模型部分.5.1

  6. 其中包含的部分.6.0,简单地删除.6.0,而不是[Kyocera.NTx86.6.0]读取[Kyocera.NTx86]

  7. 保存文件(在原始目录中)。

  8. 返回打印管理,添加驱动,选择x64和x86框,选择有磁盘,选择新保存的.inf文件。(请注意,您似乎必须同时拥有 x64/x86 驱动程序才能在打印机属性中实际选择驱动程序)

  9. 您现在应该会看到打印驱动程序列表,您应该可以点击并安装它们。

请注意,由于您正在编辑 .inf 文件,因此数字签名将不再有效,因此您会收到一些警告。显然,自从我们进行了更改后,我并不担心它们。我还假设,如果您需要安装 5.1 版本,那么您可以按照相同的说明进行操作,但不是删除.5.1模型部分,而是将它们更改为只读NTx86NTamd64(而是删除.6.0节)。但是我不需要这样做,所以我没有测试它。另外,我很确定文件的其他部分由于我所做的更改而没有被使用,也可以删除(例如注释为“安装 NT5.1 (XP) 部分”的部分),但是一旦我确定了问题的原因并安装了驱动程序,我就没有费心去尝试“最小化”文件。

我没有声誉,所以不能为你张贴照片。