How to install Netflix on Ubuntu

Netflix LogoI’ve been using Netflix quite a bit recently. I started using the service a few months back and I really love it. There’s a huge variety of TV shows and films you can stream in full HD and goes damn well with my recently acquired 50 mbps Internet connection. 🙂

But I’m also a Linux user, and officially there is no support for Linux. This is despite the software working on other Linux based platforms, such as Android. However, there is a solution, or more accurately, a work around.

Erich Hoover has cleverly programmed and packaged a little application that usesthe Windows version of Firefox, via Wine to provide all the necessary requirements for the Netflix Silverlight player to run successfully in a Linux environment.

It’s awesome, and really easy to install in Ubuntu 12.04 due to Erich’s PPA repository.

Installing Netflix on Ubuntu 12.04

To install Netflix on Ubuntu, just follow the following steps.

  1. Open a terminal (CTRL + ALT + T), and enter the following commands.
  2. sudo apt-add-repository ppa:ehoover/compholio
  3. sudo apt-get update
  4. sudo apt-get install netflix-desktop

And that’s the main install. You can start Netflix by opening the Ubunty Dash (Super/Windows key) and searching for ‘Netflix Desktop’.

The first time the program is started, it will perform some initial download and set-up, which may take a few minutes dependent on the speed of your computer and Internet connection.

Once this is complete, you’ll be presented with the Netflix website running full screen, just login and begin watching! When you’re done, hit ALT + F4 to quite, or press F11 to switch from full screen to windowed and back again.

I hope this quick tutorial helping you install and run Netflix in Ubuntu 12.04!

Spotify for Linux (Native Preview Release)

Spotify for Linux iconAlthough this is old news, I should mention that Spotify is available for Linux natively.

I’ve written about Spotify on Linux before, however this focused on how to get Spotify links working in Linux, when utilising the the Windows version of Spotify via Wine (a Windows compatibility layer for Linux). As of mid July last year, Spotify for Linux is available natively, but is consider to be a ‘preview’ release. I would suggest this is because the Spotify gang do not wish to officially support Linux, but are likely well aware that there is an ever increasing number of Spotify users who are also using Linux as their primary operating system.

If you want to download Spotify for Linux (the preview release), then you’ll have to head to the Spotify’s secret labs page, add the repository and apt-get the file. It has been packaged for Debian, Ubuntu and Fedora.

About the cPanel apache_conf Distiller

WHM cPanel LogoI’ve recently had to make modifications to a WHM cPanel powered server which involved direct manipulation to the httpd.conf Apache configuration file.

Now, due to the managed element of WHM cPanel systems, it is very likely that any changes made to httpd.conf will be reverted after an automatic WHM cPanel update. To prevent your httpd.conf file being overwritten, you must make use of the cPanel Distiller.

After making your changes, run the distiller with the following command.

/usr/local/cpanel/bin/apache_conf_distiller --update

This will then ensure that your changes are integrated into the templates which WHM cPanel uses to regenerate the httpd.conf file after an automatic update.

I’ve tested this in CentOS specifically, but it should work in any other operating system, such as Red Hat.

How to SSH Tunnel with the Linux Command Line

How to SSH Tunnel with Linux Command LineSSH stands for secure shell and is an encrypted data transfer protocol which is commonly used for Linux server communication. Tunnelling, in the context of computer networking, is the act of creating a link between two systems with one protocol that encapsulates additional protocols within itself.

One of the most simple ways to set up an SSH Tunnel is to make use of the ssh command’s -D argument. This argument allows you to specific a port upon which to listen locally. This causes ssh to act as a local SOCKS proxy server, routing any traffic pointed at this local proxy through the SSH tunnel. More details about the -D argument of ssh is shown below in the form of an extract from ssh’s man page.

-D port

Specifies a local “dynamic” application-level port forwarding. This works by allocating a socket to listen to port on the local side, and whenever a connection is made to this port, the connection is forwarded over the secure channel, and the application protocol is then used to determine where to connect to from the remote machine. Currently the SOCKS4 and SOCKS5 protocols are supported, and ssh will act as a SOCKS server. Only root can forward privileged ports. Dynamic port forwardings can also be specified in the configuration file.

One of the simplest methods to set-up an SSH tunnel, is the following command in a Linux terminal.

ssh -D 8080 username@example.com

This connects to the computer at ‘example.com’ and attempts to authenticate as ‘username’, asking for a password if necessary. When authentication is successful, ssh will act as a SOCKS proxy server on port 8080 as defined in the command. All you then need to do is configure your software (for example, your web browser) to run through a SOCKS proxy at ‘localhost’ or ‘127.0.0.1’ on port 8080.

Additional information on SSH tunnelling is available from Wikipedia’s article on tunnelling protocols. Here’s an extract.

To set up an SSH tunnel, one configures an SSH client to forward a specified local port to a port on the remote machine. Once the SSH tunnel has been established, the user can connect to the specified local port to access the network service. The local port need not have the same port number as the remote port.

SSH tunnels provide a means to bypass firewalls that prohibit certain Internet services — so long as a site allows outgoing connections. For example, an organization may prohibit a user from accessing Internet web pages (port 80) directly without passing through the organization’s proxy filter (which provides the organization with a means of monitoring and controlling what the user sees through the web). But users may not wish to have their web traffic monitored or blocked by the organization’s proxy filter. If users can connect to an external SSH server, they can create an SSH tunnel to forward a given port on their local machine to port 80 on a remote web server. To access the remote web server users would point their browser to http://localhost/.

Some SSH clients support dynamic port forwarding that allows the user to create a SOCKS 4/5 proxy. In this case users can configure their applications to use their local SOCKS proxy server. This gives more flexibility than creating an SSH tunnel to a single port as previously described. SOCKS can free the user from the limitations of connecting only to a predefined remote port and server.

Hopefully this will help you set-up quick and easy SSH tunnels when you need them!

Google Chrome OS Raising Awareness of Open Source Software

The logo of Google Chrome OS

I’m quite highly anticipating the release of Google Chrome OS – Google’s net book and appliance cloud operating system. There are a few main reasons behind this.

Simplicity and Openness

Note that I combine the two here. It is very important that both software user friendliness is combined with the nature of free and open source software to prevent device and software simplification becoming a model for restricted development.

Apple do one of these well – simplicity. Apple products are almost always considered to be highly user-friendly and easy to use for all consumers, taking the iPhone and iPad as the latest examples within the consumer electronics market.

However, Apple has a very closed nature to their software models, especially with the iPhone and iPad, where all application acquisition is restricted to a specific Apple controlled ‘App. Store’ and all application developement is restricted to a Apple controlled SDK (software development kit) which is platforme restricted and incompatible with all platforms other than Apple’s own Mac OS X platform.

Promotion of Open Source Software

Since Google Chrome OS is to based upon a Linux kernel, and use many existing Linux systems, not only will this bring improvements to Linux operating systems as a whole due to Google’s code contributions, but additionally it will bring Linux and, more generally, open source software into the light.

The concepts of Linux and open source software are by no means yet the household names of Microsoft, Windows and Apple. Dependant on how Google Chrome OS is marketed by Google, this release could be a great boom for the promotion of Linux as a whole.

Zero Price Operating System

Since Google intends to release the operating system for free (zero price), it will likely also reduce the apparent worth of paid operating systems, such as the paid offerings by Microsoft (Windows) or Apple (Mac OS X). The increased use of web applications and the Internet to do many daily tasks makes Google Chrome OS perfect for the most common uses of computers today. For these tasks, alternative operating systems hold no significant advantages, whilst the advantages for Microsoft and Apple operating systems now lie specifically in the domain of platform restricted software packages, either in the desktop realm, such as Microsoft Office / Apple iWork or the server realm, such as Microsoft Exchange / Mac OS X server software packages.

Even then, with the growth of multi-platform, online productivity and collaboration tools, such as Google Docs, Google Calendar and Google Mail, these platform restricted ‘offline’ software packages may become redundant as more and more businesses and enterprises rely upon the Internet and cloud based applications and storage.

What do you think? Will Google Chrome OS be a boom for Linux, and will its competitors’ offerings be hurt significantly by its release?

Ubuntu 10.04 Lucid Lynx sees the release of Alpha 2

Ubuntu 10.04, currently in development, has hit the second alpha release. As a quite update, here are some of the features you can see in the Alpha 2 release of Ubuntu 10.04.

  • A new graphical boot screen manager called ‘Plymouth’ which is to replace the currently used xsplash and usplash boot screen systems.
  • The user menu and power/session locking menus have been split into two distinct icons, marking the first steps into the development of Ubuntu 10.04’s social networking features including the ‘Me Menu’.
  • Improvements in the manner in which restricted drivers are handled allows you to now have multiple nVidia graphics drivers of different versions installed simultaneously. Activating an individual driver is then only a matter of a few click and a restart.

In terms of application changes, the PiTiVi Video Editor has been added to allow home and professional users to perform various tasks to create new videos or editing existing ones. It comes with a variety of features including different video/audio effects, time-line management, dubbing and the like. A quick screenshot of the PiTiVi video editor is shown below.

PiTiVi video editor screenshot

Many of the existing default games in Ubuntu are planned to be replaced over the course of the development cycle for Lucid Lynx. gBrainy is the first new game to enter the scene, and is a brain training game, which is essentially a fun and extensible logic, memory and intelligence test. It resembles, it some ways, the brain training exercises and games for the Nintendo DS.

Rhythmbox Music Player, the default music playing application which ships with Ubuntu has seen some usability improvements in the way of a new application indicator. Application indicator’s are a new attempt to standardise and regulate the difference between notification and effective quick access menus for specific applications which require or desire interaction beyond the scope of their main application windows.

On a more heavily technical side, Alpha 2 of Ubuntu Lucid Lynx brings with it the complete removal of ‘hal’, the now legacy hardware abstraction layer. The removal of hal will allow for faster boot up, shut down and improved, speedier resuming from suspend and hibernation mode.

For additional details about Ubuntu 10.04 Lucid Lynx Alpha 2 and the changes it brings, see the official Ubuntu 10.04 Alpha 2 testing page.

Avatar film rendered with enormous Ubuntu server farm

Avatar Movie Ubuntu

It turns out that Avatar, the hugely successful science fiction epic film from James Cameron, was rendered using a huge Ubuntu rendering server farm, at Weta Digital.

Avatar Movie Ubuntu

The Weta Digital server farm or ‘rendering wall’, as they call it, has a disk array capable of storing roughly 2 petabytes of data in total. The individual servers are linked by a 10 gigabits per second networking infrastructure, and in total there are 35,000 cores based in over 4000 Hewlett Packard Blade servers. In the case of Avatar, each minute of rendering equates to approximately 17.28GB of data.

The system is entirely water-cooled, as traditional air and fan cooling systems are not sufficient during near deadline times, due to constant high load on the servers.The photograph below shows the enormous water cooling system cooling a portion of the server farm.

Weta Digital Water Cooled Servers
The high power server farm used to render many films computer generated imagery (including Avatar), shown with its advanced water cooling system.

According to Paul Gunn, a systems admistrator at Weta Digital, Ubuntu is at the core of almost all their systems. Ubuntu runs on all of their 3D rendering servers, and at least 90% of all their desktop systems. More detailed information about the Ubuntu powered rendering farm that rendered the CGI of Avatar is available from the Information Management and IT World websites.

New Indicator Applet & Messaging Menu for Ubuntu 10.04 Lucid Lynx

I previously discussed some of the new social networking aspects coming in Ubuntu 10.04. These mainly focus on the brand new Me Menu which is a personalised menu that holds and controls all your social networking and assists with broadcasting to microblogging services. Some related changes are the new changes to the indicator applet and attached messaging menu.

Currently, in the Ubuntu 9.10 (the latest stable version of Ubuntu), the indicator applet and messaging menu looks like the following screenshot taken from my computer.

Current Ubuntu Indicator Applet 0.1 and Messaging Menu

Looks relatively bland. It essentially list the current communication or social programs for instant messaging, microblogging, e-mailing and general social networking. It also list any recent communications, stating the user name of the contact you’ve spoken to recently (not shown in above screenshot). Many new improvements are planned for the next iteration of the messaging menu and indicator applet (currently at version 0.3). The following design mock up of the messaging menu emphasises the most important and visible changes for the end-user.

New Ubuntu Messaging Menu

As you can see, there is a lot more content in the new messaging menu. One of the important points is the ability to access certain programs actions directly. So, for example, if I wanted to send an e-mail to someone, I could just click the messaging menu and hit ‘Compose New Message’ which would very easily let me start writing and e-mail without the need to find my e-mail application, start it and locate the ‘compose new message’ button, which can easily vary in location and appearance between applications. By adding this action to the messaging menu, this has the effect of not only making the option easier to find, but also – potentially more importantly – it abstracts away the specifics of the application itself and draws the focus towards the user, their desire and their content.

In my opinion, application abstraction is very important. Most users do not wish to ‘use Evolution’ or ‘use Thunderbird’, they want to ‘check their e-mail’ or ‘compose a new e-mail’. Allowing them to do this regarding of the e-mail client they use reduces the learning curve significantly. The same principle applies to many other applications, including those outside of communications, such as productivity applications. Users tend to want to ‘create a new document’, ‘draw a picture’, and ‘check a budgeting spreadsheet’ rather than ‘open OpenOffice Write and create a blank OpenDocument Text file’, ‘open image editing software and create a new blank image’ and ‘open spreadsheet application and locate/open relevant file’. Even saying the specific non-abstracted alternatives takes a long time, but essentially the users content should be priority over the application itself in the vast majority of cases. One says that work is on a spreadsheet, an image or a document and not an Excel, GIMP or Writer file.

The new messaging menu brings on this concept of application abstraction with the instant messaging system. You can see in the second and third sections of the menu, instant messaging contacts and recent microblogging activity (mocked up as messages from ‘sabdfl’) are shown as independent of the application which controls them. In this case, it would be likely be Empathy (for instant messaging) and Gwibber (for microblogging) that controlled these sections, but note the application name itself in not even mentioned, as it is not relevant to the actual social actions, which again demonstrates abstraction away from the specific applications and a focus on user content.

The final two sections indicate e-mail notification from GMail and IRC conversations with XChat. In these cases, definitely so with the GMail e-mail notifications, it is relevant to display the application name as this is an important part of the relevant content itself (the e-mail account).

Hope this quite summary gives you a good idea of what changes are coming to the messaging menu and its attached indicator applet in Ubuntu 10.04. More information is available about the new messaging menu at its design specification while these is additional information about the new indicator applet available on the applet’s Lauchpad pages.

What are your opinions on the new messaging menu? Will it affect your social use of Ubuntu? Will it affect your work flow? If so, how?

Ubuntu 10.04 Lucid Lynx’s Social Networking Features

Social media and social networking are huge now-a-days, with Twitter, Facebook and the like being hugely successful at keeping friends and family in touch. Now only that, but social networks are huge for charities, with many causes being supported and heavily promoted via social networking. Corporations and business use social networking too to promote their products and services to users in a manner which is so relevant that they tend not to annoy as is generally the case with more corporate advertising.

With the currently in development, Ubuntu 10.04, codenamed Lucid Lynx, the development road map is set to take huge advantage of the major social networks. Common social networking actions, such as updating your Facebook status, or sending a Tweet to your friends are set to be integrated directly into the operating system allowing users to keep their friends up-to-date and share information without the need to even open a web browser.

Take a look at the image below. This is a basic mock-up of the new social menu codenamed the ‘Me Menu’, which is aimed to become to a simple, centralised way to manage your social activities. It has options for a user avatar, multiple social networks, instant messaging and microblogging services and the setting and broadcast of custom and preset statuses and microblogs.

Ubuntu Me Menu Mockup

This clever menu will link into other social applications, like your instance messaging application. In others words, you set your status in the me menu, and the update is reflected automatically in all your social networks and configured social applications. Related to this, in the diagram above, ‘Chat Accounts…’ will refer to all forms of instant messaging and direct communications, while ‘Broadcast Accounts’ will refer to social networks which allow you to share a status update such as Twitter, Facebook and identi.ca.

The Ubuntu One service will also be integrated into the Me Menu and Ubuntu’s new social infrastructure. This will allow social network information to be synchronised and related to your Ubuntu One login, along with the existing file synchronisation, contact management and note synchronisation services already offered by Ubuntu One.

The Me Menu will be the overall representation of ‘you’ within Ubuntu. If you want more information regarding the Me Menu, which is to become the central social network integrations of Ubuntu, you can take a look at the design specification.

Google Chrome OS – A Simple Explanation

Google have released a very simple explanatory video, aimed at new computer users, detailing their new operating system which is focused around the Google Chrome web browser. If you’ve ever needed to ask, what is the difference between Google Chrome OS and Google Chrome, this video explains the answer in the simplest manner possible.

Google Chrome OS is a basic operating system built upon the Linux kernel. It uses a custom graphical user interface which is based around Google’s very fast web browser, Google Chrome. It does away with most of the regular operating system and application usage paradigms and focuses primarily on the web browser and therefore Google’s primary domains in the computer software marketplace, search and web applications.

This new operating system is initially designed to run on net book style hardware. Google have been in talks with a large variety of hardware companies and aim to have Google Chrome OS powered computers released to consumers before the end of 2010.

As emphasised in the video, Google Chrome OS is designed to almost exclusively utilise web applications and thus almost all data, excluding locally stored caches, is held on the Internet, thus promoting the use of cloud computing for data storage. With Google Mail, Google Docs and Google Calendar, Google already has a formidable cloud based productivity suite in the form of  web applications.

It will be very interesting to see how well the open-source Google Chrome OS does and how it helps in the general promotion of alternative open-source operating systems as a whole.

What do you think? Is Google Chrome OS good for Linux?