Temat: Wznawianie Drukarki CUPS - HOWTO
Wczoraj drukowałem kilka dokumentów na drukarce sieciowej do CUPS w sieci.
Trochę bylem rozczarowany po naciśnięciu przycisku "drukuj" wycieczce do drukarki i włączeniu zasilania drukarki nic się nie wydrukowało (Drukarka jest podłączona przez USB, do NSA310 na debianie, jako ze nie drukuje zbyt wiele jest przeważnie wyłączona ) Musiałem wybrać "Resume Printer " z web interfacu CUPS aby system wznowił drukowanie.
Wiec po przeszukaniu internetu dość szybko znalazłem sposób jak pozbyć się tego problemu i automatycznie wznawiać drukowanie po włączeniu zasilania na drukarce bez dodatkowych czynności.
1) Stworzenie skryptu który automatycznie wznowi drukarkę za pomoc linii poleceń (skrypt znalazłem w necie i nie jest mojego autorstwa):
#!/bin/sh
#
# Check if a printer queue is disabled and reenable it.
DISABLED=`lpstat -t | grep disabled | awk '{ print $2; }'`
for PRINTER in $DISABLED
do
echo "Printer $PRINTER is stopped"
/usr/sbin/cupsenable -h 127.0.0.1:631 $PRINTER && logger "Printer $PRINTER has been enabled."
donezapisanie kodu w pliku:
# vi /root/resume_printer.sh
oraz dodania prawa wykonania
# chmod +x /root/resume_printer.sh
2) Znalezienie id urządzenia komenda lsusb w moim przypadku wyglądało to jak poniżej:
#Bus 001 Device 027: ID 03f0:2504 Hewlett-Packard DeskJet F4200 series
3) Stworzenie zasady ktora wykona skrypt jak tylko drukarka zostanie wykryta przez server:
# vi /etc/udev/rules.d/85-cups_printer_resume.rules
o tresci
#Bus 001 Device 027: ID 03f0:2504 Hewlett-Packard DeskJet F4200 series
SUBSYSTEM=="usb", ATTR{idVendor}=="03f0",ATTR{idProduct}=="2504", RUN+="/root/resume_printer.sh"Restart udev
# service udev restart (całkiem możliwe we reload wystarczy)
Potem kilka testów sprawdzających, w moim przypadku zadziałało i teraz nie ma znaczenia czy drukarka jest włączoną czy nie, można na nią drukować a po włączeniu zasilania wszystkie wydruki popłyną same ![]()