For a while now I've been working on a new Linux project with the working title Chromixium:
The idea: to create a ChromeOS/ChromiumOS-like experience using conventional Linux desktop technologies... and I am putting a call out for volunteers.
Disclaimer: if you do not approve of Google, do not read any further, this project is not for you.
Here's the why, how, when and who:
As an Android user for some years, I spend most of my time using Google's services. I have an Android phone and tablet - I use Gmail, Google Calendar, Blogger, Google Keep, Drive and a range of Chrome extensions on my laptop and similar apps on my tablet and phone. Chromebooks have been a growth area over the last 2 years. ChromeOS and its open source counter-part ChromiumOS are interesting operating systems and cheap way of owning a new laptop, but they are not without their drawbacks.
Chromebooks have very limited local storage and limited offline abilities. You are restricted to Chrome + extensions, no other software can be loaded. And of course, you must buy a Chromebook to use the operating system. It is possible to install ChromiumOS on a conventional laptop, but it isn't an easy experience and requires a lot of tweaking to enable simple things like flash, PDF support and Google Drive integration.
On the other hand, unless I perform a minimal installation of say Debian or Ubuntu, desktop Linux is shipping with too much bloat for my needs and few distributions are shipping Chromium as the default browser. I also find the default interface of ChromeOS uncluttered, yet modern and pretty.
By taking a modular approach, I intend to create an installable system that matches as best as possible the appearance and usability of ChromeOS. Since I want it be a modern OS with a consistent interface, I will be aiming to use mostly GTK3 applications. The operating system has to be light on resources. One of the aims has to be to help users create Chromebooks from old laptops. It has to overcome the limitations of current Chromebooks and allow access to local storage and applications. It has to boot up and shut down fast. Above all it should feel integrated and all files should be managed by one application.
I have been steadily building up such a system in VirtualBox based on the following:
- Ubuntu 14.04 LTS kernel and repositories (though this may change to Debian Jessie in future)
- Upstart - for quick bootup (may change to Systemd in future)
- Openbox - window manager with XFCE menu plugin
- Synaptic package manager - to allow installation of local applications
- Plank + Compton - provides the Chrome Ash style dock with transparency
- LXPanel - provides system notification area
- LightDM login manager
- Chromium browser + pepperflash plugin + pdfviewer extension
- Chrome app launcher
- Nautilus (Files)
- Parole media player - latest GTK3 version
- Wicd network manager
- Le3fpad text editor, GPicView photo viewer, Catfish file search
- Systemback for live ISO creation and installation
- A collection of bespoke scripts.
One of the important concepts of Chromebooks is that they are self updating. I hope to achieve a similar system using unattended upgrades.
The alpha is already uploaded for initial testing:
The live ISO can be installed to hard disk or can be used to create a live & persistent USB install. It is pre-configured with VirtualBox guest additions.
The current ISO is a bit hefty at 900MB but this is mostly due to the high-res Chrome backgrounds that I have included. They really are quite stunning!
After some initial testing I would want to get a beta out for wider public testing by November and a final release by late 2014/early 2015.
I can do it on my own, but I would much prefer it to build a small team to bounce ideas off. I am not a Linux guru, but I have experience of developing small scale distros/re-spins. I do them my way, but I know there are technically better ways to do things. I can write custom scripts, but I am no coder. I have enthusiasm for Linux projects, but I would love to share that with others.
How can you help?
- By offering to discuss the pros and cons of the project, best base system and applications.
- By offering to be an early tester and reporting back.
- By offering to help with any technical skills you might have. And I mean anything and these can be very specific.
- By offering to help with hosting or website design. Although this isn't terribly necessary at this stage in the project, it will still be most welcome.
Of course it might be that nobody is interested, but I hope enough will be to take this project forward and get it out to the masses! Please leave your comments here at the end of this post and if needs be, I'll set up a forum or Google Groups page to continue the discussion.