我在Linux Debian机器上运行CUPS。我使用CUPS将打印请求发送到Windows XP计算机。我启用了445和139端口,并且能够连接Windows机器。打印机已连接到Windows计算机。

我正在使用以下命令发送打印请求

lp -E -d < Printer Name > file name.

发送后,我正在使用以下命令检查打印机状态
lpstat -p < Printer Name >

执行以上消息时,我收到以下错误消息。
unable to connect to cifs host will retry in 60 seconds..

当我在日志中签到时,我收到以下错误消息。
session setup failed: NT_STATUS_LOGON_FAILURE  and NT_STATUS_BAD_NETWORK_NAME

DeviceURI类似于/etc/cups/printers.conf中的以下内容
 smb://username:password@IP Address of windows Machine/printer_Name

请让我知道密码是否带有'@'符号,如何在DeviceURI( user:password @ IP )中以实际语法指定'@'

最佳答案

不幸的是,您没有提供有关特定设置的足够详细的信息。因此,我将努力考虑一些潜在的问题,并给出如何克服这些问题的提示:

一世。

您是否为共享的Windows打印机使用了正确的共享名

要找出答案,请使用以下命令:

$ smbtree -U windowsusername

您可能会看到类似以下输出的内容:
WORKGROUP
   \\MURUGA-PC
      \\MURUGA-PC\G
      \\MURUGA-PC\Z
      \\MURUGA-PC\Public
      \\MURUGA-PC\print$                      Printer Drivers
      \\MURUGA-PC\EPSON Stylus CX8400 Series  EPSON Stylus CX8400 Series

换句话说:您的打印机的共享名可能包含空格。但是您不能在设备URI中使用空格作为CUPS!现在怎么办?

简便:(1)在Windows端重命名共享名。 (2)或改用%20逃脱空间:
smb://muruga:mysecretpassword@muruga-pc/EPSON%20Stylus%20CX8400%20Serie

二。

您的Windows XP是否可以使用 Kerberos身份验证? 例如,因为它是Active Directory环境的一部分?然后,您应该在cups.org上引用此文档:
  • Configuring CUPS to Use Kerberos

  • Kerberos身份验证不适用于用户名/密码,它使用“票证”。

    三,

    否则,如果您的Windows XP计算机是“标准”域的一部分,则可以通过放弃设备URI的smb://username:password@ip-address-of-windows/printer_name并使用它来取得更大的成功:
    smb://username:password@domain_name/windows_host/printer_Name
    

    您使用的用户名必须是在Windows上安装打印机的Windows用户名(及其密码)!

    IV。

    另外,使用IPP打印到Windows可能会成功(尽管XP需要安装Microsoft提供的支持IPP的扩展)。请注意,MS对其设备URI使用非标准语法(使用端口80或443),并且其IPP版本仍为1.0(始终保持为“草稿”状态,并且从未通过IP地址发布为正式版本)。 IETF):
    DeviceURI https://mywindowsprintserver/printers/printername/.printer
    

    或者
    DeviceURI http://mywindowsprintserver/printers/printername/.printer
    

    要对此打印机进行用户名/密码验证,您需要
    AuthInfoRequired username,password和中的
  • /etc/cups/printers.confDefaultAuthType Basic中的
  • cupsd.conf

  • 要使用Kerberos,您需要
    AuthInfoRequired Negotiate和中的
  • /etc/cups/printers.confDefaultAuthType Negotiate中的
  • cupsd.conf


  • 如果整个设置都在拥有私有(private)LAN/WLAN的家庭中,则您可能要考虑删除所有访问控制(首先在Windows打印服务器端,然后在):
    AuthInfoRequired None和中的
  • /etc/cups/printers.confDefaultAuthType None中的
  • cupsd.conf


  • 如果您的问题是您的密码包含'@' -character,请尝试以下操作:
    smb://username:'p@ssword'@domain_name/windows_host/printer_Name
    

    或者
    smb://username:p%40ssword@domain_name/windows_host/printer_Name
    

    关于linux - CUPS session 设置失败,出现 'nt_status_logon_failure',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38157906/

    10-12 17:43