CUPS

Материал из support.qbpro.ru

lpc status  ; смотреть статус или ...
lpq

для samba:

lpinfo -h localhost -m ; список поддерживаемых моделей принтеров
# добавить принтер с удаленного IP открытый на доступ под заданным именем
lpadmin -p sams1660 -v "smb://172.30.0.111/Samsung ML-1660 Series"
lpoptions -d sams1660 ; установить принтер по умолчанию sams1660

чтобы работало lpadmin -v "smb://..." должен быть установлен пакет smbclient
если не найдена команда lpc - установить cups-bsd

добавление принтера расшаренного по smb. Имя sams1660 придумывается самостоятельно

lpadmin -E -p sams1660 -v "smb://172.30.0.111/Samsung ML-1660 Series"
cupsenable sams1660
cupsaccept sams1660
lpstat -a sams1660

отправляем чего-то на печать

lp /usr/share/cups/data/default-testpage.pdf

не печатает, смотрим очередь, в очереди док есть

lpstat -o sams1660

смотрим логи

tail /var/log/cups/error_log
E [26/Jul/2013:18:08:05 +0400] [Job 1] Tree connect failed (NT_STATUS_BAD_NETWORK_NAME)
E [26/Jul/2013:18:08:05 +0400] [Job 1] Tree connect failed (NT_STATUS_BAD_NETWORK_NAME)
E [26/Jul/2013:18:08:05 +0400] [Job 1] Tree connect failed (NT_STATUS_BAD_NETWORK_NAME)
E [26/Jul/2013:18:08:05 +0400] [Job 1] Unable to connect to CIFS host, will retry in 60 seconds... 
root@mxismb:/etc/cups# smbclient  //172.30.0.111/Samsung%20ML-1660%20Series
Enter root's password:    # тут ничего не вводил
Domain=[DELTA.NET] OS=[Unix] Server=[Samba 3.5.6]
tree connect failed: NT_STATUS_BAD_NETWORK_NAME

чето да..

smbclient  "//172.30.0.111/Samsung ML-1660 Series"

а вот так работает, только в /etc/cups/printers.conf не прокатывает
пришлось переименовать принтер на 172.30.0.111 в Samsung1660
поправил /etc/cups/printers.conf

DeviceURI smb://172.30.0.111/Samsung1660

печать пошла

взято тут

Пример печати из командной строки

Команда lpr:

Для печати тестового файла просто введите:

$ lpr filename

Список сетевых принтеров:

Чтобы получить список всех доступных сетевых принтеров, введите команду:

$ lpstat -a

Печать на заданный принтер:

Если доступно несколько принтеров, вы можете использовать опцию -P, чтобы указать нужный вам принтер.

$ lpr -Pprinter_name filename

Пробел после -P вставлять необязательно:

$ lpr -P printer_name
$ lpr -Pprinter_name

Проверка состояния:

Проверить состояние очереди печати определенного принтера можно с помощью команды lpq.

$ lpq -Pprinter_name

Очистка очереди печати:

Как вы могли видеть из вывода приведенной выше команды, каждая очередь печати имеет уникальный id. Вы можете удалить файлы из очереди печати с помощью команды lprm:

$ lprm -Pprinter_name 6

Чтобы отменить все задания на печать, используется следующая команда:

$ lprm -

Печать всех файлов в директории:

Это очень простой трюк, чтобы напечатать все файлы с одинаковым расширением в директории. Вы должны перейти в эту директорию Введите следующую команду, чтобы распечатать все текстовые файлы в директории:

$ lpr -o landscape *.txt

Все файлы с расширением .txt будут распечатаны в альбомном формате. Вы также можете задать принтер в этой же команде:

$ lpr -o landscape -Pprinter_name *.txt