Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Железо во FreeBSD (http://forum.oszone.net/forumdisplay.php?f=34)
-   -   [решено] принтер без *nix драйвера на win-машине - печать из *nix по сети (http://forum.oszone.net/showthread.php?t=82565)

Belansky 18-03-2007 09:33 563232

--------------------------------- cut here ---------------------------------------------------
Эта тема - ответвление нерешенной пока проблемы непосредственной печати из FreeBSD6.1 на Canon LBP 1120 (usb)
Первый ответ ниже:

--------------------------------- cut here ---------------------------------------------------
Беполезно пока. Четыре дня подряд пробовал заставить работать из-под FreeBSD 6.2-RELEASE-p2 и cups-base-1.2.8 принтер Canon LBP 3200.
Под Linux принтеры Canon работают, так как Canon озаботилась выпуском драйверов для своих принтеров под Linux. Но, FreeBSD - это вам не Linux. Хотя, системы похожие, но, все-таки, разные. И те рекомандации, которые подходят для запуска принтеров Canon под Linux, под FreeBSD не проходят. Попытка установить линуксовые драйвера положительного результата не дала, так как таковые драйвера требуют линуксовой же версии cups. А сама cups драйверов для принтеров Canon не содержит. Нет этих драйверов и на linuxprinting.org.
Написал e-mail в офис Canon с требованием озаботиться выпуском драйверов под FreeBSD. Посмотрим, что ответят и, вообще, ответят ли.

Belansky 27-03-2007 23:26 567245

Да, чуть не убил себя ап стену. :)
Оказывается, еще в 2005 лично я давал ссылку на этом же форуме, как заставить печатать любой win-принтер по сети.
Вот эта ссылка.
Все сделал по статье, правда применительно уже не к win98, а к winxp, и теперь печатаю из любых приложений из-под FreeBSD.

kaEwituS 28-03-2007 09:32 567338

Belansky
а если сетки нет, и дома одна FreeBSD стоит... как в этом случаи делать?

mar 29-03-2007 08:11 567778

Belansky
а я пыталась сделать такое для LaserBase MF3110 и что-то не пошло :( Как FreeBSD-ая часть делалась?

Belansky 31-03-2007 11:34 568899

kaEwituS
Вот это я не знаю. :(
mar
На стороне FreeBSD в настроках cups выбирается драйвер Generic printer - post script.
И еще одна особенность - для успешной печати чел должен быть зарегистрирован на виндовой машине, проще говоря, иметь логин и пароль.
И в настройках cups принтер, соотвественно, указывается как smb://user:password@host/printer.
И еще. Печать заработала после того, как перезагрузил виндовую машину. Совпаение или необходимость - не знаю.

mar 31-03-2007 12:48 568923

Belansky
спасибо, попробую

Belansky 31-03-2007 19:59 569025

mar
Желаю успеха!

Vlad Drakula 13-04-2007 02:25 573706

Belansky
сделал все как описано за исключением "Нажимаем кнопку Очередь… и в появившемся окне диалога Параметры очереди устанавливаем Отключить двусторонний обмен данными." ну не нашол я этого под WinXP...

при попытке вывести напечать чтонибуть печатает ошибку...

но линукс его видит и даже пытается печатать...

mar 13-04-2007 16:26 574000

Belansky
а у меня печатать не пытается. подумала, почитала и решила, что надо ставить cups-samba (т.к. в противном случае выставить в Device URI smb вообще не получается). Или я не там копаю? (просто samba установлена, работает в обе стороны (демон, клиент), принтер на win-машине по smb виден).
(а порт этот не собирается :( )

Vlad Drakula
Цитата:

при попытке вывести напечать чтонибуть печатает ошибку...
что за ошибка, и где она выдается- на win, или на linux (у тебя же Linux?) ?

mar 13-04-2007 16:37 574003

updated
при настройках cups через броузер:
принтер-->Device: возможный выбор:
socket - AppSocket/HP JetDirect
http - Internet Printing Protocol (http)
ipp - Internet Printing Protocol (ipp)
lpd - LPD/LPR Host or Printer
т.е. smb не предусмотрено в текущей установке cups без дополнений?

mar 13-04-2007 16:54 574009

По-лу-чи-лось!!!
значит так, в моем случае все оказалось очень просто. Надо было в /usr/local/libexec/cups/backend/ добавить smb. Причем это должна быть ссылка на /usr/local/bin/smbspool
Спасибо статье Printing to a Windows Shared Printer.
Там этот совет дан в форме:
Код:

ln -s `which smbspool` /usr/local/libexec/cups/backend/smb
После этого надо, естественно перезагрузить cups и, вуаля! - в принтер-->Device: возможный выбор появляется протокол smb под именем Windows Printer via SAMBA
После чего все заработало. Правда, в win-машине всплывает окошко cannon и надо подтвердить печать, но это уже win-проблема и, судя по опыту Belansky, - решаемая. Спасибо!!!
(дополнительные ссылки - Установка сетевого принтера на Windows с помощью Samba (print win windows samba)

Vlad Drakula 13-04-2007 17:00 574012

mar
Цитата:

что за ошибка, и где она выдается- на win, или на linux (у тебя же Linux?) ?
везде одна ошибка связанная с redmon

mar
а что ты настраивала на вин машине?

mar 13-04-2007 17:12 574019

Vlad Drakula
я просто самым тупым образом выпонила все, что было сказано в инструкции по ссылке (строки копипастила, чтобы не ошибиться). Правда там - win98, но Стас-то настроил для winxp, так что с этой стороны все в порядке.

Vlad Drakula 13-04-2007 18:40 574061

mar
1) какие версии програм ставила
2) где ты нашла
Цитата:

Нажимаем кнопку Очередь… и в появившемся окне диалога Параметры очереди устанавливаем Отключить двусторонний обмен данными.

Vlad Drakula 13-04-2007 18:52 574068

получилось! у меня были пробелы в путях, вот и не работало...

тогда вопрос в следующем, как сделать так чтобы не появлялось окно гостскрипта + не появлялся диалог печати принтера?

mar 13-04-2007 18:52 574069

1) редмон 1.7 + gs8.54 (где нашла - уже не помню, это было зимой, когда я пыталась в первый раз все это наладить, но могу все куда-нибудь выложить, чтоб ты забрал)
2) там, где он показывал (но имей в виду - я ставила на win98):


mar 13-04-2007 20:07 574106

Цитата:

тогда вопрос в следующем, как сделать так чтобы не появлялось окно гостскрипта + не появлялся диалог печати принтера?
окно gs - это, видимо см. картинку, а от окна печати принтера по которому еще и кликать надо, сама бы хотела избавиться :(

mar 14-04-2007 00:53 574202

Итак, для того, чтобы не на win-машине не выскакивал диалог выбора принтера, а также не отображался процесс формирования файлв и переброски его на настоящий принтер, надо сделать следующее:
Рецепт от Дмитрия Ястребова aka da_new (с форума Нижегородского LUG):
в пораметрах порта-->В строке "Arguments for this program are" задаем не
PHP код:

@c:gsmswinpr.rsp -sOutputFile="%1" 

, а В строке Arguments for this program are: задаем:
PHP код:

@c:gsmswinpr.rsp -sOutputFile="\\spool\точное_имя_принтера" 

, где точное_имя_принтера копипастится прямо из имени реального принтера (так, как оно задано в подписи под ярлыком в папке "принтеры")

например, у меня:
PHP код:

@c:gsmswinpr.rsp -sOutputFile="\\spool\Canon MF3110" 

Для того, чтобы не видеть процесса подготовки-переадресации в файл "c:\gs\mswinpr.rsp" добавляется строка "-dNoCancel".

Собственно, вот исходная документация для этих действий: Ghostscript, Redmon and Windows NT. Не знаю, как на winNT, а 98-ым очень полегчало - теперь я печатаю из FreeBSD так, как это и положено по сетке - сразу и никому не мешая.

Vlad Drakula 14-04-2007 01:04 574204

проверял все это на WinXP + Ubuntu = работает
но нужно правильно выбрать модель принтера + убедиться что он посылает на печать в формате PostScript а не какомнибуть другом...

настроек двустороннего обмена с принтером в WinXP нету(я по крайне мере не нашел), но и без этого все работает...

mar 14-04-2007 01:11 574206

у меня под FreeBSD было еще несколько проблем:
1) поначалу все желало печататься мелко, как будто использовался не А4, а формат letter. При ближайшем рассмотрении оказалось, что так оно и было. Пришлось в установках cups в Set Printer Options выбрать Media Size: А4 и (в моем случае это было обязательно) сменить Output Resolution (мне пришлось сменить с 300dpi на 600dpi)
2) пока не печатает из gimp и OpenOffice Для решения этих двух проблем могут помочь материалы статей:
Настройка печати на ОС FreeBSD
Руководство по настройке системы печати на базе CUPS

Можно заменить системные команды (lp, lpq, lpr, lprm) из директории /usr/bin - на команды CUPS из /usr/local/bin:
Цитата:

# cd /usr/bin
# mv lp lp.bak
# mv lpq lpq.bak
# mv lpr lpr.bak
# mv lprm lprm.bak
# ln -s /usr/local/bin/lp /usr/bin/lp
# ln -s /usr/local/bin/lpq /usr/bin/lpq
# ln -s /usr/local/bin/lpr /usr/bin/lpr
# ln -s /usr/local/bin/lprm /usr/bin/lprm
Там рекомендуют также натравливать spadmin openoffice-а при выборе принтера (добавить-->импорт--->выбор драйвера) на PPD нашего принтера, а именно на каталог /etc/cups/ppd, но, похоже при создании симлинков с cups-программ на системные, это уже не нужно.

Итак, gimp и oo печатают. Похоже, все ))

mar 14-04-2007 01:44 574215

Огромное спасибо Belansky, доказавшему, что предложенная в статье схема реально работает и Vlad Drakula, решившему заставить печатать свой ubuntu (за компанию настраивалось веселее). И, конечно, авторам всех использованных материалов:
  1. Aleksander N.Gorohovski Рецепт "приготовления" Win-принтера для печати из Linux
  2. Printing to a Windows Shared Printer // FreeBSD Guide
  3. Михаил Сгибнев Установка сетевого принтера на Windows с помощью Samba
  4. Дмитрий Ястребов aka da_new (форум Нижегородского LUG) Печать на winprinter
  5. Ghostscript, Redmon and Windows NT
  6. Насонов Константин Настройка печати на ОС FreeBSD

Belansky 15-04-2007 10:14 574586

mar
Пункта выбора Windows принтера по samba и не будет, пока не будет установлено /usr/ports/print/cups-smb-backend/.

mar
У меня из OpenOffice печать сразу пошла.

mar 15-04-2007 11:57 574621

Belansky
Ну, я обошлась нештатным сособом - с симлинком. Интересно, а что делает этот порт?
C OO и Gimp, - может быть дело в том, что я раньше и неудачно пыталась играть с настройками принтера, а может быть дело в том, что ты ставил именно cups-smb как порт? (Ну, + разные другие вещи - типа того, что я все еще не обновилась до 6-ой ветки, ты работаешь в KDE, где достаточно хорошо работает интеграция, а я в xfce и т.д.) (На Linux-ах на прошлых работах у меня тоже проблемы с печатью через сеть из OpenOffice не было)

Belansky 15-04-2007 13:08 574645

mar
Цитата:

Интересно, а что делает этот порт?
Цитата из Makefile порта "A CUPS backend for printing to Windows servers". Как я понял со своим аглицким, добавлет CUPS возможность направлять печать на виндовс-машину.
Относительно ООО. При сборке из коллекции портов есть возможность указать флаг -DWITH_CUPS. Для включения поддержки этой системы. Хотя, у меня и без этого печать шла нормально.


Время: 01:22.

Время: 01:22.
© OSzone.net 2001-2025