dadv: (Default)
Choose your future ([personal profile] dadv) wrote2009-11-02 11:16 am
Entry tags:

Сетевая печать

На новом месте все печатают через сетевой принтер Xerox WorkCentre M118.

Опытным путем установлено, что данный конкретный девайс не оборудован опцией непосредственной печати PostScript. К счастью, кроме как по SMB, он принимает задания по протоколу LPD, поэтому настройка сетевой печати через него элементарна.

В /etc/printcap:

lp|M118|Xerox WorkCentre M118:\
        :sh:lf=/var/log/lpd-errs:\
        :rm=192.168.10.20:\
        :if=/usr/local/libexec/if-m118:\
        :sd=/var/spool/output/m118:


Фильтр /usr/local/libexec/if-m118 преобразует PostScript в PCL5e перед отправкой на принтер при помощи GhostScript (а plaintext предварительно рендерит кириллическими шрифтами посредством a2ps), взят из Handbook:

#!/bin/sh
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin

IFS="" read -r first_line
first_two_chars=`expr "$first_line" : '\(..\)'`

if [ "$first_two_chars" = "%!" ]; then
  { echo "$first_line"; cat; }
else
  { echo "$first_line"; cat; } | \
  a2ps -1 -B -X koi8-r -i -q --borders no --end-of-line=n --medium=A4 -o -
fi | gs -q -sDEVICE=ljet4 -dBATCH -dSAFER -dNOPAUSE \
            -sPAPERSIZE=a4 -sOutputFile=- -


Ну и, конечно, запустить сам lpd, в /etc/rc.conf:

lpd_enable="YES"
lpd_flags="-s"           # не обслуживать чужие запросы на печать из сети


Всё. Из софта - стандартно установленный GhostScript и a2ps, собранный WITH_I18N=yes ради поддержки кириллицы.

[identity profile] doctornkz.livejournal.com 2009-11-02 11:02 am (UTC)(link)
зачем? для ЭТОГО у меня жена есть 8)

[identity profile] dadv.livejournal.com 2009-11-02 11:10 am (UTC)(link)
cups очень много кушать

[identity profile] doctornkz.livejournal.com 2009-11-02 12:31 pm (UTC)(link)
при обычной работе с печатью никакой прожорливости не наблюдается. ЧЯДНТ?

[identity profile] dadv.livejournal.com 2009-11-02 01:09 pm (UTC)(link)
Не про CPU речь. cups тянет за собой python-2.6, png/jpeg/tiff/freetype2/gettext/gnutls/libcrypt/иксы, а каждая из этих фиговин тянет за собой ещё кучу всего. И при обнаруженной дыре в любой из фиговин придется переустанавливать всю эту требуху, а после подсадки на cups от него начинают зависить всякие прикладные пакеты, а значит автоматически тянется переустановка почти всего подряд. Альтернатива - сидеть с дырявым софтом, но если мне нужен будет windows, я знаю, где его взять.

И это всё ради того, чтобы просто отправить вывод прикладной программы на принтер? Они все под юниксами выдают PostScript, чтобы его доставить до принтера достаточно взять готовый пример в /etc/printcap и прописать туда IP принтера. И только в том случае, если он нативно PS не понимает, взять второй готовый пример из Handbook и подставить в него тип принтера. В сумме это полкилобайта текста, ни от чего не зависящего и никогда более не требующего думать об этом.

Что ты делаешь не так? Возможно, тратишь слишком много времени на поддержание безопасности своего десктопа. Или сидишь на дырявом софте :-) Или слишком долго качаешь тонны дистрибутивов :-) Или не имел лет по 5 и более десктопа без полных перестановок и дырок.

[identity profile] doctornkz.livejournal.com 2009-11-02 01:15 pm (UTC)(link)
Сисадмин спросил Учителя:
– В статье написано, что любое усиление безопасности снижает лояльность работников. Это правда?
Инь Фу Во ответил:
– На самом деле усиление безопасности снижает удобство. Снижение удобства повышает усталость. Повышение усталости снижает добросовестность. А снижение добросовестности работников – это и есть то, чего следует избегать.
– Тогда что же такое лояльность? – спросил Сисадмин.
– "Лояльность", – усмехнулся Инь Фу Во, – это японцы выдумали, чтоб денег не платить.

[identity profile] dadv.livejournal.com 2009-11-03 03:54 am (UTC)(link)
В смысле, настроить lpd указанным образом - повышает усталость? :-)
Оно как раз и служит тому, чтобы обновлять дырявый софт было на порядок легче.

[identity profile] doctornkz.livejournal.com 2009-11-03 09:12 am (UTC)(link)
конечно повышает. если для распечатки одной бумажки мне потребуется почитать хэндбук и поправить конфиг под рутом(!) проверить кодировку и ее пофиксить, написать шеловский скрипт - то это прямая кража моего времени. не так ли?

[identity profile] dadv.livejournal.com 2009-11-03 09:41 am (UTC)(link)

Для распечатки одной бумажки надо попросить соседа с настроенной системой.
То, что у меня написано - для однократной настройки на годы вперед.

[identity profile] obulgarin.livejournal.com 2009-12-02 07:35 pm (UTC)(link)
Согласен. У меня скрипты к lpd с 2000-го года :)
cups - еще та хреновина, для конторы еще хорошо, для дома в два нотника - ну его нафик :)

Но против убунтологов не поспоришь - это латентные виндузятники, готовы только на все готовое :)

[identity profile] obulgarin.livejournal.com 2009-12-02 07:38 pm (UTC)(link)
Причем большинство так и отвечает - "мне дорого мое время", а на самом деле прожигают жизнь почем зря... :)