от Mom(23-02-2006)

рейтинг (12)   [ добре ]  [ зле ]

Printer Friendly Вариант за отпечатване

Дълго време не успявах да се преборя със задачата да настроя няколко Windows машини в офиса да печатат на принтерите свързани към Linux-ките такива. Изчетох сума статии из Интернет, направих много и за съжаление безуспешни опити, но така и не успях. Пробвах и да споделя принтерите чрез Samba - уви пак не стана (знам, че други хора го правят, но аз не можах). И така до днес, когато реших, че може би на сайта на Майкрософт може и да е написано нещо по въпроса. Направих търсене по "ipp printer setup" и за моя изненада четвъртия резултат се оказа решението на мъките ми.

Статията е порядъчно дълга и почти бях на път да се откажа (още повече, че в началото надълго се описваше варианта за печат на ipp принтер, но свързан към Microsoft сървър и после нищо), когато скролирайки си надолу се натъкнах на онова, което търсех.

Тук ще опиша как благодарение на 20-те реда в нея си реших проблема. Надявам се с това да спестя на някой друг(и) часове нерви и мъка :)

Предварителни условия:

  • Конфигуриран и работещ CUPS сървър на Linux или BSD (как - не е предмет на тази статия). Добра идея е да се уверите, че можете да печатате на тази машина от друга Linux/BSD машина по ipp.
  • Windows XP (Pro или Home). Вероятно ще стане по същия начин и със Windows 2000, но нямам под ръка да опитам.
  • Възможност за комуникация по порт 631 в локалната ви мрежа
  • Не е нужно да се ползва SAMBA

  • Цитат от статията на сайта на MS:
    UNIX Print Servers

    To print to a remote UNIX printer configured with Line Printer Daemon (LPD), you must first configure Windows 2000 Professional to print by using Line Printer Remote (LPR). This is done by installing Print Services for UNIX and installing and configuring a print driver to print with LPR as the printer port.

    To install Print Services for UNIX

    1. In Control Panel, double-click Network and Dial-Up Connections.
    2. On the Advanced menu, click Optional Networking Components.
    3. Highlight Other Network File and Print Services, and then click Details.
    4. Select Print Services for UNIX, and then click OK.

    To add an LPR port

    1. In Control Panel, double-click Printers.
    2. Double-click Add Printer, and then click Next.
    3. Click Local printer, clear the Automatically detect my printer check box, and then click Next.
    4. Click Create a new port, and then click Standard TCP/IP Port.
    5. Click Next, and then enter the following information:

    In Name or address of server providing LPD, type the Domain Name System (DNS) name or Internet Protocol (IP) address of the host for the printer you are adding.

    In Name of printer or print queue on that server, type the name of the printer as it is identified by the host, which is either the direct-connect printer itself or the UNIX computer.

    6. Follow the instructions on the screen to finish installing the TCP/IP printer.

    По същество

    На инсталирането на Print Services for UNIX няма да се спирам - тривиално е.

  • Стартирайте Add Printer магьосника, изключете Automaticaly detect my printer и натиснете Next
  • Избирете Create a new port: Type of port: Standard TCP/IP port и Next
  • В полето Printer Name or IP address пишете адреса на машината, на която е стартиран CUPS сървъра или кореспондиращото име според вашия DNS. Не се опитвайте да въвеждате тук номера на порта - не става.
  • Натиснете Next и чакайте. Windows ще попретърси мрежата :)
  • В новопоявилия се прозорец изберете Custom и натиснете Settings. В новия прозорец за Protocol изберете Raw, а за Port Number въведете 631. Ако по някакви причини CUPS сървъра ви слуша на друг порт напишете него.
  • Потвърдете с OK, натиснете Next и след това Finish
  • След малко чакане се появява познатия прозорец за избор на драйвер за принтера ви. Принтера, който се опитвах да инсталирам е HP LaserJet 3020 - за него моя Windows XP нямаше включени драйвери, така че за куриоз натиснах бутона Windows Update. Настана дълго чакане без никакаъв видим резултат и тъкмо бях решил, че ще трябва да убивам процеса, когато магьосника се съживи. Не че ми предложи съответния драйвер - просто беше изтеглил нови INF-ове за принтери и моя беше между тях. Разбира се вие можете да използвате инсталационните дискове на вашия принтер или наличните Microsoft драйвери
  • От тук нататък процедурата е тривиална. Само не пускайте Print Test Page, защото ще получите мъдро съобщение от сорта на "Driver was installed but the task could not be completed" (цитирам по памет) и след малко имате готова за работа принтерска опашка

  • Сега вече можете да си пуснете тестова страница и да започнете да хабите тонера/мастилата на принтера си :)


    Искрено се надявам, че материалчето ще бъде полезно и на някой друг. Не претендирам за изчерпателност - например добра идея би било да се опише настройването на CUPS, но това не е толкова тривиална задача, така че ще оставя това за някой по-запознат с CUPS от мен.

    EDIT!!!

    Благодаря на Mr.700 подсещането за другия вариант. Както съм споменал в отговора си до него - преди време бях пробвал успешно този вариант, но след това не успях да повторя успеха. До днес!

    Има нещо странно в Датската държава, както беше казал един принц!

    Значи описаната от мене процедура сработи на машина със Windows XP HomeEdition Service Pack 1a, но на Service Pack 2 не пожела!!! Симптоми - след добавянето на принтера при опит за печат Window-са показва балон в който пише print job failed to print. Отворих си C:\WINDOWS\SYSTEM32\SPOOL\PRINTERS и разгледах spool job-а с текстови редактор - нито помен от PostScript?!?! Даже се опитах да го пусна на Acrobat Distiller-а и естествено получих Offending Command!

    След това опитах споментатия от Mr.700 вариант за добавяне на network printer с адрес от типа http://xxx.xxx.xxx.xxx:631/printers/CUPS-PRINTER-NAME и работата стана! Печата се безпроблемно!

    Разбира се не стана от първия път - в мрежата ми има sqid и аз естесвено бях забравил за него, та в началото нищо не се получаваше докато не погледнах error.log-а на cups-а където си пишеше, че идва някакъв job от адреса на proxy-то. Светна ми да укажа IP-то на принт сървъра като изключение от proxy-то и печата тръгна.


    << Създаване на chroot среди във Fedora Core и RHEL | Инсталиране на софтуер под ОС Linux >>