HomeServer2: Google Cloud Print

HomeServer2: Google Cloud Print
translate This post is only available in Polish.

Post archwialny z 2017 roku


Czasem potrzebuję coś pilnie wydrukować - zdarza się chyba każdemu. A to załącznik z poczty, a to jakiś dokument, a to inną, ważną w danym momencie rzecz. Komputer stoi wyłączony i to daleko - no po prostu chciałbym puścić zadanie drukowania z telefonu. Dlatego też zainstalowałem Google Cloud Print w Raspberry Pi.

Jak to działa?

Działa to nadzwyczaj dobrze - wystarczy wybrać opcję Drukuj w Androidzie i wybrać drukarkę z Cloud Print. Nie musisz być nawet w tej samej sieci - możesz drukować z dowolnej lokalizacji, a Twoje dokumenty będą grzecznie czekały w domu. Oczywiście drukarka musi być włączona, ale to nie jest wielki problem, zwłaszcza, że i tak była już wcześniej usieciowiona przez RPi.

Dlaczego GCP, skoro już mam opcję drukowania w panelu HS2?

Przede wszystkim, bo lepsze jest wrogiem dobrego. Uwielbiam grzebać w takich rzeczach, a zrobienie całości za pierwszym razem zajęło jakieś pół godzinki.

Dodatkowo HS2 ma ograniczony zakres obsługiwanych plików, a dodatkowe należy konwertować - a to wiąże się z pisaniem dodatkowego kodu, a często również użyciem dodatkowych bibliotek dla każdego formatu plików osobno. Dużo kodu do opieki, duże ryzyko błędów, a testowanie każdego to marnowanie papieru i tuszu.

Google Cloud Print w Raspberry Pi

Przyjmijmy, że CUPS jest już zainstalowany i skonfigurowany - skupię się jedynie na instalacji i konfiguracji Google Cloud Print Connector'a.

W pierwszej kolejności instalujemy zależności:

sudo apt-get install python python-pip

Gdy to będzie już gotowe, instalujemy pakiet łącznik:

sudo pip install cloudprint

I dokonujemy konfiguracji:

sudo /usr/local/bin/cloudprint

Powinniśmy postępować zgodnie ze wskazówkami na ekranie i... tada! Drukarka powinna zostać dodana do Google Cloud Print. Skrypt wymaga jednak ciągłego uruchomienia, dlatego zmontowałem z niego usługę:

sudo nano /lib/systemd/system/cloudprint.service

Podajemy następującą treść:

[Unit]
Description=Google Cloud Print Service
After=multi-user.target

[Service]
Type=simple
ExecStart=/usr/local/bin/cloudprint
Restart=on-abort

[Install]
WantedBy=multi-user.target

Wychodzimy i zapisujemy: Ctrl+X i odpowiadamy (T)ak. Następnie nadajemy uprawnienia, włączamy i uruchamiamy usługę:

sudo chmod 755 /lib/systemd/system/cloudprint.service
sudo systemctl enable cloudprint.service
sudo service cloudprint start

W panelu Google Cloud Print powinny pojawić się nasze drukarki z CUPS.

I to tyle - w ten sposób mamy Google Cloud Print w Raspberry Pi - automatycznie startujące podczas restartu Malinki i w razie niespodziewanego wyłączenia.

Jeśli potrzebujecie pomocy, zapraszam do tego artykułu, na którym wzorowałem się podczas konfiguracji.