Используем Google Cloud Print без Google Chrome

  • Tutorial


В этой статье я хочу рассказать, как можно использовать 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. Буду благодарен, если вы поможете мне оптимизировать предложенный выше скрипт.

Similar posts

AdBlock has stolen the banner, but banners are not teeth — they will be back

More
Ads

Comments 13

    0
    Вы меня простите, но я не понимаю смысла… вроде есть обычные и простые решения для сетевой печати.
      +1
      Не представляю, как можно проще напечатать на домашиний принтер будучи на работе?
        0
        1) Зачем печатать дома будучи на работе, когда 90% делают наоборот, всмысле печатают только на работе?
        2) Обычный VPN и сетевой принтер CUPS/SAMBA
          +1
          1. Например когда документ нужен дома сейчас, а ты находишься на работе. Я не утверждаю, что это популярный use case, тем не менее он возможен и я периодически им пользуюсь.
          2. Я бы не сказал, что этот способ проще хотя бы из-за того, что необходимо поднимать соединение на клиенте.
        0
        это позволяет сделать вообще печать.
        ubiquitous
        Всегда и везде на реальные или виртуальны принтеры не заморачиваясь с форматами.

        один из сценариев, еду на работу, на телефоне просматриваю разные тех. сайты,
        кидаю понравившиеся в «печаталку». прихожу на работу уже все напечатаное лежит.
          0
          Для печати с мобильных устройств. Особенно с андройдов.
          0
          Интересно, как скоро появятся железки для превращения обычного USB-принтера в сетевой с поддержкой Google Cloud Print… Или может уже есть? )
          Раньше были только для обычной сетевой печати, с обычным CUPS внутри…
            0
            www.synology.com/releaseNote_enu/USB%20Station%202.php?lang=rus
            вот нашел уже какую-то железку с поддержкой google cloud print )
              0
              HP уже достаточно давно производит такие принтеры.
                0
                Да что производит это понятно… просто не хотелось бы менять принтер из-за одной функции, которую можно прекрасно реализовать в недорогой отдельной железке (к тому же, даже новые принтеры далеко не все эту функцию поддерживают).
                  0
                  Согласен, поэтому и сделал себе такую железку :)
                    0
                    Ну отдельный сервак с убунтой — это как-то слишком, мне кажется )
                    Я вот например через AirPort Express превратил обычный USB-принтер в сетевой wifi-принтер )
                    И по цене это получается дешевле, чем готовый сетевой принтер с wifi.
                    Но google cloud print естественно не поддерживается :(
                      0
                      Ну, в моем случае сначала был сервер с торрентами, шарой и TimeMachine, а уже потом я прикрутил к нему CloudPrint. После покупки нового роутера я могу сделать сетевой wifi-принтер, но уже не хочется :)

            Only users with full accounts can post comments. Log in, please.