eyeOS Web-based Desktop OS

eyeOS is a web based desktop operating system. Despite its unusual deployment orientation, in many ways, it's a full desktop operating system, complete with file management and full applications that operate within draggable, resizable windows. As well as an overview of what the eyeOS 1.9 branch has to offer, I'll take you through what I did to install it on a Debian type operating system. Overall, I felt that it was a usable system and perhaps even a glimpse at what most computing is going to be like in the future.

I'll be concentrating on my experiences of setting up eyeOS 1.9 rather than the 2.x version that was launched earlier this year. I tried eyeOS 2.x on a couple of different set ups, but I kept running into the serious performance problems that are widely reported on the eyeOS forum by other people who have tried it. The 1.x series also has the advantage of having been considered stable for more than two years.


As I said before, eyeOS offers a complete desktop with a suite of applications in a system that can be accessed over a network such as a LAN or the Internet via a web browser. It's a system that can supply a fleet of networked computers with their application environment in a cloud set up, or it could be your own personal refuge when you are stuck using someone else's computer.

When investigating a system such as this, most people will wonder about the performance. As one would expect, application launch and execution speed are sometimes curtailed compared with a more conventional desktop operating system. Graphical operations are also hampered by the extra layer of abstraction imposed by the browser based interface. However, if you think about it, most of a typical working day isn't spent moving and resizing windows or launching applications, and once a given application is running, response to user input, particularly via the keyboard, is good.

So, what are the applications? Well, the default set up features a wide range of applications including a calendar, an RSS reader, an email client, a word processor, a spreadsheet, a contacts manager and others. The applications themselves are surprisingly well-featured, and I find myself wondering if what eyeOS offers might have been competitive with what full commercial software was offering not so long ago. The file management extends to the necessary facilities to upload and download your files.

The eyeOS word processor. Its feature set is impressive.

The window management is also surprisingly comprehensive. A task bar runs along the bottom of the screen. That's right, eyeOS is fully multi-tasking and can run more than one application at once, with overlapping, movable and resizeable windows. The mouse button brings up a context menu, as with most operating systems, and scroll wheel functionality is fully implemented. As technically impressive as the windowing system is, for a browser-based user interface, I find myself thinking that it may be overkill. I bet that most users will quickly get into the habit of maximizing all windows when actually working.

All in all, despite a few compromises, I was left with the impression that eyeOS is far from a mere proof of concept demonstration; this is something that could be used for serious work.


[update: See our guide to running a server in a VirtualBox VM. It's an aproach that works very well with eyeOS.]

To install eyeOS, you first need to prepare a web server platform that consists of Apache, PHP and a few other elements. Here's a method that installs everything you need onto a Debian box.

First, install the dependencies:

sudo apt-get install apache2 php5 php5-cgi php5-sqlite php5-imap libapache2-mod-python libapache2-mod-php5 libapache2-mod-perl2 apache2-mpm-prefork analog

Resetting the whole machine is probably the quickest way to restart any services that need it. Once you have done this, test the web server by pointing the browser towards the machine that you have just installed Apache to. So, for example, if you've installed it locally, point your browser to:

Hopefully, you'll be greeted with the standard Apache “It works!” message.

Now fetch the eyeOS 1.9 archive from the eyeOS website. Double check that you've grabbed the right file, as the download page prominently displays the 2.x download, which I found confusing. Once you have the zip file containing the eyeOS files, unpack it to your home directory. Rename the eyeOS directory to make it lower case, copy it into the default Apache web content directory and set the necessary permissions with:

mv eyeOS/ eyeos/
sudo mv eyeos/ /var/www/
sudo chmod 777 /var/www/eyeos/ -R

Now it's time to carry out the installation from the web interface. Begin by navigating to:

Fortunately, eyeOS does some fairly extensive checks when setting itself up. So, if you are missing a component that it needs, it will tell you and and you should be able to figure out what's missing with some guess work. Choose a password, wait a moment and navigate to the login page. In future, you log in by navigating to:

The eyeOS website.

Got a better way of doing this, run into difficulties installing it or prefer a different web based OS? Yell out in the comments and let us know.


UK based freelance writer Michael Reed writes about technology, retro computing, geek culture and gender politics.


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

why 1.9?

mesamoo's picture

Curious why you recommend the 1.9 version over 2.2 which is also a "stable" release.


masam's picture

I never really knew what "cloud computing" was or how to even attain it other than using paid methods. I found this to be a very awesome approach to being able to access what you need when you need from all over the world.

i did have some issues installing it (i had already had a LAMP server installed and custom tailored to my needs).

after installing all of the recommended packages, it left my www unusable. i had to uninstall the pre-reqs and just tried it without them. the only thing that it really complained about was the lack of mail services(understandable, this box doesnt use them).

beyond that, it seems to work really well.
I like that it structures your users in their individual folders, and that they offer this in a PHP/Java based solution.

Awesome job on this one!


Jackie's picture

I've used eyeOS a few times before, the first time I installed it I found it to be a little buggy, but my recent experience with it left me in awe. It's a pretty cool piece of technology that allows you to have your apps your docs on virtually any computer that can reach the Internet.

But what is the advantage of

Arek's picture

But what is the advantage of eyeOS comparing to remote desktop? RD can also be reached from any computer connected to the Internet with RD client.

using RD client: apps are

Anonymous's picture

using RD client: apps are running on the host
using eyeOS : apps are running on client browser

When thousands of clients are using, the difference is significant.

Apps are really running in

Ra's picture

Apps are really running in the browser? Java?
Is it not a LAMP stack? What is for the PHP layer, so?

Well, LAMP stack running on

Anonymous's picture

Well, LAMP stack running on the server is used to generate dynamic content, and content in a Web OS would be app codes+data downloaded to the browser for execution. Of course one would expect ajax apps to exchange data and even software components between client browser and server host during its usage. So basically I guess the apps are executed on the client computer on the browser platform, while these app codes are generated from the server running the web os.

Geek Guide
The DevOps Toolbox

Tools and Technologies for Scale and Reliability
by Linux Journal Editor Bill Childers

Get your free copy today

Sponsored by IBM

8 Signs You're Beyond Cron

Scheduling Crontabs With an Enterprise Scheduler
On Demand
Moderated by Linux Journal Contributor Mike Diehl

Sign up now

Sponsored by Skybot