https://mikelev.in/blog/adapting-my-d...
Browser automation is a cornerstone of the impending deluge of amazingly powerful SEO and Data Science deliverables I'm getting ready to give out for free.
Local Linux VMs are necessary so that the identical code-base will work on Macs, Windows and native Linux desktops and servers, therefore fulfilling the long ago promise of portable interoperable code promoted by Java. The reality is that today this role is played by Linux VMs, no matter the host hardware's OS. Even Macs are better off using this technique than Homebrew.
However, there are times when you need Linix graphics, and this is my interrogating Bing over this topic. Specifically, there will be times when a browser window has to pop up to let the user log onto this service or that. My PyPi.org pip installable ohawf package works that way for OAuth2, but it could be just a plain website login.
Without this capability, browser automation against websites using logins would be much more difficult, and all OAuth logins would require special "service accounts" instead of your regular Google login. In short, this assures a great deal of magic that's very hard in cloud Jupyter Notebook context, such as Google Colab, Binder, Kaggle, Azure Notebook and the rest.