У нас в офисе около 15 принтеров, каждый из которых разной марки или модели и требует отдельного водителя, причем в разных местах, от рабочих столов до комнат для отдыха. Из-за этого у многих компьютеров есть доступ только к горстке имеющихся принтеров, и когда принтер необходимо заменить, это неизбежно приводит к тому, что многие люди расстраиваются и не могут печатать.
Один из моих друзей предложил использовать сервер печати (CUPS). Я исследовал CUPS и установил его, но не вижу, как он решит проблему.
Судя по тому, что я вижу, это просто причудливый мост для принтеров, который ничего не делает для меня, кроме регистрации некоторых данных, которые мне не нужны, и добавления некоторой сложности в систему. Примечание: все принтеры в офисе являются сетевыми.
Я что-то упускаю? Есть ли способ в CUPS, чтобы клиенты Windows и Mac отправляли задание печати на сервер, используя общий драйвер, а также выбирали целевой принтер? Если да, то как мне настроить это на стороне CUPS и как это будет работать на стороне клиента? Если нет, есть ли какое-либо программное обеспечение (желательно дешевое или бесплатное), которое могло бы сделать то, что мне нужно?
CUPS может упростить управление принтером как минимум тремя способами:
С помощью одного CUPS (с использованием IP-печати) или Point'n'Print через SAMBA (что позволяет вам также передавать драйвер клиенту, но может быть проблемой, когда он не просто работает), настройте очереди печати; используйте такие названия, как "Копировальный аппарат первого этажа", а не марку и модель. Установите принтер на рабочие станции с помощью стандартного драйвера PostScript.
Теперь, когда вы хотите заменить принтер, вы просто заменяете драйвер в CUPS, и все готово - клиенты по-прежнему используют ту же очередь с универсальным драйвером.
Если вы уже настроены для этого, вы также можете использовать сценарии запуска для установки принтеров, поэтому вам не нужно сначала посещать каждого клиента.
VBScript для установки принтера Point'n'Print в Windows будет выглядеть примерно так:
Dim oNet
oNet = WScript.CreateObject("WScript.Network")
On Error Resume Next ' Ignore if we're not on the LAN - important for laptops
oNet.AddWindowsPrinterConnection "\\sambaserver\MyPrinterQueue", "MyPrinterName"
Установка OS X и Linux может быть такой же простой, как удаление client.conf в каталог / etc / cups (при этом будут установлены все принтеры CUPS; если вы работаете с большой организацией, использующей один сервер CUPS, это может быть нежелательно). В большой организации сохраните файл printers.conf для каждого отдела и поместите его в / etc / cups.
Если у вас есть ноутбуки с OS X, которые люди берут с собой домой, дайте им сценарий «переключения принтеров» для добавления и удаления client.conf по мере необходимости; когда на работе, он устанавливает рабочие принтеры, когда дома, у них есть все, что они могли установить дома.
При желании вы можете создавать односторонние и двусторонние очереди для каждого принтера (и / или очереди оттенков серого и цвета). В качестве альтернативы, отдельная очередь для каждого принтера с настройками по умолчанию на двустороннюю печать и оттенки серого снижает количество установленных принтеров и заставляет людей специально тратить больше денег.
Конечно, все это можно сделать и на клиенте, но зачем делать больше одного раза?
Если ваша организация выставляет счета отделам или пользователям за их расходы на печать, вероятно, у вас есть кто-то из бухгалтеров, который выполняет вход в каждый принтер, собирает данные и составляет полный список использования принтеров. В CUPS есть некоторые возможности для этого и встроенное управление квотами, а также существуют сторонние серверы (например, Pykota), которые предлагают более полнофункциональную систему учета.
Есть ли способ в CUPS, чтобы клиенты Windows и Mac отправляли задание печати на сервер, используя общий драйвер, а также выбирали целевой принтер?
Существуют инструменты, которые могут автоматически направлять задания на печать в зависимости от доступности принтера / минимальной стоимости / и т. Д. (Например, PaperCut), но ничего бесплатного или открытого исходного кода, о котором я знаю.