Is it possible to run desktop applications on Google Colaboratory? - persistence

I would like to run desktop applications (for debug and research purposes) on a Google Colab notebook.
Is that possible?

Check GNU Colab.
With it you can easily have a whole persistent desktop environment running on top of a Colaboratory VM instance.
Here's a video demonstration.

Related

Is there a way to run an IDE like VSCode from a cloud instance?

I know that with R you can run RStudio as a browser instance directly from a server/cloud instance, so you access the IDE via browser, and that IDE has access to files/data available on that instance (similar to what Jupyterlab does).
Similarly i wonder if there is a way to run VSCode (or some other full feature IDE) as a browser instance on something like a google dataproc, so instead of using Jupyter to run code and access data, you would use the IDE.
I realize there are ways to run a local instance of an IDE and connect to a server/cloud instance, but in some cases these connections are blocked by firewalls and you have no way of running code on the instance other than via browser/jupyter, so i was wondering if there was some other way to do this.
As #guillaume blaquiere suggested :
Cloud Workstation is the brand new feature is designed for that
Fully managed development environments built to meet the needs of security-sensitive enterprises. It enhances the security of development environments while accelerating developer onboarding and productivity.
Access secure and fast development environments anytime via browser or local IDE
Enable administrators to easily provision, scale, manage, and secure development environments
Customize development environments with your preferred IDE and through custom container images

How to connect VScode to colab / paperspace / etc

Cloud instances like google colab, paperspace gradient etc. offer free or very inexpensive options at ~10$/months for storage, GPU compute, ready-to-use containers and a jupyter notebook/lab IDE. It's great for hobby prototypes.
However, personally, I much prefer IDEs like VSCode for developing even small projects. Given that VSCode offers ssh-remote access to machines and even docker containers, what are the best options to realize this? Already tried colab-ssh which works but feels a bit sluggish. Maybe there are better options?
On the other side, one can rent instances like AWS p2.xlarge, but with costs of 1$/h they become significantly more expensive than the above options (sidenote: Why is there such a discrepancy?)
SSH onto notebook server
Most managed notebook services don't allow/support SSH.
Colab states this in its terms of service.
Paperspace also seems to not support it (according to this forum thread from 2018).
It may be possible with Sagemaker if you set up a bastion host.
VS Code server
VS Code server you lets you run VS Code on the notebook server, and connect through a local VS Code without SSH.
in Colab: colabcode
in Paperspace: gradient-coder
On the client side you can connect via the Remote - Tunnels extension.

Using VSCode to launch apps in GCP

not sure if this has been asked before though I couldn't find it. I am using GCP services such as app engine, secret manager and storage but am using the Cloud Shell editor. Though I like it, I prefer coding on VScode due to familiarity. Any help on how could I achieve this on my VS code terminal?
#Sachin - We have support for all the features that are available in Cloud Shell in the local VSCode IDE through the cloud code plugin. Here is where you want to get started.
Quick start & Install
Plugin on VSCode Marketplace

Can Jupyter Console be used with Google Cloud Datalab?

Can Jupyter Console be used with Google Cloud Datalab as a replacement for the javascript frontend?
It will be possible very soon to use Datalab with the Jupyter notebook. We have no plans to support Jupyter Console directly, but parts of Datalab should work.
Seems to me that one could use the Google Cloud Shell for the functionality you may be looking for? Located on the upper right of the Google Cloud Platform control page?

Access Google Drive locally on Chromebook via Crouton

I am using a Samsung Chromebook with the Crouton chroot environment (https://github.com/dnschneid/crouton). This has revolutionized my view of how practical a Chromebook can be for developer-type work. I love it.
But now I am wanting to synchronize files between my various PCs and laptops. Using git is certainly an option, but it requires one to manually check in my work. What if I forget? I have been spoiled lately using either Dropbox or Google Drive to automagically keep my files all nicely synched up. The problem now with Crouton on my Chromebook is that I do see any obvious way to have project folder synced using Google Drive. I assume Drive would be the easier route since its a Google product. But if Dropbox can be made to work, that would be awesome too.
Has anyone looked into this and found a workable solution?
Although I haven't attempted to get it working yet, this project allows you to mount Google Drive to your Linux file system:
https://github.com/dsoprea/GDriveFS
You can access the locally synced Drive folder (as used by the rest of ChromeOS) from within a chroot at this directory:
/var/host/media/fuse/drivefs-[unique ID]/root/
Note that the unique ID is different on each machine (or possibly each google account?) - you will need to find this yourself.
This can also be accessed from the ChromeOS shell here:
/media/fuse/drivefs-[unique ID]/root/
Dropbox works fine for me within a crouton chroot.
% sudo apt-get install nautilus-dropbox
see http://www.liberiangeek.net/2012/04/install-dropbox-in-ubuntu-12-04-precise-pangolin/ for a full description.