Sunday, 7 September 2014

Chromixium Project - please test & volunteer

UPDATE: Chromixium Live ISO now available to download. Read on for more details.

DOWNLOAD: https://sourceforge.net/projects/theme-ix/files/Chromixium/

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:

WHY

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.

HOW

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.

WHEN

The alpha is already uploaded for initial testing:
https://sourceforge.net/projects/theme-ix/files/Chromixium/.

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.

WHO

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.

11 comments:

  1. Replies
    1. Got some traction over at chromeos: http://www.reddit.com/r/chromeos/comments/2h063c/just_found_this_chromixium_its_ubuntu_in_chromeos/

      Maybe head on over there and linux, get more people involved? x

      Delete
    2. Thanks for pointing me to that reddit feed - it's interesting how it's being picked up. I have raised a ticket with a work around for the installer issue in VirtualBox:
      https://sourceforge.net/p/theme-ix/tickets/

      Hope you enjoy your test. Gonna head over there now :)

      Delete
  2. Have you heard of EvolveOS? https://evolve-os.com/ Seems like a similar project. They developed their own desktop environment: Budgie. And it has an Ubuntu PPA. Maybe it would solve some of your problems? Or not. Depends on how lightweight it is.

    ReplyDelete
    Replies
    1. Yes I have and I do plan to check it out when I have chance. I initially wanted to stick with fairly tried and tested technology but the Budgie desktop looks to be coming along very nicely. The problem could arise if they go off in a different direction or stop production... hmmm........

      Delete
  3. Very interesting! I change distros every few months on an older machine and this is going on it tonight to try.

    ReplyDelete
  4. Wow! I'm impressed. I'll try to install it on my old Lenovo ThinkPad T400 tomorrow. I'll test it and let you know if I find any areas for improvement.

    Thanks for doing this! BRILLIANT best-of-both-worlds implementation!

    ReplyDelete
  5. @Ben and @themattness. I hope it tests out okay for you both. It's still a little rough in places, but I'm working on it all the time. If you any help, just shout :)

    ReplyDelete
    Replies
    1. A few apps don't like to stay "pinned" in the dock, but I have to say, for such an early release it's working very well and quite smoothly on an old Core2Duo with 4 gigs of ram. Is it safe to assume that the Bash bug everyone's talking about has/will have a fix come through with an apt-get update and an apt-get dist-upgrade? I'm not super savvy with command line work in linux.
      I can't seem to find an option to have the touchpad disabled while typing, as a matter of fact I can't seem to find much in the way of mouse adjustments, might be helpful in the future to add something. (If I'm an idiot and didn't find anything, don't mind me!)

      Delete
    2. I'm away from home at the moment but from memory I think lxinput might be what you require for your touchpad, and yes I should probably include it in the next release. You should be able to install it using Synaptic.

      I'm glad things are generally working but out of interest which apps won't stay pinned? There is an upstream update to plank which might help...

      The bash bug has been patched and re patched by Ubuntu and shouldn't pose a problem to desktop users as long as you've updated as you described.. It's more of a problem for unpatched web servers but I think we can assume most high profile sites will be patched now.

      Thanks for feeeding back :)

      Delete
    3. Ben, you need to install gpointing-device-settings from Synaptic. LXinput really doesn't cut the mustard. I'll put it on my to-do list for the next release :)

      Delete