“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
Some gadgets are just hard to throw out. Perhaps you keep hanging on to them because you have this plan of “using them someday” for “some project”. Perhaps you keep hanging on to them because of nostalgia. Whatever reason you might choose, those geeky gadgets that keep occupying that box in your office aren’t getting any younger. Why not put them to good use ?
Lets take 2 items in MY junk-box as an example. An aging Asus EEE 701 Netbook PC that I have been hanging onto because of sentimental reasons. (I smuggled it in from the US way before these babies were available in Belgium) Its keyboard is broken and its low specs when it comes to storage, memory and cpu power aren’t helping it in finding something useful to do these days. The second item is my first 1tb external hard drive. I haven’t thrown this one out because its on my ‘for-some-project-some-day’ list. Its been on the list for 2 years now … So lets smash them together and turn them into a Remote backup solution using open source software and Bittorrent technology.
Step 1 : Turn the EEEpc into a headless server.
I downloaded the Image for Ubuntu’s ‘minimal installer’ off the net and have had it kicking around on an old USB stick for a while now. Because of its small footprint its ideal to do ‘light’ installations of Ubuntu because you can choose which components you want to install. I chose the ‘minimal Ubuntu server’ and the SSH server component. When the installation was complete I rebooted the laptop and hooked up the external USB drive (that I had formatted in one big FAT32 partition)
Step 2 : Install Webmin and mount the drive.
Because I was going to use my external hard drive to store my remote backups on (the EEEpc doesn’t have enough storage) I needed to be sure it was always mounted correctly if my little laptop should have to reboot. So instead of messing around with stuff like FStab config files I installed Webmin. (a Web-based interface to your Linux server). Using the ‘Disk and network file system’ menu I mounted the external drive into a folder called ‘backup drive’ that I had created in my home directory. This way I was sure that the external drive was always mounted correctly in the same folder.
Links : Howto install Webmin.
Step 3 : Install Bittorrent Sync.
Next up I installed a copy of Bittorrent Sync both on my local server and on the old eeePc. Following THIS tutorial lets you install Bittorrent Sync and configure the Web interface to be accessible from all over your network. (So make sure you choose a very secure administrator password). When installing Bittorrent sync this way, you are also sure the service always starts up when your computer reboots.
Links : Howto install Bittorrent sync.
After the installation was complete I surfed to the Bittorrent web interface of my home server (source system) in one tab, and to that of my EEEpc (remote destination system) on another one.
Step 4 : Share a folder on your Source system.
Now it was pretty smooth sailing. On the Bittorrent web interface of my SOURCE machine I made a bittorrent share of each folder I wanted to backup remotely. I right clicked “properties” once the folder was created and copied the ‘READ ONLY’ secret.
Step 5 : Enter the key for the shared folder on your remote destination system.
Next up I went to the tab of my ‘remote destination system’ and entered the READ ONLY key. I selected a folder on my external drive where the files needed to be synced towards. (in my /home/backupdrive/ directory)
Step 6 : Do the initial copy
After repeating the process above for all the folders I wanted to ‘sync remotely’ I just had to wait for the initial copy to complete. After that it was time to pickup the EEEpc and the External drive and bring them to their new (remote) home. I hooked the EEEpc up to the network, started up the machine and … that was that … headless remote backup solution done.
Because Bittorrent sync doesn’t care about open ports or anything I didn’t have to mess with the router on the remote end of my backup solution. There were no ports to forward and even a static IP was not required for the remote machine. Just connect it , fire it up and .. boom. Using the ‘read only’ secret is an insurance that changes to my files are only synced one way : From the source to the remote system (and never the other way around).
You can expand this setup (and increase the security at the remote end) by syncing over encrypted ZIP files. That way people can’t access the data should your system be compromised.
In the end its a great simple way to use an old system (you can even use an old laptop with a broken screen for this) and give it a new lease on life. The setup is simple, the interfaces are web based and the whole setup is perfect for a remote backup destination at your parents or in laws.
So secure your data and put those old clunkers back in action !
Dropbox changed its terms of service so they can give you data to the Feds if they just ask for it, Ubuntu shuts down the online fileservice “Ubuntu One” : Who can you trust these days ? The great thing with cloud solutions is that they are on a server far far away, most of them are free and you never have to maintain them. The downside is that they are on a server far far away, they are free and you cannot maintain them. We give up a certain level of control for the convenience of the cloud. It would be of course far nicer if you had a service that offered you all the luxury of the products mentioned above .. but gave you full control, absolute privacy and a completely controlled solution. (and free ! It has to be free).
Do not fear : Owncloud is here.
Owncloud is a self hosted cloud solution that gives you the luxury of the cloud in the privacy of your own home (or on your own hosted environment). Its a cross platform webservice that gives you the ability to store files in the “cloud” and access them from anywhere, Sync those files with your desktop (like Dropbox) You can share your files with friends and access them using mobile clients on Android and IOS devices or a simple browser window.
Don’t trust the cloud with your Calendar and contacts ? Owncloud takes care of that too. Manage your contacts and calendars straight from Owncloud or sync them up with your mobile devices using open standards like .vcard and caldav.
Tired of the tracks on Groovebox or spotify ? Would you like to stream your music (and movies) from your own hard drive at home ? Owncloud even has an answer for that. The built in media player lets you access your library from anywhere as long as you sport at least a browser (AND some underwear .. Owncloud is classy like that).
Want to tie all of your different cloud services together ? Owncloud supports connecting external storage to the service (like network and usb drives) but can also connect to Dropbox and Google Docs, offering ALL those files up in one simple interface.
So what does it take ?
Installing Owncloud is pretty simple. All you need is a linux server and you can choose to install Owncloud either from the repositories (if you are using Ubuntu or Debian) or you can go and download version 6 straight from their website.
Owncloud is based on a web based server so you can access everything from port 80 and add some security by choosing to go for https to do your authentication (highly recommended). You can run it on your server at home OR on a webspace you rented somewhere (or if you are really lucking on your own hosted server in some datacenter). You don’t need a lot of power, but Owncloud does need some ram and some cpu power if it is going to manage and index thousands of files for you.
So how do I do it.
- You can install owncloud directly from the repositories in Ubuntu.
- You can download a ready-to-go Virtual machine (or preinstalled ISO image) of Owncloud on Turnkey Linux.
- You can go to the Owncloud website to download and install the package yourself (and its THE place to get the Desktop client
Find out more.
In all , Owncloud is a very powerful solution when it comes to hosting stuff yourself. It has come a long way since version 6 and I have been a big fan of the convenience, the cross platform compatible-ness (is that a word ?) and the sheer power of integrating multiple storage locations (usb drives, network drives, cloud storage) to ONE single web interface. Try it .. you’ll be on cloud 9.
Knowing “how busy” your network card is on your Linux system can be very handy in a variety of occasions. You might want to see whats holding up traffic if you use your Linux box as a router, You might want to check how fast that download is going on your torrent machine, you might want to see the top speed you can get out of your workstation. In any case : Getting a quick and comprehensible readout of how many bits you are spewing is not always easy, especially if you are connecting via the command line.
Enter “Slurm” an app that does one thing and does it well. It gives you a graphical overview on how fast your system is up – and downloading data. This information is specified into your ‘real time data usage’, your average data usage, your amount of data received and transmitted. It also comes with a cool graph that, on a glance, gives you an idea on how busy your pipe is.
Slurm is easy to use ( and does not have a ton of command line switches) an can be run on different network cards at the same time. This is very handy if you ever want to see how fast your home-built router is blasting bits on both interfaces. Slurm is available by installing it from the command line on any ubuntu/debian based system via sudo apt-get install slurm . You can use Slurm by hitting slurm -i eth0 (eth0 or 1 being the name of the network card you want to monitor.)
Its time to dive back into the audio podcasting after your Double Topping of F.A.C.T.S. video coverage last week. This week we grill wiseguy Thor about his experiences with Elementary Linux, a Distro spin on good old Ubuntu 12.04 with stunning looks and a soft spot for the hardware impaired. Afterwards we give you a last echo of the F.A.C.T.S. event with an interview we did with the people of Brainfreeze about one of Belgium’s most popular Manga & Anime websites and talk a little about Thor and why it is I am unable to lift Thor’s hammer. We did have a little issue with the audio quality in the intro and outro of the show, so we hope you forgive us for this little blunder, it will all be fine next time .. We promise.
- Elementary OS
- Our coverage of F.A.C.T.S. (part 1 and part 2)
- The “Behind the scenes” on how we recorded this show (see if you can spot the mistake we made while recording the intro)