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 https://github.com/DustinBrett/daedalOS.git
$ 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 0.0.0.0:3000, 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
A desktop in JavaScript, quite interesting
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.