daedalOS – desktop environment in the web browser

A desktop environment is a collection of disparate components that integrate together. They bundle these components to provide a common graphical user interface with elements such as icons, toolbars, wallpapers, and desktop widgets. Additionally, most desktop environments include a set of integrated applications and utilities.

Desktop environments provide their own window manager, system software that controls the placement and appearance of windows within a windowing system. They also provide a file manager which organizes, lists, and locates files and directories. Other aspects include a background provider, a panel to provide a menu and display information, as well as a setting/configuration manager to customize the environment.

daedalOS takes a different approach to the traditional desktop environment such as GNOME and KDE. The aim of the daedalOS project is to make a web-based desktop environment that’s suitable for everyday use. It’s written in JavaScript.

Getting Started

We are going to run the software using yarn, a package manager that doubles down as project manager. You can also use a Docker image.

A fresh installation of Ubuntu 21.10 is missing yarn. We use npm to install yarn. npm is a package manager for JavaScript. npm is also not pre-installed with Ubuntu. Let’s therefore first install npm with the command:

$ sudo apt install npm

This command installs a whopping 193 packages.

We can now proceed and install yarn:

$ sudo npm install --global yarn

The next step is to clone the project’s repository and change into the project’s directory with the commands:

$ git clone
$ cd daedalOS

Now we can run our own copy of the desktop with the commands:

$ yarn && yarn build:fs && yarn dev

Output will include the line: ready – started server on, url: http://localhost:3000

Next page: Page 2 – In Operation / Summary

Pages in this article:
Page 1 – Introduction / Getting Started
Page 2 – In Operation / Summary


  1. This reminds me of an ancient project put out by a now-defunct company (Rocklyte) called Athene. It used a custom engine to power a GUI whose interface (and all programs for it) was written in a custom language based off of XML. The goal was to create an OS-independent operating environment, with “desktops” available for Linux and Windows. It didn’t succeed even though the project was cool as cucumbers. I ran the actual commercial Linux distro on a desktop and laptop since the desktop interfaces were so much faster than KDE or Gnome at the time.

Share your Thoughts

This site uses Akismet to reduce spam. Learn how your comment data is processed.