

Porting Emacs to Chromebooks and the Web [pdf] - mblakele
https://fosdem.org/2015/schedule/event/emacs_and_elisp_on_the_chromebook/attachments/slides/797/export/events/attachments/emacs_and_elisp_on_the_chromebook/slides/797/FOSDEM_Building_Emacs_with_NaCl.pdf

======
LukeShu
A better URL is
[https://fosdem.org/2015/schedule/event/emacs_and_elisp_on_th...](https://fosdem.org/2015/schedule/event/emacs_and_elisp_on_the_chromebook/)

It links to the current URL (the slide deck PDF), as well as a video recording
of the presentation, and metadata about the presentation.

------
jdswain
Normally I wouldn't question the usefulness of a project, but I'm having
trouble seeing why this would be worthwhile.

Emacs already runs natively on every operating system for which Chrome also
runs, so the portability aspect is not so important. And most of the time you
would want to have a shell and even a compiler, so the sandboxing is kind of a
problem.

I guess a sandboxed emacs is kind of a strange thing to think about. The
trouble with emacs is that it brings in so many dependencies that you are
getting dangerously close to replicating a full OS in a browser tab, but then
you might as well just use a normal operating system (or a VM).

The idea of a Chromebook that I can run emacs on is really appealing, so much
so that I did just that, but used Crouton. I thought I'd mainly be ssh'ing
into a server, but actually have done a lot of stuff locally. Chromebooks make
a really nice laptop if you can work completely in the shell and browser. It's
all very simple.

I could see a use for this for having org-mode available in a browser, that
would be useful, but it's a lot of work to go to just for that.

~~~
616c
> I could see a use for this for having org-mode available in a browser, that
> would be useful, but it's a lot of work to go to just for that.

I was thinking this would be wonderful. I am torn between digging into Common
Lisp or Clojure, and thought this would be a great first idea.

I am currently stuck with emacs only, but have been playing with MobileOrg for
Android. What are you and others doing?

~~~
616c
Why was child
([https://news.ycombinator.com/item?id=9302857](https://news.ycombinator.com/item?id=9302857))
killed? I thought it was very interesting. Thanks for mentioning, berntb.

~~~
lmz
Because the user is banned, probably for being downvoted too often in his
previous flamewar.

~~~
616c
Oh, that's sad. I had not looked at his history. Always happy to see people
put money where their mouths are and put out some code, unlike me of course. I
just sit there pontificating.

------
nileshk
If you want to try Emacs running in Chrome (using NaCL):

[https://commondatastorage.googleapis.com/naclports/builds/pe...](https://commondatastorage.googleapis.com/naclports/builds/pepper_41/trunk-253-g089940f/publish/emacs/glibc/emacs/emacs.html)

You have to go to chrome://flags/ and enable "Native Client" and restart
Chrome.

~~~
mblakele
Thanks. It loads quite a few dependencies:

    
    
      Loading NaCl module.
      Loaded runnable-ld.so [1057 KiB]
      Loaded emacs_x86_64.nexe [5559 KiB]
      Loaded libppapi_simple.so [390 KiB]
      Loaded libpthread.so.1106743a [1529 KiB]
      Loaded libnacl_io.so [3626 KiB]
      Loaded libppapi_cpp.so [2489 KiB]
      Loaded libstdc++.so.6 [5583 KiB]
      Loaded libtiff.so.5 [659 KiB]
      Loaded libjpeg.so.8 [453 KiB]
      Loaded libpng16.so.16 [466 KiB]
      Loaded libz.so.1 [233 KiB]
      Loaded libm.so.1106743a [1270 KiB]
      Loaded libgif.so.4 [147 KiB]
      Loaded libXaw.so.7 [805 KiB]
      Loaded libXmu.so.6 [255 KiB]
      Loaded libXt.so.6 [773 KiB]
      Loaded libSM.so.6 [147 KiB]
      Loaded libICE.so.6 [244 KiB]
      Loaded libXext.so.6 [232 KiB]
      Loaded libX11.so.6 [1964 KiB]
      Loaded librt.so.1106743a [467 KiB]
      Loaded libncurses.so.5 [595 KiB]
      Loaded libc.so.1106743a [11743 KiB]
      Loaded libgcc_s.so.1 [336 KiB]
      Loaded libXpm.so.4 [222 KiB]
      Loaded libxcb.so.1 [296 KiB]
      Loaded libXau.so.6 [138 KiB]
      Loaded libdl.so.1106743a [314 KiB]
      Unable to create home directory in persistent storage: No such file or directory
    

At that point I thought it had failed, but after about a minute emacs came up.
On OSX it seems to use about 215-240 MB, vs anywhere from 50-200 MB for my
other chrome tabs.

Anyone have crouton handy to compare the overhead?

------
chaosfactor
I'm using emacs on my Chromebook by using crouton.

~~~
ywecur
Slightly off topic but I've never understood why people use Crouton. Surely if
you buy a Chromebook you do it for the software, right?

~~~
emidln
I bought it for an excellent user environment for everything but programming,
that could alt+tab into a programming environment. All of my non-tmux work is
inside a browser. It made sense to me that I would have an environment that
rapidly (less than 3 seconds) boots from cold to Chrome with optional Linux
environment when I need it. It has advantages of being automatically encrypted
and having deep integration with Google Apps that I use every day.

~~~
0xFFC
Thank you for your great answer . I am also considering buying Chromebook
because my case is almost same as you (everything is inside of chrome or
inside of bash ) , but I am a little skeptical about crouton , Do you have(or
know) any video for showing/introducing how it works on Chromebook , how
multiple tab's in bash works , I know this question is little wired but I
haven't seen any crouton on chrome book yet , So I am very curious . Can it
replace my ubuntu machine ? ( because I use it just for chrome(web) and heavy
terminal usage (bash , gcc , gdb , emacs , etc), and I don't use any gtk qt
etc app). Thank you .

~~~
pandatigox
They have some great docs at
[https://github.com/dnschneid/crouton](https://github.com/dnschneid/crouton)
and the community's great at
[http://www.reddit.com/r/crouton](http://www.reddit.com/r/crouton)

As for replacing your ubuntu machine, the default distro is 12.04, but I'm
sure you can install the latest.

I don't know about the amount of shell tabs you can have (as I use tmux), but
my short experiment seems to hold up well.

The only problems I think you'll face is the scary 'OS Verification' at
startup and limited memory (but can be solved by using a SD card). croutons
are cheap to install so install, remove, install until you find your niche.

~~~
0xFFC
Oh , I think there is a misunderstanding going on here , Maybe I describe it
in bad way , By replacing I didn't mean installing ubuntu on chromebook , I
just want switch away from this whole
gtk/qt/unity/gnome/kde/xfce/cinnamon/mate non-sense. Main thing I am looking
for is how is crosh , when you using it in heavy way (gcc,emacs etc).

~~~
Kareeeeem
You can also install a chroot with the cli-extra target. This launches the
chroot in a TTY with the `sudo startcli` command from the crosh shell. Instead
of launching into a desktop environment.

Then I just startup a ssh server there. And head back to ChromeOS and SSH to
local host (the secure shell plugin is good for this). This means my chroot is
totally independent of any chromeos windows or crosh shells.

------
mrbill
For a moment I thought this was another April Fools joke.

------
jrockway
Love the use of the K-ON! chrome theme for the screenshot.

