В общем, до недавнего времени замечательно работала печать на зашаренный windows принтер.
Все работало с использованием CUPS
Однако, после некоторого перерыва и после нескольких апдейтов системы, печать перестала работать.
В логах CUPS выводилось: NT_STATUS_ACCESS_DENIED
В то-же время, обычный запуск smbclient //сервер/принтер приводил к положительному результату - подключение и печать шли отлично.
После безуспешных танцев с бубном, распеванием пионерских песен и выкуривания трубки (в процессе этого правились конфиги как CUPS, так и samba), было решено вернуться к древнему способу печати (когда всё было настроено на печать через обычный lpd)
Итак. Настраиваем CUPS как обычно: создаем принтер, указываем, что он доступен по smb (процесс добавления принтера в CUPS - или через KDE, или
http://localhost:631/)
Сама по себе печать идет посредством /usr/lib/cups/backend/smb который есть ссылка на /usr/bin/smbspool (именно эта прога и глючила, не могла сконнектиться с виндовым принтером)
Рецепт прост: надо этой ссылке подсунуть простой скрипт:
#!/bin/sh -x
# имя виндовой тачки с принтером
server=сервер
# имя ресурса
service=принтер
# пользователь для авторизации на винде
password=пользователь
# пароль авторизации
user=пароль
(
echo "print -"
cat
) | /usr/bin/smbclient "\\\\$server\\$service" $password -U $user >/dev/null
# end
После этого печать заработала.
Удачи.
"No! Try not! Do. Or do not. There is no try." -- Yoda