Saturday, February 25, 2012

Google Cloud Print и принт-сервер CUPS

Чтобы сделать свой домашний принтер видимым для Google Cloud Print, нужно выполнить всего несколько простых шагов на домашнем Linux-сервере со службой печати CUPS.

Зачем это вообще нужно? 
В целом, Cloud Print -- это не очень полезная, но интересная штука.
- Можно напечатать на домашний принтер с работы или с произвольного компьютера, на котором есть браузер Chrome.
- Можно печатать со смартфона или планшета.
- Можно мгновенно дать доступ к принтеру гостям, не тратя время на установку драйвера (но тратя время на установку Chrome).

www.google.com/cloudprint даёт инструкции только для Windows и Mac OS. Однако существует сервис и для Linux -- простой демон, написанный на Питоне с использованием Cloud Print API. Он работает очень просто -- считывает в конфигурации CUPS все имеющиеся принтеры и делает их доступными для Cloud Print.

Шаги для Ubuntu Linux:
1. Устанавливаем Python Package Index: PIP.
sudo apt-get install python-pip
2. Чтобы скрипт cloudprint мог работать в режиме демона, устанавливаем python daemon
sudo pip install daemon
3. Устанавливаем сам скрипт:
sudo pip install cloudprint
4. Запускаем cloudprint:
sudo /usr/local/bin/cloudprint
5. Вводим логин и пароль своего gmail-аккаунта и вуаля, готово. На http://www.google.com/cloudprint#printers можно увидеть все новые принтеры.

6. Всё. Чтобы скрипт работал в режиме демона, запустите его с ключом -d:
sudo /usr/local/bin/cloudprint -d

Я просто добавил эту строчку в /etc/rc.local. 

Вот, например, мой домашний принтер в CUPS:

И вот он же в Cloud Print. Обратите внимание: можно дать доступ к принтеру другим пользователям! Принтер появится у них в интерфейсе www.google.com/cloudprint после того, как они примут приглашение на доступ к нему. 












В интерфейсе печати Chrome нужно просто выбрать Cloud print,











А затем в Cloud Print выбрать свой принтер и отправить документ на печать.












Сайт с исходным кодом скрипта cloudprint: https://github.com/armooo/cloudprint#readme

No comments: