2/15/2007

Сетевая печать: как печатать из Linux в Linux

Задача: принтер подключён к компьютеру, управляемому Linux, и требуется печать из Linux на другую машину под управлением Linux через локальную сеть.
Решение: лёгкая правка конфига CUPS - и вы уже печатаете на принтер под Linux!

Для этого нужно подкрутить всего несколько винтиков, только нужно знать где. Об этом я и напишу. Изложение ведётся так, что принтер, на который будет идти печать по сети, предполагается уже настроенным. Если это не так - вот здесь уже было описание подъёма принтера.

Машина-сервер, к которой подключён принтер: 192.168.1.1
Машина-клиент, с которой будем печатать на сервер: 192.168.1.2

На стороне сервера
Идём править конфиг /etc/cups/cupsd.conf, в котором разрешаем печатать не только локальной машине, но и тем, кому надо (здесь - всем машинам подсети 192.168.1.*):


Allow From 127.0.0.1
Allow From 192.168.1.*

Это надо будет вписать / раскомментировать где-то в конце конфига. Листайте его внимательно, он длинный. Когда конфиг поправите, надо перезапустить сервер печати:
/etc/init.d/cupsys restart
Всё, с сервером разобрались, теперь идём к клиенту.

На стороне клиента
Здесь надо поправить другой конфиг, /etc/cups/client.conf, в котором указываем IP-адрес сервера, на который будем печатать. Это достигается указанием адреса здесь:
ServerName 192.168.1.1
Не забываем сохранить конфиг. Всё готово - теперь, если вы зайдёте на машине-клиенте в админ-панель CUPS в броузере, указав адрес http://localhost:631 вы должны увидеть принтер, который на сервере:

Теперь заходим в любую программу, например OpenOffice.org, и при попытке распечатать страницу видим в списке принтеров удалённый:

При появлении менюшки "Печать" возможно небольшое кратковременное притормаживание - CUPS в это время, по всей видимости, проверяет готовность удалённых принтеров. Дальше - жмём на печать и видим, как из удалённого принтера выползает документ.

Ссылки

Пост, по сути, более подробное изложение вот этой заметки. Всё, конечно, просто как грабли - после того, как один раз это проделаешь.

19 комментариев:

  1. вот здесь уже было описание подъёма принтера
    Имелась ввиду ссылка? На счет статьи. Действительно все просто, но как ты сказал, только после того, как сам пройдешь через это. Можно бы было упомянуть и как подключаться с линуха на виндовс принтер. В современном мире это более актуально.

    ОтветитьУдалить
  2. 2 serhiy cherevko

    вот здесь уже было описание подъёма принтера
    Имелась ввиду ссылка?

    Да, спасибо - забыл вставить. Увлёкся вставкой рисунков и забыл. Исправлено.

    Действительно все просто, но как ты сказал, только после того, как сам пройдешь через это.
    Именно. Все пишут об этом так, типа это детский лепет и все об этом знают. Долго не получалось - потом наткнулся на заметку Романа Лагунова по этому поводу. Потерзав его немного, я понял, как это делается - ну и решил запостить, чтоб самому не забыть.


    Можно бы было упомянуть и как подключаться с линуха на виндовс принтер. В современном мире это более актуально.
    Я не стал бы так глобально. У меня дома все три машины под Дебиан - так что это кому как :-) Но на работе винда (это пока...), и скоро будет пост на эту тему. Безусловно, это актуально.

    ОтветитьУдалить
  3. Мне кажется, что подключение на Windows принтер менее актуально, чем наоборот. Так как сервера на Windows мало, кто держит. Однако, это тоже настраивается. И без samba, кажется, не обойтись.

    ОтветитьУдалить
  4. 2 Igor
    Мне кажется, что подключение на Windows принтер менее актуально, чем наоборот.
    Ну, мне тоже актуально: в лаборатории винда, а хочется на расшаренный принтер печатать. Буду ковырять самбу на предмет сего. Буду рад за кинутые сюда полезные ссылки.

    Насчёт серверов на винде: сервера МИФИ, например, все на ней. Поэтому нет ничего удивительного в том, что по Skype из МИФИ общаться невозможно: соединение с интернетом западает через 2-3 минуты секунд на 20, а потом опять возобновляется. Почта на mephi.ru вообще легенда: письма теряются, почта может идти от нескольких часов до суток...

    ОтветитьУдалить
  5. http://wiki.archlinux.org/index.php/CUPS_Setup#Linux_to_Windows
    сам не пробовал и не попробую - на моём мини-сервере нет Windows =)
    Так что это вам на откуп :)

    ОтветитьУдалить
  6. 2 Igor
    http://wiki.archlinux.org/index.php/CUPS_Setup#Linux_to_Windows
    Да-да, спасибо. Буду медленно раскуривать два раза перед едой :-)

    сам не пробовал и не попробую - на моём мини-сервере нет Windows =)

    У меня тоже дома винды нет (только в эмуляторе). А на работе - виндузяций рай :-)

    Так что это вам на откуп :)
    Оставили меня один на один с виндой? :-) Но мы всё равно прорвёмся!

    Спасибо за ссылки и поддержку. Продолжение следует...

    ОтветитьУдалить
  7. C Linux (Ubuntu Edgy Eft) на Windows (2003 R2) я подключался так:
    "Система" - "Администрирование" - "Принтеры" + "Новый принтер"
    на закладке "Соединение" выставил:
    "Сетевой принтер" + "Windows принтер (SMB)"
    Хост 192.192.1.4
    Принтер hp710c
    Имя пользователя и пароль не ставил, на винде разрешения печати для всех.
    Главное правильно подобрать драйвер на вкладке "Драйвер".
    Принтер HP DeskJet 710C, GUI принтер-то, но Linux давно уже умеет на него печатать.
    Даже в цвете печатает.

    ОтветитьУдалить
  8. Сам недавно поднимал печать с Линуховой машины на принтера Винды (у меня вся сеть виндовая - и только на моём компе(шлюз в инет) стоит Slackware Linux). Не поднял тока 1 принтер (hp3650). Почему-то у него башню сносит от задания, посланного с моей машины. Принтера, которые поднял - hp1015, 1018, xerox docuprint P8e. Поднимал используя самбу(smb). К сожалению не все драйвера есть в CUPSe, но я с лёгкостью их нашёл на http://openprinting.org/driver_list.cgi
    Если кому интересно - могу помочь
    Обращатся по мейлу:sysand(всем известный знак)rambler(точка)ru

    ОтветитьУдалить
  9. Для того чтобы CUPS "слушал" другие адресса , надо добавить ip клиента ,
    у меня без этого не заработало .

    Listen IP-address:631(port)

    ОтветитьУдалить
  10. Поставил Debian и опять же пришлось подключаться к принтеру винды. В общем нужны пакеты samba, smbclien, cups и пакеты с драйверами. В моем случае для hp.

    ОтветитьУдалить
  11. У меня не работает ниф... печатать из Ubuntu в Windows по сети через Samba в домене. Уже с бубном прыгал. Ищет все какие-то локальные сертификаты около 100 раз.
    E [22/May/2007:19:25:58 +0700] cupsdAuthorize: Local authentication certificate not found!
    Где их взять?
    Ну и немного в начале:
    NT_STATUS_BAD_NETWORK_NAME

    ОтветитьУдалить
  12. Здравствуйте! Поздравляю с наступающим Новым Годом! На работе на старом PC настроил принт сервер на Debian. К принт серверу подключен HP LaserJet 1005. Все работает нормально. Однако есть нерешенный вопрос. Если печатается многостраничный документ и необходимо перевернуть лист для печати на второй странице листа возникает необходимость как то дать команду на продолжение печати. Заранее благодарен за совет!!!

    ОтветитьУдалить
  13. Сам задал вопрос, сам и отвечаю!
    Печатать сначало нечетные страницы а потом четные.

    ОтветитьУдалить
  14. У меня не печатало из под винды пока не добавил в cups'e в Set Allowed учетную запимь винды

    ОтветитьУдалить
  15. народ, у меня вот какая проблема: у нас в офисе на всех рабочих станциях винХР стоит, есть принтеры подключенные напрямую к рабочим станциям (большинство не расшаренные), есть сетевые (в основном принтеры НР и Кэнон). Мне сказали, что через CUPS можно отслеживать кто, когда и сколько страниц печатал на интересующем принтере. На винду все проги платные - нашел только HP Web jetadmin, но отчет по пользователям (кто сколько печатал) не выдает - выдает только сколько страниц и в какое время напечатано + видит не все принтеры.

    Собственно, если кто через CUPS делал что-то подобное - подскажите как или ссылочку на how-to киньте (не нашел в сети :0( )

    контакты:
    icq: 4семь4-4шесть5-0один0
    e-mail: rico(dog)inbox(dot)ru

    ОтветитьУдалить
  16. У нас на работе Debian 5.01 Lenny. Сделали, как было сказано, может нужно сделать что-то еще? Принтер после указанных процедур не появился у клиента.

    ОтветитьУдалить
  17. походу не актуальна.
    на стороне сервера надо /etc/cups/cups.d/ports.conf редактировать.
    читаю https://help.ubuntu.com/6.10/ubuntu/serverguide/ru/cups.html

    ОтветитьУдалить
  18. Не получается что-то настроить... вот мой конфиг (дистрибутив gentoo, почти дефолтный) http://bpaste.net/show/39883/

    Добавил строку Listen *.631 (было Listen localhost:631), и добавил строку Allow from 192.168.1.*

    К слову... принтер подключён к машине с ip 192.168.1.2, расшарить хочу на всю подсеть 192.168.1.* (ну например на 192.168.1.3). Принтер Samsung SCX-4200, кстати... локально норм работает, а по сети не получается.


    На машине клиенте прописал в client.conf адрес 192.168.1.2 - но это не помогло... принтер никакой не появился. Кроме того, если я захочу с клиентской машины по адресу 192.168.1.2:631 вижу крупными буквами написано "запрещено" на веб-странице, и всё... она пустая. До того как отредактировал конфиг вообще порт 631 по этому адресу был недоступен...

    ОтветитьУдалить
  19. Спасибо.
    Коротко, доходчиво и по делу.

    ОтветитьУдалить