В этой статье я хочу рассказать, как можно использовать Google Cloud Print без установки Google Chrome. Целью статьи будет настройка машины под управлением Ubuntu Server в качестве сервера печати, а также настройка клиентов под управлением Windows, Mac OS и Linux (на примере Ubuntu). В общем случае в качестве сервера может выступать любая машина под управлением ОС семейства GNU/Linux, в том числе маршрутизатор с функцией принт-сервера.
1. Настройка сервера печати
Предположим, что у нас есть машина с установленной ОС Ubuntu Server (в примере используется версия 12.04) и корректно настроенным принтером. Воспользуемся руководством [1].
Установим Git для того, чтобы клонировать репозиторий проекта CloudPrint. Проект написан на python и используем модуль python-cups, установим и их. Для сборки проекта нам также понадобиться модуль python-setuptools.
sudo apt-get install git-core python python-cups python-setuptools
Клонируем репозиторий, перейдем в папку с проектом и сделаем скрипт сборки выполняемым.
git clone git://github.com/armooo/cloudprint.git
cd ~/cloudprint
chmod +x setup.py
Соберем и установим проект.
python setup.py build
sudo python setup.py install
Выполним первый запуск приложения.
/usr/local/lib/python2.7/dist-packages/cloudprint-0.5-py2.7.egg/cloudprint/cloudprint.py
Укажем имя пользователя и пароль аккаунта Google, к которому необходимо привязать принтер. Стоит обратить внимание, что в случае, если включена двухэтапная аутентификация, в качестве пароля необходимо указать пароль приложения, сгенерированный на странице настройки аккаунта. Если все настроено верно, на экране отобразится что-то вроде: "Updated Printer HP_LaserJet_1018". Можно завершить приложение (Ctrl + C).
Теперь добавим скрипт автоматического запуска с помощью upstart. Для этого создадим файл cloudprint.conf.
sudo nano /etc/init/cloudprint.conf
Ниже представлено содержимое этого файла. $RUN_AS_USER необходимо заменить на имя пользователя, под которым будет запускаться программа.
start on (started cups and local-filesystems and t-device-up IFACE=eth0)
stop on runlevel [345]
respawn
console none
script
chdir /usr/local/lib/python2.7/dist-packages/cloudprint-0.5-py2.7.egg/cloudprint/
exec su -c /usr/local/lib/python2.7/dist-packages/cloudprint-0.5-py2.7.egg/cloudprint/cloudprint.py - $RUN_AS_USER
end script
Запустим программу.
sudo start cloudprint
На странице управления принтерами должен появиться наш принтер.
2. Настройка «облачного» принтера в Windows
Для работы с принтером в ОС Windows воспользуемся программой Paperless Printer, которая бесплатна для домашнего использования.
После установки программы в списке принтеров появится Paperless Printer, одной из возможностей которого является Find a Cloud Printer — печать произвольного документа на «облачный» принтер Google.
3. Настройка «облачного» принтера в Mac OS X
Для печати в Mac OS X воспользуемся программой Cloud Printer. Настройка программы не отличается простотой, однако она подробно описана в руководстве [2], а также представлена на видео.
К сожалению, Cloud Printer не дает таких же широких возможностей для пользователей, как Paperless Printer, однако эта программа позволяет печатать некоторые документы без использования Google Chrome.
4. Настройка «облачного» принтера в Ubuntu
Для печати в Ubuntu установим драйвер для CUPS по инструкции [3].
sudo add-apt-repository ppa:simon-cadman/cups-cloud-print
sudo apt-get update
sudo apt-get install cupscloudprint
sudo /usr/lib/cloudprint-cups/setupcloudprint.py
В процессе настройки на вопрос Add all Google Cloud Print printers to local CUPS install? необходимо ответить "yes".
Работа с «облачным» принтером в Ubuntu не должна вызвать затруднения.
5. Вместо заключения
Цель статьи можно считать достигнутой: у нас появился сервер с настроенным принтером, а также клиенты с возможностью печати на него не из Google Chrome. Однако не стоит понимать эту статью как призыв к отказу от этого браузера. У нас всегда остается возможность распечатать открытую страничку или письмо Gmail напрямую из браузера на домашний принтер где бы мы не находились.
6. Ссылки на источники информации
[1] HOWTO: Use Google Cloud Print for Linux (print from Andriod device)
[2] Cloud Printer (formerly, Cloud Print) for Mac OS X By Somasundaram M (2011)
[3] CUPS Cloud Print (Installation)
P.S. К сожалению, я не обладаю достаточным опытым создания скриптов для upstart. Буду благодарен, если вы поможете мне оптимизировать предложенный выше скрипт.