Merging your operating systems.Feb 06
“I run operating system X, I prefer distribution Y, I like desktop interface Y better” I’ve heard the discussions over and over again. Sometimes people stick to their guns and defend their choice, other times people hop around from OS to OS or from Linux distro to Linux distro just because they want thingie X that isn’t available in Distro Y.
The question is : Why do we still need to choose ? If we can train our digital workflows to be operating system independent, why can”t we take it one step further and instead of ‘choosing’ our operating system .. why not design it ourselves ?
The question came up when I got back from a visit to Fossdem this week (Belgians largest open source conference with attendees and speakers from all over the world). Seeing all these pretty Linux distributions and the powerful stuff you can do with them made me all eager to take the plunge once again and go “Full Linux” for a while. I slide from OS to OS (My main workhorse is a Mac, my traveling companion is a Chromebook that has Ubuntu on the side, my desktop runs Linux Mint and I have a Surface Pro running Windows 10). Lately I have been having hours of fun playing around with the Chromebook. Its simple operating system charms me into using it quite often. Its clutter free, not a lot of distractions and I like its simple elegance. However it is limited. Some things just don’t work on Chrome, but luckily for the Chromebook I can just ‘sidestep’ into the Ubuntu version I’ve installed via Crouton.
Hopping from OS to OS at the press of a button is a joy, however, since Ubuntu uses the same Root kernel Chrome OS does .. Some features are missing. (No iPTables means no way to use Sshuttle, my favorite vpn client) The other downsides from working on the Chromebook are its limited storage (16 gigs divided between Ubuntu and Chrome OS) and the low quality screen. I love working with the little machine when i’m on the road .. but it has its limits.
Meanwhile my super powerful Macbook Pro sits by the wayside, waiting patiently until I have a new task for it to do. (I do most of my audio and video production on my Mac and it IS the main machine for my business so tinkering with it is just not done). A bit of a shame really.
Side by side.
As I was once again working on both machines side-by-side this week, I wistfully thought : How cool would it be to have the power and screen size of the mac, the simplicity of the Chrome OS and the power of Linux rolled into one machine while still having the option to “slide” back and forth between the operating systems at a whim…
Sure, I could dual boot my Macbook pro with some flavor of Linux but that would violate one of my basic principles : My Mac is my work machine, my livelihood .. so excessive tinkering that might harm the OS or the data on the machine is NOT done. Furthermore, since the latest upgrade to OSX Yosemite, dual booting has become a lot more complicated. So the alternative was easy : Using a virtual machine. With plenty of Ram and an SSD drive I would have not trouble throwing some Gig’s and a few cores at my Linux distro of choice and run one on top of the other.
So what to choose ? Choosing your distro is always hard. And in my case I wanted something very specific. I wanted the distro to have a light graphical user interface (I don’t like clutter + I wanted it to be sharp and snappy so I didn’t get the feeling I was running a VM. On the other side I also wanted it to look like Chrome OS. So what to choose ?
Chromixium : A great distro that I found out there that does just that is Chromixium. Basically its a re-build of Chrome OS but using the open source version of the Chrome browser : Chromium. The Chrome-OS look and feel is done by heavily modifying an E17 interface and adding a plank dock. The operating system is light, elegant and well done. The great thing is : Where Chrome OS Stops, Chromixium go on. Instead of running on a shared Linux Kernel (like the Ubuntu installs in Chrome OS via Crouton) Chromixium is pure Ubuntu under the hood. That means : A terminal and access to the software center. Install whatever you please !
Looks like Chrome, Feels like Linux, Runs on a Mac.
So after I installed my favorite Linux applications (both Command line versions and actual apps) I have “morphed” my Chromixium into something that looks like Chrome OS but has the full power (and applications) of Ubuntu available at my fingertips. So now to get it to play nice with my Mac. In order for the Chromixium VM to be able to use the full resolution of my Retina display I made sure to assign it at least 32 meg of video memory in the Virtualbox control panel. I also assigned 2 cores and 4 gigs of ram. Next up it was time to install the Virtualbox Add ons into the guest operating system (Chromixium) to let it use the full resolution.
The actual resolution of a 15 inc Retina Macbook Pro is 2650 by 1600 and I was puzzled why, no matter how I tried, I could not get my Chromixium VM up to that exact resolution when I put it in full screen mode. Turns out that this is actually impossible. The retina resolution is no longer tied to the actual resolution of your display. So you can “scale” the actual resolution of your desktop to ‘appear’ a certain resolution that is actually being ‘mapped’ on the actual resolution of your display. To make a long story short : I went into my Macs system preferences and set the host resolution of my system to a setting that “looked” like 1920 by 1200 and when I set my VM to fullscreen I saw that THAT was the actual ‘physical’ resolution the VM recognized.
So in the end I’m running an OS that is a mutated version of Chrome OS and that I have pimped out with a lot of “standard” Ubuntu applications ON TOP of my Yosemite install on my Macbook pro. It gives me the best of both worlds. The look and feel of Chrome OS , the power of the cloud (Both Chrome and Chromium can sync with my Google account and all settings, plugins and extensions are carried over between my Chromixium os, my Mac and my Chromebook) To power it all I have my Retina-display I7 Macbook pro and due to the fact this is a VM , I can easily make snapshots I can roll back to should something go wrong. I’ve already cloned the Virtual machine to my home server so I can access it remotely (via RDP) should I need to.
Tie in a couple of SSH connections and applications running on some of my other (remote) virtual machines and pretty soon I am having a hard time keeping track of what OS I’m actually using. And that is the whole point. The operating system needs to become abstract. A software layer that provides a you with the means to get things done. It is not there to be adored, it is not there to be fought over, its not there to make you choose.. its there to help you get stuff done .. regardless of what OS you choose…
Links : Chromixium