Skip to content


Настройка печати через RDP с WIN-сервера на Linux-клиент

Несмотря на то, что настройка печати с Windows-машин на линукс несложная и подробно описана, тем не менее печать по протоколу IPP через CUPS имеет существенный недостаток – размер задания при печати некоторых документов, особенно изображений, может увеличиваться до неприличных величин. Также помогает решить проблему невозможности проброса принтера через RDP. Поэтому предлагается способ настройки печати через виртуальный PDF- принтер. У этого способа есть один недостаток – Windows-машина вообще не имеет представления о принтере, который установлен в линукс, соответственно, специальные возможности печати для данного принтера будут недоступны. Ниже представлена инструкция по настройке данного способа печати.

  1. Создать в папке пользователя каталог .pdftemp. Здесь будут появляться файлы для печати. Обратить внимание на точку перед названием. Это будет скрытый каталог.
  2. Создать в папке .pdftemp каталог conf.
  3. Создать в папке conf текстовый файл (скрипт). Название pdftoprint.sh. Содержание:
    #!/bin/sh
     
    DIR="$HOME/.pdftemp/"
    ERR_LOG="$DIR/conf/err.log"
    PFILE="$DIR/$1"
    if  lp "$PFILE" ; then rm "$PFILE"
    	else echo "Unable to print \"$PFILE\"" >> "$ERR_LOG"
    fi
    exit 0

    Сохранить. Сделать запускаемым.

  4. Установить incron, cups, cups-pdf, system-config-printer.
  5. Добавить пользователя в группу incron.
  6. Отредактировать файл /etc/incron.allow — вписать имя пользователя.
  7. Добавить задание для incron.
    	incrontab -e
     
    	/home/[user]/.pdftemp IN_CLOSE_WRITE /home/[user]/.pdftemp/conf/pdftoprint.sh $#

    где [user] – это имя пользователя.

  8. проверить, что задание было добавлено
    incrontab -l
  9. Перезапустить демон incron.
    sudo incrond restart
  10. Установить и настроить все необходимые для работы принтеры. Убедиться в их нормальной работе.
  11. Должен быть установлен 2XClient. Ссылка на страницу для скачивания: http://www.2x.com/rdp-client/downloadlinks/
    Примечание: Можно использовать любой другой клиент RDP, но, по личному опыту, только 2XClient обеспечивает устойчивый проброс файловой системы внутри сессии RDP. Также, в процессе эксплуатации в офисе, никаких глюков у этого клиента выявлено не было.
  12. Настроить подключение через RDP. Обязательно разрешить проброс диска sda1 (Disk drives).
  13. На сервере должен быть установлен PDF-принтер (Adobe PDF, Foxit PDF Creator и т. п.).
  14. В настройках принтера установить печать без запроса на папку \\tsclient\sda1\home\[user]\.pdftemp — это папка, созданная в пункте 1. Снять, если есть, галку на «открывать после печати».
  15. Проверка имени принтера по умолчанию
    lpstat -d

    Установка принтера по умолчанию

    lpoptions -d [имя_принтера]
  16. Для удобства пользователя вывести на рабочий стол кнопку запуска программы system-config-printer для оперативного изменения принтера по умолчанию. Заранее установить требуемый принтер.
  17. Обратить внимание!! Печать происходит только на принтер по умолчанию.

    Если всё сделано правильно, при печати на сервере на PDF-принтер по окончании формирования файла PDF печать пойдёт на выбранный принтер.

    Если печать производится в рамках одной сети или есть непосредственный доступ по сети к данному компьютеру, например, через туннель, то рекомендуется расшарить папку печати через Samba и производить печать в эту расшаренную папку. Связано с тем, что доступ по сети в такую папку производится быстрее и скорость ограничена только внешними условиями, тогда как через канал внутри сеанса RDP эта скорость ограничена. Кроме этого появляется возможность такого способа печати (не через IPP), для других пользователей в сети.

    Автор: Олег Белоусов.
    skype: p_orinoko

Posted in *nix, Howto, Windows.

Tagged with , , , .


3 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.

  1. Bedazzled says

    похожее уже видел:)
    http://unixforum.org/index.php?showtopic=135205

  2. Admin says

    Ничего удивительного, это не моя статья. Прислана одним из читателей блога.

  3. Олег Белоусов says

    А никто не говорит, что это новое. Просто я сделал "военную" инструкцию для начинающих линуксоидов, c начала до конца, каковых очень не хватает на просторах интернет.
    Правда, я уже немного изменил скрипт, так как описанный в данной статье имеет небольшой баг при резком появлении нескольких файлов для печати.

You must be logged in to post a comment.