Печать с iPad, iPhone на любом принтере.

Как распечатать информацию с планшета или телефона на iOS ?

Да легко и просто, нажимаем распечатать и ждем, когда принтер выплюнет готовый листок. Только это легко и просто, если имеется в наличии принтер с доступом к сети и поддержкой AirPrint. А если такого аппарата нет, читаем статью ниже…

Кстати, данное решение, как оказалось, прекрасно работает по сети с устройствами на базе Android, macOS, Windows и Linux…

В процессе постепенного перехода в лагерь пользователей яблочной продукции, я стал счастливым, да именно счастливым, обладателем новенького iPad. Ну и как-то привык и приспособился работать на этом гаджете. Да что там привык — процентов 80 работы выполняю на нем. Но об этом более подробно позже, сейчас вернусь к основной сути вопроса.

Временами появляется необходимость быстренько распечатать ту или иную информацию с iPad, а иногда прямо из iPhone. Поизучал тему, понял, что нужно покупать принтер с поддержкой технологии airPrint, или другими различными вариантами поддержки интернет-печати… Самое дешевое изделие, которое я нашел в наших магазинах стоит не менее 9000 рублей. При этом дома уже стоят два относительно стареньких, но вполне рабочих зверя — монохромное лазерное и цветное струйное МФУ, которые полностью удовлетворяют домашние потребности в бумагомарании. Поэтому вариант с приобретением третьего агрегата ради планшето-телефонов финансово нецелесообразен.

Нет, ну можно, конечно, использовать следующий алгоритм — скинуть информацию в облако, включить компьютер, дождаться синхронизации, отправить на печать…. Собственно, я так и делал, что не есть удобно. И лениво совершать кучу ненужных действий. Лень, как известно, двигатель прогресса, а в совокупности с желанием сэкономить денежки, таки вообще толкает на решение этой проблемы с минимальными потерями.

Значит выходим из положения и учим имеющуюся технику выполнять доселе неизвестные ей функции.

Что мы имеем:

-Цветное МФУ Epson CX7300 с хитрыми заправляемыми картриджами

-Небольшой обычный компьютер, который выполняет дома функцию файлового сервера на базе Ubuntu-server 16.04

И так, заставим печатать принтер на примере EPSON CX7300, USB провод которого я и вставил в порт сервера.

Я работаю с сервером с другого компьютера, так удобнее, поэтому все действия с консолью произвожу по SSH.

Подключаемся к серверу поднимаем наш принт-сервер CUPS и добавляем демон поддержки airPrint:

sudo apt-get install cups
sudo add-apt-repository ppa:hughescih/ppa && sudo apt-get update && sudo apt-get install airprint-daemon

Честно говоря, не знаю, зачем нужен данный airprint демон, в стандартных инструкциях про него ничего не написано, но у меня без него ничего не заработало.

Скопируем на всякий случай оригинальный конфигурационный файл

sudo cp /etc/cups/cupsd.conf /etc/cups/cupsd.conf.original

Немного изменим немного конфиг:

sudo nano /etc/cups/cupsd.conf

Открываем доступ к порту с любого адреса (за свою внутреннюю сеть не беспокоюсь, а извне этот порт и так закрыт файрволом):

MaxLogSize 1m
# Allow remote access
Port 631
Listen /var/run/cups/cups.sock

Добавляем пользователя в группу lpadmin:

sudo usermod -aG lpadmin username

Заходим в веб-интерфейс принт-сервера по адресу https://192.168.10.1:631/admin/ (в данном случае  192.168.10.1 — адрес моего сервера)

Как вариант, при входе в веб-морду, может появиться надпись «Запрещено», чтоб избежать этого снова возвращаемся к cupsd.conf

sudo nano /etc/cups/cupsd.conf

И в секциях Location добавляем строку:

Allow 192.168.10.0/255.255.255.0   (в данном случае  192.168.10.0 — адрес моей локальной сети)

Например:

  
  <Location /admin/conf>
  AuthType Default
  Require user @SYSTEM
  Allow 192.168.10.0/255.255.255.0
  Order allow,deny
</Location>

Все, мы зашли в веб-консоль администрирования нашего принт-сервера, пока на этом остановимся, вернемся на минутку в консоль.

Для нормального функционирования airPrint, нам надо удостовериться в нормальной работе демона Avahi (что это такое, читаем статью на Хабре тут )

Смотрим работу службы командой:

sudo service avahi-daemon status

Если все нормально, ответ будет примерно таким:

● avahi-daemon.service - Avahi mDNS/DNS-SD Stack
   Loaded: loaded (/lib/systemd/system/avahi-daemon.service; enabled; vendor preset: enabled)
   Active: active (running) since Ср 2018-03-21 21:13:29 +05; 2 days ago
 Main PID: 1093 (avahi-daemon)
   Status: "avahi-daemon 0.6.32-rc starting up."
    Tasks: 2
   Memory: 600.0K
      CPU: 8.149s
   CGroup: /system.slice/avahi-daemon.service
           ├─1093 avahi-daemon: running [homeserv.local
           └─1095 avahi-daemon: chroot helpe

мар 21 21:13:29 homeserv avahi-daemon[1093]: Successfully dropped remaining capabilities.
мар 21 21:13:29 homeserv avahi-daemon[1093]: No service file found in /etc/avahi/services.
мар 21 21:13:29 homeserv avahi-daemon[1093]: Joining mDNS multicast group on interface eno2.IPv6 with address fe80::9aee:cbff:fe43:e09d.
мар 21 21:13:29 homeserv avahi-daemon[1093]: New relevant interface eno2.IPv6 for mDNS.
мар 21 21:13:29 homeserv avahi-daemon[1093]: Joining mDNS multicast group on interface eno2.IPv4 with address 192.168.2.15.
мар 21 21:13:29 homeserv avahi-daemon[1093]: New relevant interface eno2.IPv4 for mDNS.
мар 21 21:13:29 homeserv avahi-daemon[1093]: Network interface enumeration completed.
мар 21 21:13:29 homeserv avahi-daemon[1093]: Registering new address record for fe80::9aee:cbff:fe43:e09d on eno2.*.
мар 21 21:13:29 homeserv avahi-daemon[1093]: Registering new address record for 192.168.2.15 on eno2.IPv4.
мар 21 21:13:30 homeserv avahi-daemon[1093]: Server startup complete. Host name is homeserv.local. Local service cookie is 2970492526.

Если сервер скажет, что такого демона тут нет, нужно его установить:

sudo apt-get install avahi-daemon

Забегая вперед, рекомендую скачать и установить в систему драйвер принтера. В принципе, при установке принтера, Cups сам предложил драйвер, однако нормальной работы у меня с ним так и не получилось. Пришлось искать, качать и ставить другой, благо на данную модель найти проблем не было. Драйвер нашел в Гугле по словам: epson stylus cx7300 cups driver и самая первая ссылка привела меня на сайт http://www.openprinting.org, где нашелся готовый deb-пакет с драйвером, который нужно скачать учитывая битность системы:

driver airprint cups ubuntu

Закидываем, драйвер на сервер, например в нашу домашнюю папку /home/user и запускаем установку:

sudo dpkg -i /home/user/название_скачанного_пакета.deb

Система может ругнуться на отсутствие зависимостей и остановить установку, лечим командой:

sudo apt-get install -f

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

Теперь, когда вроде все подготовительные манипуляции завершены, возвращаемся в веб-интерфейс нашего принт-сервера и на вкладке «Администрирование» ставим галочки как на рисунке:

Дальше в этой же вкладке жмем «добавить принтер», на открывшейся странице видим наше устройство, жмем продолжить, дальше я все оставлял по умолчанию, лишь на страничке драйвера выбрал новый, установленный мной.

После добавления устройства, проверки печати из системы, желательно перезагрузить весь сервер, ну так, на всякий случай, чтоб убедиться, что все демоны и сервисы запустились как положено. В принципе, на этом все. Тестируем на наших гаджетах. У меня заработало без проблем.

P.S. Попробовал распечатать информацию с смартфона на Android — все прекрасно работает.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

пять × пять =

:wink: :twisted: :roll: :oops: :mrgreen: :lol: :idea: :evil: :cry: :arrow: :?: :-| :-x :-o :-P :-D :-? :) :( :!: 8-O 8)