CUPS
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