Google Cloud Print With Linux/Mac Printers - G Tablet Themes and Apps

There is an Android app that uses the new Google Cloud Print beta. More info on that can be found here:
http://forum.xda-developers.com/showthread.php?t=950312&highlight=cloudprint
I have found that someone made a script to get this working on Linux and Mac hosted printers. I have it installed on my Ubuntu PC:
https://github.com/armooo/cloudprint
http://groups.google.com/a/chromium...hread/74a73ee7d34a72c9/cb420a777ef82719?pli=1
You can download the source tarball, or use GIT to download the source. To use GIT, you first need it installed. You also need python and python-cups installed
Code:
sudo apt-get install git-core python python-cups
Now pull the source code to your home folder:
Code:
git clone git://github.com/armoo.cloudprint.git
After it downloads, I had to change permissions on the folder:
Code:
chmod -R 777 ~/cloudprint
Now change directory to the cloudprint folder, and run the setup.py script:
Code:
cd ~/cloudprint
python setup.py build
Now install it:
Code:
sudo python setup.py install
This installed the script in this folder:
/usr/local/lib/python2.6/dist-packages/cloudprint/cloudprint.py
Run it and it should ask for your gmail address and password:
Code:
python /usr/local/lib/python2.6/dist-packages/cloudprint/cloudprint.py
It also added my default printer. I it worked by logging into my gmail account, and going to this page:
http://www.google.com/cloudprint/manage.html
There I see my printer in the list.
When I open the Cloud Print Android app, it does not find the printer.
Any one else want to try it?

OK, I uninstalled the Andoid app, then re-installed it. It then saw my printer and I was able to print a testpage!!
One thing. It seems to run in the terminal window of my Ubuntu PC. Maybe it can be run in the background.
This is good news!!!

Dang, it doesn't work with Google's two-factor authentication!
EDIT: It works by creating an application specific password for your Google account.

grokdesigns said:
Dang, it doesn't work with Google's two-factor authentication!
EDIT: It works by creating an application specific password for your Google account.
Click to expand...
Click to collapse
I'm not sure what you mean by "two-factor authentication". Mine works with my regular Google account username and password.
Edit: I think that you meant two-step verification.
http://www.google.com/support/accounts/bin/static.py?page=guide.cs&guide=1056283&topic=1056284
Google Cloud Print stopped working after I signed up for 2-step verification
If you're using 2-step verification, you need to enter an application-specific password instead of your Google Account password when enabling the Google Cloud Print connector within Google Chrome. You can generate the application-specific password on your Authorizing applications and sites page.
Click to expand...
Click to collapse

Cloud Print Now In Chrome For Linux
The Linux version of Chrome 11.0 now has the ability to use Cloud Print, so this script is no longer needed.
Cloud Print is disabled by default in the Linux version of Chrome 11.0. To enable it, first enter this into the address bar:
Code:
about:Flags
This will open a page showing many disabled features. Go to the "Cloud Print Proxy" entry, and click on the "Enable" link. Now shut down and restart the browser.
After restarting Chrome, open the control panel (the wrench in the upper right), and click on "Preferences". Click on the "Under The Hood" section, and scroll to the bottom of the page. Here you will now find the option to enable Cloud Print for printers on that computer.
You have to have the computer running, and be logged in, for it to work. So, this would be best used on a file server, or some other Linux computer that is on 24/7.

It works!
Sweet it works! Both the flags and the straight code!

Does the python script works just with the default printer on cups or show all printers at google cloud print?

arvati said:
Does the python script works just with the default printer on cups or show all printers at google cloud print?
Click to expand...
Click to collapse
I don't recall, as I now use the Chrome browser for cloud print. Using the script wasn't very handy, as you have to run it from a terminal window. If you close the terminal, it ceases to work. If you look at my first post, it says it works with the default printer.

Cups and Google Cloud Print Integration
People now have created an integration of cups with google cloud print, since chrome for ubuntu now has google cloud print. This integration is what was missing to have full access to google cloud print over ubuntu.
See article in english: http://www.niftiestsoftware.com/cups-cloud-print/
My article in portuguese: https://sites.google.com/site/ubuntu4us/artigos/configuracao-de-hardware/impresoes-e-impressoras/impressao-via-google-cloud-no-ubuntu

Thanks, but I'm not sure I see any use for something like this. I used cloud print to print TO my cups based printer. What really is needed is cups for Android.

Good Idea. Do you know any group working on it?

arvati said:
Good Idea. Do you know any group working on it?
Click to expand...
Click to collapse
Not that I know of. There is an old thread about this in Google Groups:
http://code.google.com/p/android/issues/detail?id=1148
One reply was this:
Aug 16, 2010
For your information, we are OESF Lab in Vietnam (www.oesf.biz) are working to port CUPS to Android.
After porting CUPS, some printing applications (print manager, print job) will be added.
This is a ready hard work. Any help or contributor into this project are welcome!
Click to expand...
Click to collapse
My search at the OESF web site brings up nothing.

You got me looking at this again, and I may have found something. Check out these links:
http://www.letsprogram.com/89503/printing-manager-on-android/
http://developer.oesf.biz/em/developer/

Related

print wirelessly?

it is possible for the g1 to print wirelessly right?
is there a program out there that i dont know about that lets you do this? , because i've been looking but found nothing.
I guess it hasn't been created yet.......?
I would love this functionality as well since my printer is wireless. Would be great but I dont know if it will happen.
It is most definitely possible, but has not been implemented.
What you need in order to print;
install CUPS,
add application support.
If you have debian installed, you most certainly will already have the ability to print.
Note that even if CUPS was installed, you would not be able to print from ANY existing android application since they lack this functionality.
CUPS is the common unix printing system (developed by Apple). In Windows, when you buy a printer, you trust that, either the manufacturer has given you a working driver to install from a CD, or that Windows' endless array of popups will find it for you.
On unix-alikes, you toss the CD and trust that CUPS and its dependencies will have a serviceable driver already.
So no, you shouldn't have to make specific devices for each printer. They should already exist if CUPS supports them.
reviving old thread
with the ability to view PDFs and office docs as well as view and edit google docs via the browser it would be great to be able to discover networked printers and spool print jobs to them, any chance of this functionality coming around sometime soon?
innerspace said:
with the ability to view PDFs and office docs as well as view and edit google docs via the browser it would be great to be able to discover networked printers and spool print jobs to them, any chance of this functionality coming around sometime soon?
Click to expand...
Click to collapse
I found an app awhile back that will let you print wirelessly the only thing you have to do is download a file onto the pc.
thats printershare
which is an ok solution i suppose, but does require a print server app to be installed on the host pc. I'd rather have the ability to browse the network from android and choose an existing printer as a target then use cups or try to install the driver via the web. Big issue with android apps not supporting this though, probably not going to happen. bummer really.
yeah i tried out the app and installed it on my g1 and file server. after i launched the app it showed its major flaw. If security permissions are not set on the host pc your printer shows online for everyone who is running the app. i saw printers from all over the country. i thought about sending a print job but didnt
^^lol^^
I thought the same thing. Plus it just didn't work. too funny.
Until there is a solution that uses IPP and not somebody's proprietary crud, there is no network printing solution for 'droid.

GPG on Android...

Does anyone know of a copy of GPG for android at all, or the best way to go about recompiling/cross-compiling it?
I'm thinking/hoping this would be the easiest solution to enabling K9 or similar email apps to support encryption without coding up a bunch of java code to do it.
Although I could be wrong and doing GPG type code directly in K9 might be the better solution.
Hi. Sadly, I cannot help, but this would definitively be a great feature for the android phones if someone could develop such a thing!
I've been fiddling about with RSA/AES code today on Android. At first glance all the hard work is done as both are already implemented, it's just missing the glue to combine RFC2440 with the encryption functions and then you'd have a working copy of PGP/GPG for Android and/or hook into K-9 as well.
Does anyone understand the formatting of encrypted and/or signed blocks? If so that would save me a lot of reading and blundering through RFC2440
Actually I am was looking for GPG encryption in Google Andriod as well. it would be very good to have this feature in Email, Calendar, Contact, ... so it gives more privacy and security. Also some people nowadays use GPG for their gmail communications. there is very nice Firefox extention called "FireGPG" which integrate with Gmail for GPG encryption: http://getfiregpg.org/
Even there is PGP encryption Firefox extention for Google Calendar: http://www.ibm.com/developerworks/web/library/wa-googlecal/
I found this Java GPG class: http://www.macnews.co.il/mageworks/java/gnupg/ probably useful for programmers looking for a way to integrate GPG on Andriod.
delta_foxtrot2 said:
Does anyone know of a copy of GPG for android at all, or the best way to go about recompiling/cross-compiling it?
I'm thinking/hoping this would be the easiest solution to enabling K9 or similar email apps to support encryption without coding up a bunch of java code to do it.
Although I could be wrong and doing GPG type code directly in K9 might be the better solution.
Click to expand...
Click to collapse
It would be fairly trivial to just cross-compile gpg using the arm-eabi toolchain included in the sdk. However, that would not get you very far into enabling gpg functionality in k9. You would have to modify parts of k9 to interact with the gpg binary.
There is issue regarding integration of gpg with k9:
http://code.google.com/p/k9mail/iss... Type Status Priority Milestone Owner Summary
jashsu said:
It would be fairly trivial to just cross-compile gpg using the arm-eabi toolchain included in the sdk. However, that would not get you very far into enabling gpg functionality in k9. You would have to modify parts of k9 to interact with the gpg binary.
Click to expand...
Click to collapse
What about using the NDK to build some lib version of gpg?
I've tried using the BC stuff and it's just too much for eclipse to handle...
use bouncycastle
As I understand it, Bouncycastle is a pure-Java implementation of a bunch of crypto stuff. And it includes support for encrypting/decrypting/signing with OpenPGP (which the RFC-standard format that GnuPG implements anyway).
Since I'm a new user, I can't post a link yet, but the documentation can be found by going to bouncycastle dot org, clicking on java, clicking on documentation, and then searching within the page for "OpenPGP package".
Going with a pure-Java implementation seems like the easiest and cleanest way to get something working on Android.
GPG/PGP for android please! Use it for work a lot so it'd be very useful.
PGP Manager for Android
try "PGP Manager for Android" app, it supports PGP/GnuPG and works with PBE (symmetric encryption) too.
apg
APG is an gpg integration für android. you can encrypt and sign messages too
apg.thialfihar.org

WiFi printing using PrinterShare

So, I figured that I would post a confirmation that states that while using my NC and PrinterShare from the market I can print documents over my WiFi connection at home!
I was not sure if this would work, and it took the NC a bit to see the WiFi printer, but it works. I am going to purchase the full version now that I know that it works.
This NC gets cooler and cooler, day after day!
I am wondering if something can develop a way to auto-print documents that have been waiting in a queue. For example if I am at work, select 4 documents that need printing, and then the NC would send them to the printer once I connect to my home WiFi?
There is a hack that can send documents from any device to any online printer.
It's not too complicated - as long as both are linked to the same Dropbox account. You would just need to install a script in your Dropbox, then any documents you want to print would be uploaded to that folder.
I don't have the link (sorry) but I'll look for it... I'll post it when I find it .-)
Ok - found it... I think it might be windows only.
(These are just links that I've found... All credit goes to the original author)
First, you need a dropbox account. You would need to have it linked to your Nook and your computer with a printer.
If you don't already have one, feel free to use my link: http://db.tt/1lAXHf7
(There's all sorts of other things you can do with Dropbox, but this is one of the better ones for the Nook... as far as I can tell)
Here's the link to show you how to install the script:
http://www.labnol.org/internet/print-from-mobile-phones/17827/
I attached the zip file with the script, hope it helps!
This works (dropbox option). Just printed a document. Thanks for sharing.
Thanks, the application works for me, I opted for the wrz version.
The dropbox version works for mac and linux too, you just need the script. I can not find the link now but I Googled dropbox printing and found a page that links to the mac and linux scripts. I tried the linux one.
thanks for the dropbox method it worked.
u can find the mac script here http://www.labnol.org/tech/print-files-on-remote-mac/17838/. and the linux script here http://www.labnol.org/software/print-files-on-linux/17841/
Printershare works on my Droid2 but not my nc
nootered said:
So, I figured that I would post a confirmation that states that while using my NC and PrinterShare from the market I can print documents over my WiFi connection at home!
I was not sure if this would work, and it took the NC a bit to see the WiFi printer, but it works. I am going to purchase the full version now that I know that it works.
This NC gets cooler and cooler, day after day!
I am wondering if something can develop a way to auto-print documents that have been waiting in a queue. For example if I am at work, select 4 documents that need printing, and then the NC would send them to the printer once I connect to my home WiFi?
Click to expand...
Click to collapse
I was wondering if you or anyone could help me troubleshoot my setup. I have a brother mfc-j270w that is listed as a supported device on the printershare home page. I also have a rooted nc with no overclock and only modified location service files. It will see the printer and even show that the printing has been spooled and completed. The printer shows receiving the job, feeds the paper, but prints nothing.
I would assume that the printer firmware isn't compatible with the printershare drivers, but I've ran the same test from my Droid 2 and it works like a charm.
Any ideas?
whoatemyshat said:
I was wondering if you or anyone could help me troubleshoot my setup. I have a brother mfc-j270w that is listed as a supported device on the printershare home page. I also have a rooted nc with no overclock and only modified location service files. It will see the printer and even show that the printing has been spooled and completed. The printer shows receiving the job, feeds the paper, but prints nothing.
I would assume that the printer firmware isn't compatible with the printershare drivers, but I've ran the same test from my Droid 2 and it works like a charm.
Any ideas?
Click to expand...
Click to collapse
Maybe select a different option in Options-->Printout Mode?
breebauer said:
Ok - found it... I think it might be windows only.
(These are just links that I've found... All credit goes to the original author)
First, you need a dropbox account. You would need to have it linked to your Nook and your computer with a printer.
If you don't already have one, feel free to use my link: http://db.tt/1lAXHf7
(There's all sorts of other things you can do with Dropbox, but this is one of the better ones for the Nook... as far as I can tell)
Here's the link to show you how to install the script:
http://www.labnol.org/internet/print-from-mobile-phones/17827/
I attached the zip file with the script, hope it helps!
Click to expand...
Click to collapse
Awesome! Thanks!
racks11479 said:
Maybe select a different option in Options-->Printout Mode?
Click to expand...
Click to collapse
Ok, so I think I've figured it out. It had to have been an IP address conflict. I set the printer to a static IP address and it seems to be working fine now. Also, the setup I'm striving for involves networking through wireless tether on my Droid 2. I have to make sure that I connect the nc immediately after starting the wireless tether app so that su is still active. For some reason, the su permissions seem to time out after a bit, but it never causes any interruption in wifi service. I can also get it to refresh the su permission and allow the nc to connect just by turning the screen back on. Is this normal?
cmcdaniel said:
Ok, so I think I've figured it out. It had to have been an IP address conflict. I set the printer to a static IP address and it seems to be working fine now. Also, the setup I'm striving for involves networking through wireless tether on my Droid 2. I have to make sure that I connect the nc immediately after starting the wireless tether app so that su is still active. For some reason, the su permissions seem to time out after a bit, but it never causes any interruption in wifi service. I can also get it to refresh the su permission and allow the nc to connect just by turning the screen back on. Is this normal?
Click to expand...
Click to collapse
The fact that the su privilege seems to come back when the screen is turned back on makes me think it may have something to do with the Superuser app being cached/inactive by Android (after some inactivity)?
You could check the Superuser Log and see if it shows another "allowed" entry after waking the screen?
Just throwing out ideas.

Alternative to http://googlecast.github.io/cast-chrome/

Anyone know of any alternative right now to send URL to chromecast? The website http://googlecast.github.io/cast-chrome/ no longer work, I have the full HTML coding and scripts but I can't get it to work locally either. I guess I am not whitelisted. Anyone know of any alternative that work right now? I am sure some of you guys have use this method in the past few days.
GreenDroidX said:
Anyone know of any alternative right now to send URL to chromecast? The website http://googlecast.github.io/cast-chrome/ no longer work, I have the full HTML coding and scripts but I can't get it to work locally either. I guess I am not whitelisted. Anyone know of any alternative that work right now? I am sure some of you guys have use this method in the past few days.
Click to expand...
Click to collapse
Do you still happen to have the html and scripts? I just realized that it went offline.
Epic_VS said:
Do you still happen to have the html and scripts? I just realized that it went offline.
Click to expand...
Click to collapse
I hope that you can do something with it. I tried to whitelist my chromeextension (but I didn't do the chromecast), I created my local HTML server, I tried changing code.... can't do anything. I hope you have more luck.
When I pass my test in the next 2 weeks (if the SDK is not release by then), then I will try to learn how to build an android app. The DIAL protocol seems to hold promise as it doesn't reply on the Google SDK
GreenDroidX said:
I hope that you can do something with it. I tried to whitelist my chromeextension (but I didn't do the chromecast), I created my local HTML server, I tried changing code.... can't do anything. I hope you have more luck.
When I pass my test in the next 2 weeks (if the SDK is not release by then), then I will try to learn how to build an android app. The DIAL protocol seems to hold promise as it doesn't reply on the Google SDK
Click to expand...
Click to collapse
thank you
troFre clearly
GreenDroidX said:
I hope that you can do something with it. I tried to whitelist my chromeextension (but I didn't do the chromecast), I created my local HTML server, I tried changing code.... can't do anything. I hope you have more luck.
When I pass my test in the next 2 weeks (if the SDK is not release by then), then I will try to learn how to build an android app. The DIAL protocol seems to hold promise as it doesn't reply on the Google SDK
Click to expand...
Click to collapse
Had the same issue as you. simply dropped it on my webserver and got No Cast API is detected message when the page loads. Did you get past that?
Got It!
Ok guys,
I too had saved the source files from the googlecast github page. In order to get it working there are a couple of simple things that need to be done. You will need to run your own webserver to host the github page. Download the mongoose server application and drop it in the same folder that you have the GoogleCast folder in. Then run the application and go to localhost:8080 in your browser.
The other step for this is to whitelist your local server with the chromecast chrome extension. To do this right click on the Chromecast icon in chrome and select options. Then open the developer tools by pressing f12. Once in the developer tools click ctrl+f to open the search. Search for Developer Settings and you should see this line above <section ng-show="doubleClicks > 1" style="display: none;"> You need to remove the style="display: none;" from here by double clicking on display: and hitting delete. Then close the developer tools and you should see the option to Cast Additional Domains with a textbox. Type localhost and click Add; then type your computer's IP address and click add.
These are the steps I used to get this page working from my local machine. I do not have a whitelisted chromecast and this is working for local video files and vimeo etc..
lmanders said:
Ok guys,
I too had saved the source files from the googlecast github page. In order to get it working there are a couple of simple things that need to be done. You will need to run your own webserver to host the github page. Download the mongoose server application and drop it in the same folder that you have the GoogleCast folder in. Then run the application and go to localhost:8080 in your browser.
The other step for this is to whitelist your local server with the chromecast chrome extension. To do this right click on the Chromecast icon in chrome and select options. Then open the developer tools by pressing f12. Once in the developer tools click ctrl+f to open the search. Search for Developer Settings and you should see this line above <section ng-show="doubleClicks > 1" style="display: none;"> You need to remove the style="display: none;" from here by double clicking on display: and hitting delete. Then close the developer tools and you should see the option to Cast Additional Domains with a textbox. Type localhost and click Add; then type your computer's IP address and click add.
These are the steps I used to get this page working from my local machine. I do not have a whitelisted chromecast and this is working for local video files and vimeo etc..
Click to expand...
Click to collapse
Thank You!!!, that was what I was trying, but I was putting in localhost:8080 instead of localhost. and you don't need to go to developer tools. all you need to do is enable developer options by checking the checkbox at the top right corner at this url chrome://extensions/
then go into the chromecast extension options and click the blue icon at the top left 4 times, then it will tell you to enter the url at the bottom.
Epic_VS said:
Thank You!!!, that was what I was trying, but I was putting in localhost:8080 instead of localhost. and you don't need to go to developer tools. all you need to do is enable developer options by checking the checkbox at the top right corner at this url chrome://extensions/
then go into the chromecast extension options and click the blue icon at the top left 4 times, then it will tell you to enter the url at the bottom.
Click to expand...
Click to collapse
Sweet, I did not know you could enable the developer options that way. Did you get it working?
lmanders said:
Sweet, I did not know you could enable the developer options that way. Did you get it working?
Click to expand...
Click to collapse
Yes. And doing that is the official way to do it according to this.
Edit. look at the bottom of that page
lmanders said:
Sweet, I did not know you could enable the developer options that way. Did you get it working?
Click to expand...
Click to collapse
Worked for me, did the 4 click method. Adding to whitelist allowed the page to load.
Epic_VS said:
Thank You!!!, that was what I was trying, but I was putting in localhost:8080 instead of localhost. and you don't need to go to developer tools. all you need to do is enable developer options by checking the checkbox at the top right corner at this url chrome://extensions/
then go into the chromecast extension options and click the blue icon at the top left 4 times, then it will tell you to enter the url at the bottom.
Click to expand...
Click to collapse
Thank you all, I did everything almost right. I put my IP address and everything, but the localhost was the trick. Thank you all.
GreenDroidX said:
Thank you all, I did everything almost right. I put my IP address and everything, but the localhost was the trick. Thank you all.
Click to expand...
Click to collapse
Also with the local HTML server, I can now stream local video too. By input in my IP address and the video file name. IE a less elegant Koushik Dutta, but still works. Please Google let us have this back way until something official come out. Thank you all.
Also Mongoose is a really quick and dirty way of doing a local HTML server.
I edited the html/javascript and created a script to make this easier.
http://forum.xda-developers.com/showthread.php?t=2398804

Where to test my apps backend?

Hi, i am currently developing a back-end for my android app in PHP and i need somewhere to test it and deploy it. Is there somewhere i can test my back-end for free? I am willing to rewrite it in a other language if necessary. I have looked at app engine, AWS and azure but i do not have a credit card of my own.
Any suggestions?
Running and testing API backends locally
To test the backend, you'll use the API Explorer, which is a tool that lets you test APIs interactively without using a client app. This tool is automatically run for you when you navigate to your backend API's subdirectory /_ah/api/explorer as we'll describe in the instructions below.
for more information plz follow this link -> https://cloud.google.com/appengine/docs/java/endpoints/test_deploy
damponting44 said:
Running and testing API backends locally
To test the backend, you'll use the API Explorer, which is a tool that lets you test APIs interactively without using a client app. This tool is automatically run for you when you navigate to your backend API's subdirectory /_ah/api/explorer as we'll describe in the instructions below.
for more information plz follow this link -> https://cloud.google.com/appengine/docs/java/endpoints/test_deploy
Click to expand...
Click to collapse
Thank you! Do i need to be enrolled with app engine to use it?
Adding an App Engine Java Servlet Modulec -
This page shows you how to add an App Engine Java Servlet module to your project in Android Studio.
To add the module:
Start Android Studio and open the project for the Android app that needs the new backend.
If you have not installed Android Studio or set up your environment yet, see the Quickstart for details.
Right-click on your project and select New > Module.
Select Google Cloud Module from the list and then click Next.
Select App Engine Java Servlet Module, and then supply the remaining information in the New Google Cloud Module form:
Enter module parameters
Supply a module name for your backend; this name will be displayed and used in your Android Studio project.
Supply a package name. This package name will be used for all classes imported from this template.
Select the client module (containing your Android app) in this project. This module will be automatically set up to have the right compile and build dependencies to be able to call your newly generated backend.
Click Finish to generate the new backend.
Select Tools > Android > Sync Project with Gradle Files to sync the project.
scottyaim said:
Hi, i am currently developing a back-end for my android app in PHP and i need somewhere to test it and deploy it. Is there somewhere i can test my back-end for free? I am willing to rewrite it in a other language if necessary. I have looked at app engine, AWS and azure but i do not have a credit card of my own.
Any suggestions?
Click to expand...
Click to collapse
Hello, I have recently added a few features for Webhook Relay com project (google it, don't want to post link) such as bidirectional tunnels for exactly this reason - test your application backend without deploying. You can just spin up a java/php/python/go/whatever server on your laptop and use relay agent to expose it to the internet. I hope it helps.

Categories

Resources