访问不同网络上的 Windows 打印服务器上的打印队列

访问不同网络上的 Windows 打印服务器上的打印队列

我正在运行 Ubuntu 15.10。(Gnome 版本)

我想访问位于不同本地网络上的 Windows 打印队列,但当我尝试添加新打印机时,它没有显示在列表中。我注意到搜索字段仅用于过滤,而不是用于指定 URL。添加新打印机

我还尝试使用 CUPS 添加打印队列(http://127.0.0.1:631/)。我可以在那里添加一个新的 Samba 打印机并指定 URL。 问题是我从未被提示输入密码。我只收到一条错误消息:smb://[email protected]/printqueue_ps

held since
Mon 15 Feb 2016 01:54:32 PM CET 
"Session setup failed: NT_STATUS_LOGON_FAILURE"

我见过一种建议的解决方案,感觉有点太黑客了,我应该将密码以纯文本形式存储在某个文件中。当然我不想这样做。

从命令行我可以使用 smbclient 打印到打印队列。然后系统会提示我输入正确的密码,就像我想要的那样。

smbclient -U domain/username //print.mycompany.net/printqueue_ps -c "print some_file.txt"

如果您看一下添加打印机的旧方法:如何从 Windows 打印服务器添加打印机 这些设置最后都到哪里去了?我可以在某个配置文件中手动进行相同的设置吗?

谢谢你!

答案1

首先,我可以通过启动程序来启动旧的(?)打印管理器system-config-printer。以下是一份很好的指南:如何在 gnome-shell 中添加打印机

我认为我已成功解决了我的问题。为了避免以纯文本形式存储密码,/etc/cups/printers.conf我需要每次打印时提示我输入 AD 用户名和密码,这正是我想要的。据我所知,其中有两行/etc/cups/printers.conf与我的问题相关。

AuthInfoRequired username,password
DeviceURI smb://domain/print.mycompany.net/printqueue_ps

我需要 AuthInfoRequired 行来提示我输入用户名和密码。如果我在 URI 行上指定我的 AD 用户名,那么它仍会要求我输入用户名和密码,但显然只是忽略我输入的内容,导致身份验证失败。我最初认为,如果我指定我的用户名但不指定我的密码,那么每次我想要打印某些东西时,我只需要提供我的密码。显然它不是这样工作的。它总是默认为我的 Ubuntu 用户名而不是我的 AD 用户名。我还没有找到解决这个问题的方法。

请注意,无论何时您想要手动编辑,都必须停止 CUPS /etc/cups/printers.conf

$ sudo service cups stop
$ sudo nano /etc/cups/printers.conf
$ sudo service cups start

相关内容