dnschneid / crouton

Chromium OS Universal Chroot Environment
https://goo.gl/fd3zc?si=1
BSD 3-Clause "New" or "Revised" License
8.56k stars 1.24k forks source link

Webserver commands #558

Closed moocow1452 closed 8 years ago

moocow1452 commented 10 years ago

So, I remember we as a group were noodling over how to better integrate Crouton x-apps with the native Chrome Manager, either adding apps or bookmarklets to shunt Chrome OS over to your Linux target when you want to start a native app, then easily putting it back when you want to go home. I wonder, with the advent of a Crouton extension and a server within the Chroot that listens for copy/paste commands, could we have another server that the Chromebook proxies traffic through when it senses an active Chroot, that goes ding when it picks up a url or search query from crouton:// or a throwaway domain, and then starts an environment specifically to run that application full screen? It seemed like a good idea at three in the morning, so I'm bringing it to the board for a feasibility check before I start breaking things.

dnschneid commented 10 years ago

Brilliant. I'm hesitant to have the extension handle crouton:// URLs, as then an arbitrary webpage could run commands on your system--probably not a good thing (unless we popped up a confirmation box with command whitelisting, or only allowed following local links somehow, which could be an option). Alternatively (or in addition), with the omnibox api, we could certainly support typing crouton[tab] and then auto-complete commands based on what's in $PATH. That, plus running the command in a host-x11 environment plus the stuff that's brewing in the improved croutoncycle branch could make for some excellent integration.

Three things need to happen:

  1. The patch suggested in #144 to support synchronization between the Chromium clipboard and the unused Chromium OS X11 clipboard needs to be merged, and croutonclip should be run on enter-chroot.
  2. The improved croutoncycle branch, complete with the ratpoison replacement needs to be merged or the xf86-video-dummy-based crouton-in-a-tab feature needs to happen. The former is far easier to get working.
  3. The extension and croutonwebsockets server need to be extended to support the omnibox completion and "run command" messages.
moocow1452 commented 10 years ago

None of those seem all that difficult to implement at face value, but then again it's always the little things that throw things when they seem to come up. What sort of functionality would we be talking about with omnibox commands, and would they be similar to starting programs from shell as opposed to big friendly buttons? Also, ratpoison is the one with PiP, so does that mean we could see Linux app overlays on Aura as opposed to hijacking the Xserver and switching entirely to a DE or fullscreen app?

moocow1452 commented 10 years ago

PS: We could also try running a lamp server underneath Chrome that the Extension and or "Home" Page runs entirely in localhost, bypassing the need to use Crosh save to start the machine, and giving us big friendly buttons for applications and settings, and also keeping whatever root commands we used contained to the local system.

dnschneid commented 9 years ago

Update: I have a small proof-of-concept in the xiwi-app branch that allows you to launch applications in dedicated X servers using xiwi. Once that's flushed out and polished, we can come back to this and look into supporting passing through MIME types to allow chroot apps to launch based on standard MIME registrations...

DennisLfromGA commented 8 years ago

Please re-open if this issue is still a concern.