имеем:
сервер терминалов на Win2003 -1шт
клиенты ОС Linux для подключения по RDP , использую клиент REMMINA - 30шт
при пробросе принтера стандартными средствами win2003 есть минусы, во всяком случаи у меня они точно были.
- нужен драйвер тот или иной
- на некоторые принтеры очень долгий отклик печати с сервера
- переодически приходилось перезапускать "диспетчер очереди печати"
решение таково: клиент на сервере печатает на PDF принтер, файл падает в папку на пк клиента и скрипт его распечатывает на стороне клиента.
на сервер win2003 был устновлен PDFCreator , можете выбрать любой другой pdf принтер.
Был настроен так: всё что отправляется на него авто-сохраняется в нужную папку без лишних вопросов, мой путь:
\\tsclient\.tmp\ (.tmp это монтируемая папка)
на клиентах создаём подключение в remmina с нужными параметрами и указываем какую папку монтировать, в маём примере это:
/home/user/.tmp
теперь то что отправляется на печать будет попадать в эту папку.
INCRON будет отслеживать появления файла в папке и запускать скрипт.
За скрипт спасибо sgfault из этой темы
в incrontab -e добавляем наш скрипт:
/home/user/.tmp IN_CLOSE_WRITE /home/user/.tmp/conf/pdftoprint.sh
<путь> <событие> <команда>
не забываем сделать скрипт исполняемым.
перезагружаем компьютер и проверяем.
сам скрипт:
Код: Выделить всё
#!/bin/bash
DIR="$HOME/.tmp"
ERR_LOG="err.log"
cd "$DIR" || exit 1
find -maxdepth 1 -type f -iname "*.pdf*" -exec sh -euf -c 'l="$1"; f="$2"; if lp "$f" ; then rm "$f" ; else echo "Unable to print \"$f\"" >>"$l" ; fi' sh "$ERR_LOG" {} \;
exit 0