Tag Archive for 'cups'

Printers control from the console

A short list of helpful commands for printers’ control.

lpq – shows the default system printer (if set) and its printing queue;
lpstat -a – shows all printers, available in the system, their ‘working since’ time and type of connection (USB/local network, etc);

lpstat -p – shows all printers, available in the system, their ‘working since’ time and type of connection (USB/local network, etc);
lpstat -v – shows all printers, available in the system, their ‘working since’ time and type of connection (USB/local network, etc);

lpadmin -d printer_name – set the printer_name as default system printer;
lpadmin -x printer_name – deletes printer_name printer from the system;
cupsenable printer_name – turns the printer_name printer on on the OS level;
cupsdisable printer_name – turns the printer_name printer off;

cupsctl --share-printers – shares all printers in the system, making them available across the network; and run the next command =>
cupsctl 'BrowseLocalProtocols="all"' – use all protocols of network printing. If you use Linux machines only (both printing server and client), it’s better to type “ipp” instead of “all”. IPP means Internet Printing Protocol.

Включение/выключение принтера из консоли

Включить/выключить принтер можно командой cupsenable/cupsdisable соответственно. Смотрим название принтера командой lpq (показывает только один принтер в системе), или lpstat -a (если в системе несколько принтеров) и выполняем команду:
lexus@lexus:~$ lpq
Kyocera-Mita-FS-1030D готов
нет записей
lexus@lexus:~$ cupsdisable Kyocera-Mita-FS-1030D
lexus@lexus:~$ lpq
Kyocera-Mita-FS-1030D не готов
нет записей
lexus@lexus:~$

Результат наших действий можно увидеть и через графический интерфейс (принтер Kyocera-Mita-FS-1030D теперь выключен):

system-config-printer

 

На практике пришлось применить в ситуации, когда принтер HP LaserJet Professional P1102 “засыпал” через какое-то время (причем отключение в нём самом этой функции родным ПО из-под Windows не спасло), и работа вставала. :)

Добавили запись в crontab пользователя (cupsenable и cupsdisable прекрасно работает без  sudo) и сказали ей выполняться каждые 5 минут:

# Enabling HP-LaserJet-Professional-P1102 printer each 5 minutes
*/5 * * * * /usr/sbin/cupsenable HP-LaserJet-Professional-P1102

Повторное выполнение ‘cupsenable’ негативно на работе принтера не сказывается, т.е. предупреждений вида “этот принтер уже итак выключен” не выскакиевает.