Страница 1 из 1

Локальный сетевой принтер в rdesktop

Добавлено: 2008-09-13 9:39:48
Гость
Доброго дня!
Подскажите плиз, если кто сталкивался, как правильно прописать локальный сетевой принтер в терминальную сессию. Есть два офиса - локальный и удаленный. В удаленном установлен win-сервер с 1С. В локальном установлен HP1300, который подключен через принт-сервер Planet FPS-1100DG.
В системе( FreeBSD7.0 + kde 3.5.10) он установлен как lpd://192.168.0.16/lp, правда драйвер стоит от HP 1100(с драйвером от 1300-го печатать не хотел). Опции для вызова rdesktop выглядят так: rdesktop -z -k en-us -r disk:M=/home/Doki/Office -r printer:HP1100 -g 1280x730 -a 8 -z rdp.хххх.хххх.хх. При входе терминалом на удаленный сервер, принтер появляеться, но при попытке печати терминальная сессия аварийно завершаеться. Под виндовым клиентом все нормально.

Re: Локальный сетевой принтер в rdesktop

Добавлено: 2008-09-16 5:52:57
zingel
но при попытке печати терминальная сессия аварийно завершаеться
подробнее, очень интересно посмотреть ошибку...

Re: Локальный сетевой принтер в rdesktop

Добавлено: 2008-09-16 9:09:53
arken
Доброго дня!
Вывод при завершении терминальной сессии выглядит так:

Код: Выделить всё

> rdesktop  -z -k en-us -r disk:M=/home/Doki/Office -r printer:HP1100 -g 1280x730 -a 8 -z  rdp.xxx.xxx
PRINTER PRN1 to HP1100 driver HP Color LaserJet 8500 PS
lpr: HP1100: unknown printer
Broken pipe
> 
Не совсем понятно что именно прописывать реальный драйвер(который установлен) или имя под которым принтер заведен в cups.
Если используеться имя принтера в cups, то вывод следующий:

Код: Выделить всё

> rdesktop -z -k en-us -r disk:M=/home/Doki/Office -r printer:HP1300 -g 1280x730 -a 8 -z rdp.xxx.xx
PRINTER PRN1 to HP1300 driver HP Color LaserJet 8500 PS
lpr: Unable to connect to /var/run/printer: No such file or directory
lpr: Check to see if the master 'lpd' process is running.
jobs queued, but cannot start daemon.
Терминальная сессия продолжает работать, правда печати нет.
Подозреваю что дело в правильной настройке cups-lpd.

Re: Локальный сетевой принтер в rdesktop

Добавлено: 2008-09-16 16:00:00
tigos2
Проверь печатает ли принтер командой lpr -PHP1100 /etc/rc.conf (/etc/rc.conf - взят для примера, можно любой другой файл).
Если не печатает значит ты не переписал системные программки /usr/bin/lp* програмиулинами из cups /usr/local/bin/lp*.
Добьёшся печати с командной строки - должна быть печать из rdesktop.
Но я вообще делал по другому. В винде устанавливал это принтер, а для этого пользователя, который заходит rdesktop'ом ставил его по умолчанию. И всё замечатльно работает. Может это и не "путь самурая" - зато куча контор и конторок по этому методу работают и жужжат!!!

Re: Локальный сетевой принтер в rdesktop

Добавлено: 2008-09-17 9:49:47
arken
Доброго дня!
Дык по команде lpr -PHP1300 /etc/rc.conf выводит тоже самое.
> lpr -PHP1300 /etc/rc.conf
lpr: Unable to connect to /var/run/printer: No such file or directory
lpr: Check to see if the master 'lpd' process is running.
jobs queued, but cannot start daemon.
Сервис lpd не запущен. Поэтому такая и ошибка.
Бок возникает из-за того что принтер подключен не как честный ipp, а как эмуляция lpd.
Посему rdesktop и пытаеться обращаеться к lpd, а он не запущен.
Пошел рыть на предмет man cups-lpd, который позволяет эмулировать стандартный lpd.

Re: Локальный сетевой принтер в rdesktop

Добавлено: 2010-08-10 21:30:48
arken
Доброго времени суток!
Появилось достаточно красивое решение моей проблемы печати на локальный принтер из терминальной сессии. Недавно в порты был добавлен форк rdesktop-a.
http://freerdp.sourceforge.net/
В числе прочих улучшений:
Disk and printer redirection have been rewritten in a much cleaner way
Решили попробовать. У нас термин. сервер с 1С находиться далеко.. . Возможности поставить на сервер драйвер локального принтера отсуствует. С виндовыми терминалами проблем нет. Под винду есть *.msi (не помню точно название), которая позволяет решить вопрос печати на локальный принтер, без установки драйвера локального принтера на сервер. С rdesktop у меня проблему решить не получилось.
Установил freerdp и проблема была решена достаточно просто.
Ниже мой пример команды и вывод в терминале:

Код: Выделить всё

> xfreerdp -u ххххх -p хххх -g 1280x730 -a 8 --plugin cliprdr --plugin rdpdr --data disk:M:/home/Doki/Office printer:HP_LJ_1300 -- -k en_US -z rdp.хххх.com.ua

freerdp_chanman_load_plugin: filename cliprdr
freerdp_chanman_load_plugin: /usr/local/lib/freerdp/cliprdr.so
MyVirtualChannelInit:
freerdp_chanman_load_plugin: filename rdpdr
freerdp_chanman_load_plugin: /usr/local/lib/freerdp/rdpdr.so
loaded device service: /usr/local/lib/freerdp/disk.so
printer_register: HP_LJ_1300 (default=1)
loaded device service: /usr/local/lib/freerdp/printer.so
MyVirtualChannelInit:
keyboard layout ID: E
xkbLayout: us,ru,ua     xkbVariant: ,winkeys,
xkbLayout: us,ru,ua     xkbVariant: ,winkeys,
find_keyboard_layout_in_xorg_rules: 0
Found locale : ru_RU
detect_keyboard_layout_from_locale: 419
Using Russian (0x00000419)
Loading keymap xfree86
xkbfilepath: /usr/local/share/freerdp/keymaps/xfree86
Loading keymap xfree86(basic)
xkbfilepath: /usr/local/share/freerdp/keymaps/xfree86
Loading keymap aliases(qwerty)
xkbfilepath: /usr/local/share/freerdp/keymaps/aliases
kbd_init: detect_and_load_keyboard returned 14
freerdp_kbd_init: E
starting thread 1 to rdp.хххх.com.ua:3389
freerdp_chanman_pre_connect:
keyboard_layout: E
X224_TPDU_CONNECTION_CONFIRM
freerdp_chanman_post_connect: server name [rdp.хххх.com.ua] chan_man->num_libs [2]
MyVirtualChannelOpen:
MyVirtualChannelOpen:
l_ui_create_cursor1: alpha width 32 height 32 bpp 0 x 0 y 0
xf_handle_event: ReparentNotify
xf_handle_event: MapNotify
xf_handle_event: ConfigureNotify
Version Minor: 10
ui_create_colourmap:
ui_set_colourmap:
ui_create_colourmap:
ui_set_colourmap:
l_ui_create_cursor1: alpha width 32 height 32 bpp 1 x 10 y 10
2 device(s) registered
registered device: M (type=8 id=1)
registered device: PRN1 (type=4 id=2)
ui_create_colourmap:
ui_set_colourmap:
ui_create_colourmap:
ui_set_colourmap:
l_ui_create_cursor1: alpha width 32 height 32 bpp 1 x 10 y 10
l_ui_create_cursor1: alpha width 32 height 32 bpp 1 x 10 y 10
Синтаксис команды несколько отличен от rdesktop. Стоит обратить внимание особенно на --.
Собственно в мане это все описано. Главное внимательно прочитать :smile:

Печать работает нормально. Локальный принтер висит у нас на принт-сервере, но думаю это не сильно принципиально.
Кто не хочет заморачиваться с командной строкой, есть новый гуй на freerdp(уже в портах).
http://remmina.sourceforge.net/
Кстати KRDC freerdp не поддерживает. Может конечно в КДЕ 4.5 и добавят.

Re: Локальный сетевой принтер в rdesktop

Добавлено: 2010-08-20 13:41:39
Mox
также замечу, что freerdp в разы быстрее работает древнего rdesktop

Re: Локальный сетевой принтер в rdesktop

Добавлено: 2010-08-20 15:06:07
arken
Дык и ошибка с буквой ю вместо запятой тоже ушла.

Re: Локальный сетевой принтер в rdesktop

Добавлено: 2010-08-31 6:18:11
manefesto
накрапай в статью с рисунками. вдруг пригодиться

Re: Локальный сетевой принтер в rdesktop

Добавлено: 2010-08-31 17:25:28
IncubuS
Порт обновился до 0.7.4 версии. А -k en_US обязательно? Там вроде оно автоматом хорошо работает.

Re: Локальный сетевой принтер в rdesktop

Добавлено: 2011-02-02 15:33:10
Никита
arken писал(а):Доброго времени суток!
Появилось достаточно красивое решение моей проблемы печати на локальный принтер из терминальной сессии. Недавно в порты был добавлен форк rdesktop-a.
Нормально ли работает спулер винды? Не падает? Просто у меня иногда спулер падает. Печатать начинает после рестарта. На это влияет freerdp или это проблема самой винды? Например, кривых дров?