
Show HN: Tux.io – a (now working) Linux desktop in your browser - christux
https://tux.io
======
Lerc
For a different (and incomplete) take on a Linux Desktop in the browser permit
me to plug my own project that I work on in my spare time.

[https://www.youtube.com/watch?v=7namj7iy16Y](https://www.youtube.com/watch?v=7namj7iy16Y)

[https://github.com/Lerc/notanos](https://github.com/Lerc/notanos)

This takes the approach of Still having Linux, but instead of transferring an
X display to the browser, the browser supplants X. Consequently X apps don't
run, but HTML/JS apps are really easy to make.

Connections are still made in a manner similar to X. A socket is available on
the Unix side which apps can connect to, which tunnels through an open
websocket connection.

~~~
drvortex
So basically, ChromeOS.

------
brudgers
In the terminal, Tux still ignores keystrokes that have meaning in Firefox
such as \\#h (switch tab left) and \\#l (switch tab right). See
[https://news.ycombinator.com/item?id=14077797](https://news.ycombinator.com/item?id=14077797)

~~~
throwanem
Are you using Pentadactyl, or something? Those are not stock Firefox
shortcuts. In any case, I'd investigate whatever addon provides them, to see
how they're implemented and why they're conflicting with whatever Tux.io is
doing to capture keystrokes.

~~~
brudgers
Looks like it is Firemacs and I've been using it so long that I never realized
those shortcuts were tied to it. Thanks.

~~~
throwanem
That looks nifty, but I'm hesitant at this point to try any addon that's not
e10s-compatible, since support will be going away soon and I'm not interested
in losing e10s in any case.

Does someone here know of something similar that works with the new API?

~~~
brudgers
The Firemacs repository looks fairly readable. I wonder what it would it takes
to make a project like this work with e10s.

[https://github.com/kazu-yamamoto/Firemacs](https://github.com/kazu-
yamamoto/Firemacs)

~~~
throwanem
Based on the API documentation, I think it could be done by combining a
content script to capture keystrokes and a background script to call browser
APIs that a content script can't access.

There'd be a number of edge cases to deal with, of course, and I'm sure
Firemacs already handles at least some of them. I'll take a closer look, as
soon as I can get Firefox to tell me what's "invalid" about the PoC extension
I'm hacking on, and load it so I can try it out.

------
realPubkey
Nice thing. Can I also stream the audio?

~~~
christux
Thanks and sorry, not yet. Email features@tux.io if you want this to be
considered for the road-map.

------
bmsleight_
This is very cool. Whats is the technology behind this ?

It feels like guacamole remote desktop
[https://guacamole.incubator.apache.org/](https://guacamole.incubator.apache.org/)

What is the tux password (sudo) ?

~~~
kabes
It runs noVNC, an HTML5 vnc client
[https://kanaka.github.io/noVNC/](https://kanaka.github.io/noVNC/)

It's really running VNC protocol over websockets, where guacamole has a custom
protocol.

------
fiatjaf
How come? This is not running in Javascript, is it?

~~~
phn
It seems to be a browser based VNC client connecting to a remote VM running
linux.

------
skanga
Is is possible to run this on my own hosts?

------
jlebrech
you should compile linux to Wasm and make the HTML side of things just render
the framebuffer.

