dnschneid / crouton

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

Chromebook Utility “Crouton” Now Lets You Run Ubuntu on a Chrome Tab #1279

Closed DennisLfromGA closed 9 years ago

DennisLfromGA commented 9 years ago

Read all about it!

Chromestory:_Chromebook Utility “Crouton” Now Lets You Run Ubuntu on a Chrome Tab_

I think this at least deserves the 'enhancement' & 'partyinlinuxland' tags ;-)

dnschneid commented 9 years ago

What it really deserves is @drinkcat getting a lot more credit. He wrote the whole thing...

tedm commented 9 years ago

Am trying this now, I am on the Daisy ARM chromebook, stable channel, latest crouton, and updated my precise chroot, and added the target extension with : sh -e ~/Downloads/crouton -t extension -u -n precise

then d/l the extension chrome app from the app store. Am not sure how to get the chroot in a tab. What am I missing, is precise ok, do I need more targets than extension? (original targets were xfce and chromium-browser).

I do get the " C " extension icon, and when clicking it, with a running xfce chroot, I see this menu:

screenshot 2014-12-27 at 11 12 35 pm

but when selecting the chroot, I get a blink or flash, but am still in chrome. ctrl-shift-alt- f2/f3 do work in taking me between the chroot and Chrome.

divx118 commented 9 years ago

@tedm You just need to update it with the xiwi target. In your case sudo sh ~/Downloads/crouton -t xiwi -u -n precise

sfc-gh-eraigosa commented 9 years ago

@drinkcat bravo, nice job and thank you for the xmas present! This is working fantastic on the HP Chromebook 14, easy update, easy install.

Quick question. Do we have a wiki that explains the new feature on the wiki? I'd like to find out how we can also continue to use the old ctrl-alt-<-- syntax when wanting a little bit more crisp video display?

divx118 commented 9 years ago

@wenlock A solution for that is in progress see https://github.com/dnschneid/crouton/issues/1274 You can go back with updating and specifying -t xorg. Updating again with -t xiwi brings you back to xiwi again. Not the fastest workaround, but the easiest.

sfc-gh-eraigosa commented 9 years ago

@divx118 thanks! will try that, for now im going to mess with xiwi to see how i like it over xorg. This is truly a very cool feature.

tedm commented 9 years ago

@divx118 Maurice, thank you, that did it, and it works incredibly well! Thank you @drinkcat and of course @dnschneid This is incredibly great functionality, for me, so far, it's not in a tab, but a new window or launched or exec'd window, which is just as good, and alt -tab lets me quickly toggle between full xfce and Chrome. Some folks on reddit mention unity being laggy, well, the solution is to go back to precise / xfce with this! The VNC solutions did sort of work, and worked very well for text consoles only, but on the ARM, or my specific channel / builds, there was always lag with graphical chroots.

Crouton and this new linux in a tab is the best software experience I've seen in years! Thank you so much, and Happy Holidays and New Year to all of you!!

screenshot 2014-12-28 at 12 42 18 pm

daviday commented 9 years ago

I've read the same re: unity. Have been a bit hesitant to install. Can anyone comment? Also on a side note. When you partitioned the drive what did you allow for?

Sent from my iPhone

On Dec 28, 2014, at 3:53 PM, tedm notifications@github.com wrote:

@divx118 Maurice, thank you, that did, and it works incredibly well! Thank you @drinkcat and of course @dnschneid This is incredibly great functionality, for me, so far, it's not in a tab, but a new window, which is just as good, and lets me toggle between full xfce and Chrome. Some folks on reddit mention unity being laggy, well, the solution is to go back to precise / xfce with this! The VNC solutions did sort of work, and worked very well for text consoles only, but on the ARM, or my specific channel / builds, there was always lag with graphical chroots.

Crouton and this new linux in a tab is the best software experience I've seen in years! Thank you so much, and Happy Holidays and New Year to all of you!!

Screenshot 2014-12-28 at 12.42.18 PM

— Reply to this email directly or view it on GitHub.

tedm commented 9 years ago

@daviday I'm not doing any partitioning, just installing it over my existing precise / xfce chroot on the emmc drive. The chroot is comprised of files with extensive ownership modification scripts, so unless you're trying to install to external media or something, you shouldn't need to worry about partitioning.

daviday commented 9 years ago

Oops I must of misposted again. I'm working on an c720 atm.

Sent from my iPhone

On Dec 28, 2014, at 4:41 PM, tedm notifications@github.com wrote:

@daviday I'm not doing any partitioning, just installing it over my existing precise / xfce chroot on the emmc drive. The chroot is comprised of files with extensive ownership modification scripts, so unless you're trying to install to external media or something, you shouldn't need to worry about partitioning.

— Reply to this email directly or view it on GitHub.

tedm commented 9 years ago

You might have a different drive type, cpu, memory, etc., but if it's a chromebook, it should just install like this:

  1. put system in dev mode
  2. download crouton do your ~/Downloads folder in Chrome OS
  3. type sudo sh -e ~/Downloads/crouton -t xfce,xiwi,extension -n mychroot
  4. install the Chrome OS extension app from the chrome store
  5. type sudo startxfce4 from a crosh/shell prompt

There is a typo on the main Crouton page where it says "extension or xiwi" I think both are needed as targets, at least at this time.

daviday commented 9 years ago

That's amazing and great news. Thank you - I will try it soon. Unfortunately I can't risk toying with my brothers tab as the last time he flipped out.

Sent from my iPhone

On Dec 28, 2014, at 4:57 PM, tedm notifications@github.com wrote:

You might have a different drive type, cpu, memory, etc., but if it's a chromebook, it should just install like this:

put system in dev mode download crouton do your ~/Downloads folder in Chrome OS type sh -e ~/Downloads/crouton -t xfce,xiwi,extension -n mychroot install the Chrome OS extension app from the chrome store type sudo startxfce4 from a crosh/shell prompt There is a typo on the main Crouton page where it says "extension or xiwi" I think both are needed as targets, at least at this time.

— Reply to this email directly or view it on GitHub.

moocow1452 commented 9 years ago

Working with the Dev channel on my Original Acer C7 Chromebook, it seems to ignore xiwi as a addable target with the stock Crouton. EDIT: Croagh allows me to start up a window that is perpetually loading, which is no real change with what happened on Stable Software.

divx118 commented 9 years ago

@moocow1452 Be sure to put xiwi first when updating or creating your chroot. So for example -t xiwi,xfce instead -t xfce,xiwi. Fix is being worked on https://github.com/dnschneid/crouton/issues/1198 Also https://github.com/dnschneid/crouton/issues/1274 to switch in the future between xiwi and xorg.

tedm commented 9 years ago

@moocow1452 I read #1274 and #1198, but am unsure as to what the ramifications are in the way that I installed, which was initially just xfce (and chromium) targets, then the latest crouton and adding targets extension and then later adding target xiwi along with chrome store app extension.

I am on the 2012 Samsung ARM and with precise / xfce and on the stable channel, when and why would I want to change between xiwi and xorg? Thanks.

divx118 commented 9 years ago

@tedm On an arm chromebook you don't want to switch between xorg and xiwi, but for the intel based to get gpu acceleration, that is not available on xiwi.

tedm commented 9 years ago

@divx118 got it. Thank You.

JimBuzbee commented 9 years ago

Very cool! Thanks for the hard work.

Like @tedm I get a stand-alone window instead of an X desktop in a Chrome tab. Is this normal or am I missing something? I'd like to get it in a tab-proper so I can chromecast it.

dnschneid commented 9 years ago

No, currently it's only a window (since it needs to grab all keystrokes). We may consider actual tabs as xiwi-app progresses (launching a single app in a Chrome window).

JimBuzbee commented 9 years ago

Thanks @dnschneid, @drinkcat - appreciate the work being done

divx118 commented 9 years ago

Tip: Just for people who didn't know this, 3 finger swipe down will present you the windows that are open. So if you are running a full screen chroot then swipe down with 3 fingers in the full screen chroot to easily change to any app your currently running on chromeos. You can use this instead of the windows key. (F5)

dnschneid commented 9 years ago

I DID NOT KNOW THIS

DennisLfromGA commented 9 years ago

@divx118, Thanx for that tip, I'd forgotten about it. You can also search for a window by typing the first few letters of the window name when they're displayed - kind'a neat.

tedm commented 9 years ago

Thanks for reminding about 3 finger swipe. Also alt - tab on us keyboard precise / xfce arm xiwi works well to toggle between chrome and chroot.

Also correction (Thanks @DennisLfromGA ) in that for -t xiwi should be loaded before DE because as Dennis informed me on G+, xiwi pulls in extension.

I'm guessing the target extension is for Intel cb users using xorg and not xiwi?

DennisLfromGA commented 9 years ago

@tedm, Yeah, I found alt-tab works (on utopic) from chrome to the chroot but not back; the 3-finger swipe works very well though - yay!

divx118 commented 9 years ago

@tedm extension target is for communicating with the crouton chromeos app. You don't however need to specify it, because it is a requirement for xiwi. So it will be pulled in automatically by xiwi. xorg is the target needed for the intel users when they want gpu acceleration.

On Tue, Dec 30, 2014 at 9:35 PM, tedm notifications@github.com wrote:

Thanks for reminding about 3 finger swipe. Also alt - tab on us keyboard precise / xfce arm xiwi works well to toggle between chrome and chroot.

Also correction (Thanks @DennisLfromGA https://github.com/DennisLfromGA ) in that for -t xiwi should be loaded before DE because as Dennis informed me on G+, xiwi pulls in extension.

I'm guessing the target extension is for Intel cb users using xorg and not xiwi?

— Reply to this email directly or view it on GitHub https://github.com/dnschneid/crouton/issues/1279#issuecomment-68395445.

DennisLfromGA commented 9 years ago

What @divx118 said plus I think xiwi is replacing xephyr on the arm platform.

dnschneid commented 9 years ago

xephyr is still a bit more efficient than xiwi is (since it avoids the Chromium compositor), but once freon lands, it may be the only way to go on some platforms (alternatively, it also may fix coexistence such that even xorg (fbdev) may work on ARM).

But yes, extension target is what non-xiwis need for clipboard sync, url handling, and mouse-based switching.

tedm commented 9 years ago

Thanks, I think I understand, so non-ARM users, who are also non-xiwi X users may need the extension target for some things?

Is the extensive work you and @drinkcat have put into the VNC tab solution now deprecated as we can probably do xming (will try soon), and I don't think the VNC solution ever got clipboard integration running, but definitely was in a tab (with appropriate chrome store app, compatible with the xtightvnc target) ?

dnschneid commented 9 years ago

The VNC solution was a quick and dirty hack; it's been gone for a while. Totally replaced with xiwi, which is better integrated and has significantly better performance.

I think you meant xiwi, not Xming (a Windows X11 server...)

tedm commented 9 years ago

@dnschneid Yes, sorry, Xming does the opposite, lets me run X apps on windows.

The VNC in a tab was a great and almost working solution for remote X sessions on the Chrome desktop, but now with xiwi and the clipboard @drinkcat implemented, vnc should be runnable on the chroot side or 3rd party store apps, when all the networking ports are setup and configured.

Still curious, is spawning the chroot in a new window normal, or is it supposed to be in an official "tab" or would it be an easier install if someone glommed it all up into a chrome store app?

DennisLfromGA commented 9 years ago

A little OT but - In a xiwi chroot, mine is utopic, the normal screenshot function (Ctrl-F5/SwitchWindow) just seemingly minimizes the chroot window, I think it's just doing a window switch, and doesn't take a screenshot. Same thing happens when trying to capture a region (Ctrl-Shift-F5/SwitchWindow).

Is this normal and should we use a keymap equivalent in the chroot if possible?

dnschneid commented 9 years ago

@tedm It's a window, not a tab (so that it can capture all keyboard presses). I'm not sure what else you want to glom into an app, because you still need to use the terminal to launch chroots due to Chromium OS security policy.

@DennisLfromGA that's because the extension captures the SwitchWindow key and specially processes it to unfocus the chroot. It might be possible to either toss the keypress up the stack or trigger a screenshot (not sure what the APIs are like), but either way, it's probably worth opening a new issue for.

tedm commented 9 years ago

@DennisLfromGA perhaps we should open a new item for keyboard issues with xiwi

On the ARM (precise / xfce / xiwi) alt and tab do alternate from chroot window to any open Chrome windows (hold down alt while tapping tab) and back to chroot, cycles continuously.

I also experienced the screenshot key combo minimizing the chroot window before getting the screenshots above, but it was just a matter of holding the keys down long enough I think, so something is touchier with xiwi and the keyboard, but maybe exacerbated as you are on Intel, and probably a faster cpu, as well as different kernel and DE.

DennisLfromGA commented 9 years ago

@tedm - Man, I'd love to see a xiwi chroot 'glommed up' in a chrome store app - without being in dev mode would be even cooler. It might even be doable with the advent of chroot containers or the equivalent. I'm sure there are way too many security concerns even if it were possible.

tedm commented 9 years ago

@DennisLfromGA There should be a way that is simpler than the current method for a regular user to use Crouton and linux, be able to write simple programs and execute them, and then turn that mode off when they want to use their chromebook for travel and have maximum security.

Organizations like schools could lock them down, but for the schools teaching programming, they need to give programming access to cb users to write a simple program and execute it, without having to submit the app to a store to be vetted and all.

Perhaps some sandbox storage could be created on a partition of isolated storage and protected memory, so user programs can only write to screen or dedicated storage, not main chromebook storage at all.

DennisLfromGA commented 9 years ago

@dnschneid

it's probably worth opening a new issue for.

Done - https://github.com/dnschneid/crouton/issues/1287

JimBuzbee commented 9 years ago

After running for a while, my X session fails and I see continuous errors in the console that I used with startxfce4:

find_shm: Error running helper. write_image: Cannot find shm, moving on... popen2: Failed to create pipe. (Too many open files)

Looking at the /proc filesystem, I see that croutonfbserver has over 2000 file descriptors in use, with nearly all being used for pipes

tedm commented 9 years ago

@JimBuzbee You may want to open a new issue for this.

Are you using v2 of the Chrome Extension from the app store? You may want to try re-installing xiwi with -u and ensure you're using the latest version of crouton.

If you're on precise and Intel, you might want to create a trusty chroot with xiwi for now.

dnschneid commented 9 years ago

That's #1286

Also, precise works just fine with xiwi.