Linux on the Web: Getting a handle on the files in the browser
linuxontheweb.github.io
linuxontheweb.github.io
Perhaps a screen recording showing how it works and how to install it?
> error { target: IDBOpenDBRequest, isTrusted: true, srcElement: IDBOpenDBRequest, eventPhase: 0, bubbles: true, cancelable: true, returnValue: true, defaultPrevented: false, composed: false, timeStamp: 387, … }
> <empty string> util.js:640:15
>
> Uncaught (in promise) ReferenceError: Y is not defined
> init https://linuxontheweb.github.io/sys/fs.js:199> An operating system (OS) is system software that manages computer hardware and software resources, and provides common services for computer programs.
The web browser certainly provides a broad base of hardware and software resources that could be managed to create common services for other apps to run atop.
Don't get too tripped up with limited modes of thinking, with applying only your model of what you know. An OS is an abstract idea: it doesn't have to be limited to a thing running on bare metal. And indeed, given the prevalence of data centers & hyperscalers, I'd wager a very sizable portion of OSes running today are virtualized, are guest OSes running on other host OS.
Is this the intended experience?
But the issue I needed to solve first has always been the one dealing with the purely local aspects of the system. People need to be convinced that this local system is as rock solid as all of the local native systems they're always working with.
That's not to say your system isn't interesting, it's that it's likely going to hit many of the same issues as previous approaches in this area (e.g. https://offlinefirst.org), and so you need to work out how to solve those issues.
(I assume this is in reference to the hand-coded html document entitled "What is Linux on the Web?" rather than the desktop environment itself.)
This doc helped me, basically my one stop shop for making text reflow and telling mobile browsers that they shouldn’t try to “fix it” for me: https://developer.mozilla.org/en-US/docs/Learn/CSS/CSS_layou...
But for what it’s worth, looks fine to me as is on iOS safari.
I think it could trivially enable all the micro-applications that people are constantly dreaming up... the kinds of things that are hidden away in all the various shell or python scripts across creation, as well as the little web apps all over github that just can't get any traction.
I think this could be a project to sort of unite all of those things under a common umbrella.
One thing that's fascinated me for a while has been the concept of rolling your own hardware that can plug directly into the web. (I know Chrome has had WebUSB and WebBluetooth enabled for some years now.)
And "plug directly into the web" how exactly? Elaborate. Do you mean using them locally, externally, magically? Something else?
The project seems decently interesting, but like a lot of other people, I'm seeing a lot of text but not really clear answers to very valid questions.
Having tried the thing, it seems best summarized - currently - as "This thing is a GUI, written in javascript, allowing a user to view and manipulate the contents of a browser's origin private file system (OPFS)."
Did I get it right?
Also, what, exactly, would be its use case(s)?
You seem to be of a similar generation to me (Gen X)? So like yourself I grew up through those halcyon days of ZX81s, VIC-20's, Amigas and so on, as well as various flavours of Unixen, and finally Linux these days. I just don't grok the relationship between the aforementioned word salad introduction, and whatever the usefulness of this Thing could be.
Perhaps the most important aspect of Linux is its ability to provide an interface between the low-level files sitting on a hard drive and the (C system call) application layer.
The main point of this project is currently the ability to provide a dependable interface between the low-level files sitting in the browser-managed sandbox and the (JS call) application layer.
Once people start getting comfortable with the idea that the files in their web browsers are as dependable as the files in their native systems, then we can start having more serious discussions about the exact use cases that might follow.
It'll have to involve an evolutionary process just like GNU/Linux itself experienced in the 1990's.
Like I've been using Linux for 20 years, you bet "like Linux" conjures up different ideas in my head than in for example my girlfriend's, she has mostly interacted with modern Linux DEs, never configured XFree86 in vim on a 15" CRT and has no fond memories of sysvinit.
Communication is tricky that way.
I’m struggling to see how a way to treat the browser cache as a file system is supposed to inject sanity into human communication.
Considering that there are things like jslinux (https://bellard.org/jslinux/) and other projects that actually run linux in a browser I think the name is bad.
I'd also say that I tried the demo and I'm not sure what I'm supposed to do with it. I know that the github readme said that it is not "about" the DE, but I don't really know what it's about besides that?
What does it actually do?
It should be pretty apparent that ours is a finite world, and there is going to need to be a hell of a lot of soul searching in order to figure out how to make this modern human experiment of ours actually work. So, it might help to think about looking at the web as the nervous system of the world. As long as there is nothing but blinding commercialism (bordering on sheer propaganda) traversing this nervous system, then it is hard to envision how our modern age can "end up" very well.
But if there can be a way to start injecting doses of sanity into the world's nervous system, then perhaps the younger generations will start being able to breathe easier when it comes to their long term prospects. In my opinion, there is a good possibility that getting people to start using the web under much more thoughtful and rational terms can only help matters.
Hacker News has itself been an interesting social experiment from a very successful capitalist enterprise. Perhaps it can start stimulating "real world" social experiments involving projects like Linux on the Web (or whatever the best name for it happens to be) so that we can all start turning the corner in terms of finding ways of life that can balance the needs of private things (like businesses) and public things (like human communities).
I get that you have a vision, but when I run the code you wrote it does something. That something is hopefully something you designed it to do. What is that something?