Я успешно установил совместную работу Samba и CUPS, чтобы обеспечить приятные и согласованные интерфейсы печати только с драйверами Postscript для клиентов Windows, как IA32, так и x64 любых вариантов, начиная с 95 года. Связанные с печатью части smb.conf:
[global]
load printers = yes
printing = cups
printcap name = cups
А потом эти акции:
[printers]
comment = All Printers
browseable = no
path = /var/spool/samba
printable = yes
guest ok = no
read only = yes
create mask = 0700
[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
browseable = yes
read only = yes
guest ok = no
Это успешно перечисляет все принтеры CUPS, и клиенты могут печатать нормально.
Проблема, с которой я столкнулся, заключается в том, что клиенты Windows почти никогда не видят никаких заданий в очереди, кроме своих собственных, и только в течение очень короткого периода времени, предположительно, пока задание передается на сервер. Это имеет такой эффект, что если кто-то хочет отменить одно из своих заданий, он либо выключает принтер (!), Либо просит меня сделать это.
У меня создалось впечатление, что сочетание printing = cups
и printcap name = cups
в [global]
избавили от необходимости использовать такие настройки, как lpq command
чтобы сделать доступной функциональность управления очередью, поскольку она напрямую использует libcups. На тестовом сервере, установив разумное значение для lpq command
слегка изменяет наблюдаемое поведение, так что нажатие F5 для обновления очереди в окнах на мгновение отображает задания, прежде чем они снова исчезнут. Что мне не хватает?
Я подозревал, что в какой-то момент это было связано с read only
установка на [printers]
Поделиться. Что это read only = yes
часть [printers]
поделиться значит? Связано ли это с задачами администрирования очередей? Я не вижу заметной разницы, меняя это в любом случае, но я бы хотел понять, а не просто догадываться! Предположительно, это нечто иное, чем то, что означает в обычном контексте файлового ресурса, поскольку [printers]
У share есть некоторая магия, связанная с печатью, происходящая за кулисами. Однако я не могу найти какой-либо конкретной документации по этому поводу, связанной с общими принтерами.
Локальная катушка Windows просто доставляет ее на удаленную катушку.
Я думаю, для того, чтобы ваше желание работало (чтобы все видели, что все в очереди), будет работать только с некоторой очередью печати Windows, но я далек от эксперта по Windows. Я бы посмотрел на IPP, я также не уверен, был ли lpd разработан для отправки очереди обратно клиенту, а скорее для отправки ваших вещей на сервер.
Вы можете попробовать использовать IPP из Windows (определите сетевые принтеры как http: // сервер: 631 / принтеры / имя-принтера и используйте универсальный принтер с Microsoft Imagesetter).
Я не помню, перечислены ли все задания до тех пор, пока они не будут удалены из очереди - я настраиваю свои принтеры на прерывание неудачных заданий на CUPS.
Разве невозможно настроить CUPS, чтобы клиенты могли просматривать и / или отменять свои собственные задания через веб-интерфейс с помощью определенной политики отмены?