Sunday, January 31, 2010

More desktops!!

Here's how some of my desktops look now:

Ubuntu 9.04 Jaunty Jackalope desktop



A bit of a KDE taste with this Mandriva 2010 desktop



And yet another Ubuntu 9.04 Jaunty Jackalope desktop



Hope you like them!

Show what you are using by posting in the comments section below!

Thursday, January 28, 2010

Bye, Gnome Network Manager Applet!!

I love Gnome, but I must admit its network manager applet is not the best I have seen. It lacks many basic, yet important features. For example, something as simple as refreshing the list of available wireless networks is not available, and I could not even find a manual (read command line tweaking) way to make it work after browsing the web for some time! In addition, it provides very limited information about the connections available, and its interface is not the most friendly ever.

If you are like me and could use a better network manager, say goodbye to Gnome network manager and say HI! to Wicd.

WICD is an opensource network manager that will make your life easier and hopefully get rid of some of your networking frustrations.

For Ubuntu users (versions 9.04 and above), you can get it from the repositories. For previous versions of Ubuntu, check the Wicd DOWNLOAD PAGE.

You can install Wicd using the package manager of your choice, but if you want to install it from the command line, type the following:

sudo apt-get install wicd

Once you install it and set it up, it will look something like this:



Note that the installation will remove the Gnome network applet!!!

Once the installation finishes, you will need to get Wicd configured, which is done via a very simple and intuitive interface. Before you do that, though, you may need to reboot your machine to get Wicd to properly start up.

So there you go, hope you enjoy using Wicd.

EDIT (29/01/2010): If you use Wicd on a USB drive installation and you boot from it on different PCs, as I do, you will need to change the interfaces used by Wicd to connect each time you switch to a different machine.

In other words, when you install Wicd, it will pick up the ethernet and wireless interfaces on that particular machine (e.g. eth1 and wlan1), but if you then run it in a different machine, those interfaces will change. Therefore, in order for it to work on that other machine, you will need to find out what those interfaces are labeled as and adjust the corresponding settings under the "preferences" menu in Wicd.

In order to find out which interfaces you should adjust Wicd to use, open a terminal and run the following command:

ifconfig -a

That will list the current interfaces in your computer, even those which are in disabled status. That command returns quite some information, but we are only looking for the ethernet and wireless labels, which will look along these lines:

eth3 Link encap:Ethernet direcciónHW...
wlan3 Link encap:Ethernet direcciónHW...

Then you would open the Wicd preferences menu and update the interfaces being used by the application, in this case eth3 and wlan3.

I am trying to figure out a way to do this automatically on startup, but haven't found where Wicd stores that interface information yet... Any ideas welcome!

Wednesday, January 27, 2010

DeVeDe Completely ROCKS!!!

DeVeDe is an awesome application which allows you to convert downloaded video formats (DIVX, MP4, etc) into an ISO image that you can burn to a CD or DVD, which you will of course be able to play on any standard DVD player.

Actually, that´s just scratching the surface, for DeVeDe will actually do lots more. For example, it allows you to add files to your project, such as subtitle tracks you may have downloaded along with a movie. It also creates chapters, so you can jump straight into whatever part you want to watch.

DeVeDe is in the repositories, To install it in Ubuntu do as follows:

sudo apt-get install devede

Or install it from your favorite GUI package manager. DeVeDe will now appear as another menu item under Applications > Sound and Video.

Please also visit the home page for this application HERE.

Enjoy!

Tuesday, January 26, 2010

Things to do after installing Ubuntu

These "things to do after installing distro of your choice" lists were one of the most useful things I found when I was starting to use Linux. Heck, it still is a great reference when installing Ubuntu or any other distro into one of my laptops! After some time, though, the usual happens: One starts to use his/her list based on one´s own set of preferences or needs, and so did I.

So I thought I would share what I am using now, hopefully helping others in the process! Note these examples are specific to Ubuntu 9.10 Karmic Koala!

NOTE: Most of the install/uninstall examples in this article can be run from a GUI application such as Synaptic or the Ubuntu Software Center. Having said so, I still think it is faster, quicker and easier to do it from the command line, so I will stick to that approach. If you haven´t tried running these commands from the command line, I would encourage you to. Not only it is very simple after overcoming the initial fears, but it is also a good way to get to know the shell!

INSTALL THE ESSENTIAL COMPILATION SOFTWARE

Even if you are not interested in developing, you may need these packages in order to install applications by compiling source code. Run the following:

sudo apt-get build-essential

INSTALL UBUNTU RESTRICTED REPOSITORIES

This will install some pieces of software that are not part of the standard Ubuntu installation. Among these, you may find certain Microsoft propietary fonts, various codecs, etc.

sudo aptitude install ubuntu-restricted-extra

INSTALL DVD SUPPORT & MEDIA CODECS

Unfortunately, some of the codecs required to read DVDs are propietary software, therefore not included in Ubuntu out of the box. In order to get your DVDs to play smoothly, do as follows:

Add the Medibuntu repository to your list:

sudo wget http://www.medibuntu.org/sources.list.d/karmic.list --output-document=/etc/apt/sources.list.d/medibuntu.list

Now let´s add the repository key:

sudo apt-get update && sudo apt-get install medibuntu-keyring && sudo apt-get update

And now we are ready to install the DVD libraries:

sudo apt-get install libdvdcss2 libdvdread4

As for the codecs:

sudo apt-get install w32codecs

These are also interesting:

sudo apt-get install non-free-codecs

INSTALL SUPPORT FOR JAVA APPLICATIONS

Pretty self explanatory:

sudo aptitude install sun-java6-fonts sun-java6-jre sun-java6-plugin

INSTALL WINE (Windows emulation layer)

If you are struggling because you can´t find a Linux equivalent to your most favorite Windows app, give WINE a try! This emulation layer makes it possible for many Windows applications to run in Linux. In fact, Wine has been deeply integrated into Ubuntu 9.10 Karmic Koala, so you will see your Windows applications listed in the Applications menu just as any other.

sudo apt-get install wine

My thoughts about WINE:

Please, understand that WINE is an emulator. While lots of applications have been proved to run
thanks to it, many still don´t, or require some know how. In addition, adding Windows apps into a Linux machine is not the greatest idea, and should only be done in very specific cases. If you really find no substitute for a specific application, I would recommend a dual setup, keeping windows for that specific application. You could also set up a virtual machine in Linux using VirtualBox and run Windows on it. This second option is not recommended for performance demanding applications.

INSTALL IM CLIENTS

This will really vary depending on your preferences. Here are some examples I use:

Install Pidgin

sudo apt-get install pidgin

Install aMsn (Windows MSN client clone)

sudo apt-get install amsn

Install emesene (Windows MSN client clone)

sudo apt-get install emesene

Uninstall empathy (should you not like it, as is the case for me)

sudo apt-get uninstall empathy

INSTALL DROID FONTS

This is probably one of the best addons you can get into Ubuntu, specifically in terms of look and feel. Both GNOME and KDE look a lot better when running Droid fonts in my opinion.

sudo apt-get install ttf-droid

INSTALL CHROMIUM BROWSER

If you like Google Chrome, I recommend you use Chromium instead. It is essentially the same code and functionality minus the PRIVACY ISSUES. Here´s how to install it:

Open your sources.list document...

sudo gedit /etc/apt/sources.list

... and add the following lines at the end:

deb http://ppa.launchpad.net/chromium-daily/ppa/ubuntu karmic main
deb-src http://ppa.launchpad.net/chromium-daily/ppa/ubuntu karmic main

Then save and close, update and install:

sudo apt-get update
sudo apt-get install chromium-browser

INSTALL ALTERNATIVE VIDEO PLAYERS

If you don´t like the preinstalled Totem, or want to try other video players, here are a couple of suggestions:

Install VLC player

sudo apt-get install vlc

Install Mplayer

sudo apt-get install smplayer

OTHERS

There are some applications that may benefit from downloading them straight from their websites. Main reason for that is that there is quite a rapid development going on, and certain distros won´t include an update until the next release is out. If you don´t want to wait 6 months, nor like to use development versions, you may like downloading your application from the official application site. Here are some examples of applications I install this way:

Songbird

As already posted in a previous blog entry, I love this music application. It looks awesome and plays great, and even if it is a bit slow, I think it is worth it. You can get it from their official SITE. In this case, you don´t even need an installation!

Skype


Once again, I think you may benefit from using the latest version, specially if your webcam was not detected in previous versions under Linux. Download it from their SITE.

Tweetdeck

My favorite twitter client. I have tried some community supported ones, like Gwibber or Qwit, but nothing like Tweetdeck. The downside is having to install Adobe AIR technology, but I think it is worth it, and there are some very interesting apps out there using this technology which you may also enjoy. Download it from their SITE

Cairo Dock bar

In my opinion, the best dock bar available for Linux. They have recently moved to Launchpad, so you can download it from there SITE. Keep in mind you will need to download the plugins package as well!

Compiz Desktop Effects

Compiz is a strange case for me, as I rather install it from the GUI, not sure why!! ;-)

Simply find Compiz and the compiz manager in Synaptic or the Software Center and install them!

SUMMARY

As you can see, this is by no means an exhaustive list. If anything, I am trying the opposite, as most of those lists try to show you everything available to install, so starters may end up with lots of software they do not even use or like in their computers!

I have tried to list here what I install to get a new machine going. I think it is more than enough for a standard user, and if you want something fancier, you probably know your way to get it!

Enjoy!

Thursday, January 21, 2010

Geany Text Editor PDF Manual

I recently read an article about GEANY, a great light yet powerful text editor that goes beyond what text editors do. It is perfect for programming and has a number of advanced features that make it very special. It is also great for just writing, specially if you don't like one of those heavy office suite editors. The following are some of the main features that make Geany special:

- Syntax highlighting
- Code folding
- Symbol name auto-completion
- Construct completion/snippets
- Auto-closing of XML and HTML tags
- Call tips
- Many supported filetypes including C, Java, PHP, HTML, Python, Perl, Pascal, etc.
- Symbol lists
- Code navigation
- Build system to compile and execute your code
- Simple project management
- Plugin interface

You can find some screenshots HERE.

Anyways, I liked it and wanted to find out how to get the best out of it. I found some great documentation in HTML format HERE, but if you are like me, you hate html manuals and html documentation in general...

So I decided I'd put it together into PDF format Doing it was very simple, but tedious. Basically, I saved the html manual locally, opened it with openoffice.org Writer and did all the formatting. Then exported it to PDF with its GREAT PDF export feature (leaps and bounds better than anything I have seen in Windows!!).

You can download the resulting manual HERE.

Hope you find this manual useful so you can learn and get the most out of Geany (I am trying!!!)

Wednesday, January 20, 2010

Try Google Chrome OS!!

...Or Chromium OS, for that matter. This is essentially the same code with just a few changes added. Here´s how you can quickly set up Chromium OS on a 1GB (minimum) USB drive from your Ubuntu desktop.

1.- Download the IMG file from HERE. Extract the compressed file contents into a location of your choice.

2.- Install USB-ImageWriter using Synaptic Package Manager (or any other installation method).

3.- Open USB ImageWriter from Main menu > Applications > Accesories.

4.- Simply select the location where you extracted the IMG file and the device it should write to.

5.- After a few minutes you have a bootable Chromium OS USB drive!

This is a great way to check Google Chrome OS out. I personally don´t like this computing model Google is proposing, but I agree it may be a good thing for people who exclusively browse the web and can get away with the limitations Google cloud computing apps suffer from.

Worth giving a try for fun!

NOTE: Thanks to hexxeh for the work he´s put into Chromium OS!

Sunday, January 17, 2010

Create your own battery monitor in Ubuntu with IBAM

If you use Ubuntu on a laptop, you may have noticed that its battery monitor applet is not the most believeable nor reliable application in the world. In my experience, I have seen the estimated remaining usage of my battery go from 2 to 3 hours, and then back, then to an hour and a half, etc. Obviously, I was surprised to see such behavior because I was using the same energy saving settings, not doing anything that could explain such random adjustments.

In fact, I am typing these lines from a dual setup laptop, running Windows XP and Ubuntu 9.10. It is even more noticeable with such setup, as I have seen quite significant differences from the estimations displayed on one OS and then the other one. I have to admit the Windows battery monitor seems to be more solid and reliable (although it should also be noted that the hardware it uses was built with Windows and Windows controlers in mind).

Anyways, I was trying to get myself a more reliable battery life estimation source, and I found it in IBAM. IBAM stands for Intelligent BAttery Monitor. Note that IBAM requires some time after it is installed before it can provide actual reliable information. This is because its estimations are based on statistical information, which it gathers over some time.

Anyways, let's see how to install IBAM:

IBAM is available from the Ubuntu repositories, so simply install it as you would with any package. If you choose to do it from the command line, type the following:

sudo apt-get install ibam

Now, let's see it in action. Open your terminal and run IBAM by typing:

ibam

In doing so, you will display IBAM with its default option, which simply shows the current system estimation and the adaptative estimation. As I mentioned before, the initial runs of this command may not be that accurate, so allow a few minutes for IBAM to do its profiling. If you want to see IBAM display all of the information it can provide, run it as follows:

ibam -a

This is interesting information; you can see if your BIOS clock is off and how far from the actual estimation.

However, I have to admit that having to open the terminal to check what's remaining of my battery life is a bit of a throw-off. I thought I'd quickly put together a very simple script to show this info straight from the UI. Here's how it looks like:



Cool stuff, huh? OK, here's how to do it, very simple.

1.- Create a new text file and edit it. I named mine "battery", and created it under my home directory:

gedit battery

2.- Enter the following text on the file and save it:

zenity --info --text "$(ibam -a)" &

3.- Setup a launcher so you can run this command with a simple click. This is down to personal preferences, so I won't cover how to do it. As you could see from the screenshot above, I added mine to Cairo Dock, but you could do so on the desktop, upper or lower pannel, etc.

That should do it, now you can see all of the interesting info displayed by IBAM with just a click!

Hope you found this useful!

Saturday, January 16, 2010

Backup your Ubuntu!

So you have spent some time setting up your Ubuntu Karmic, or even spent months or years working on your machine and don't know what to do to keep it safe? Or say you want to take a snapshot of your build? Or perhaps create a LiveCD or your own Distro? Well, say hi to Remastersys.

With Remastersys, you will be able to complete all of these tasks, and then some. Do as follows to install it on Ubuntu 9.10 Karmic Koala:

Open Software sources from System Menu > Administration. Click on the Other Software tab and add the following source:

deb http://www.geekconnection.org/remastersys/repository karmic/

Save and allow the automatic update to finish. Now open a terminal emulator and type:

sudo apt-get install remastersys

This application needs to be run from the command line as root, here are some examples that you can use to take advantage of its very cool and powerful features:

1) to make a livecd/dvd backup of your system

sudo remastersys backup

2) to make a livecd/dvd backup and call the iso custom.iso

sudo remastersys backup custom.iso

3) to clean up temporary files of remastersys

sudo remastersys clean

4) to make a distributable livecd/dvd of your system

sudo remastersys dist

5) to make a distributable livecd/dvd filesystem only

sudo remastersys dist cdfs

6) to make a distributable iso named custom.iso but only if the cdfs is already present

sudo remastersys dist iso custom.iso

Thanks to the guys at UbuntuGeek!

Friday, January 15, 2010

The Linux Command Line eBook

Finding Linux was a great experience for me. Aside from getting to know a great tool, I found the technical side of me having lots of fun again. I was being challenged to learn something new, to overcome issues I didn't know about, yet rewarded after finding each solution.

Slowly but surely I started to feel more comfortable using the command line, but I always felt I knew too little about it. If felt like this Pandora's box that would hold an immense amount of power, but I didn't know how to use it.

About a year after I started using Linux, I now feel like I can do my share of basic things from the command line, and the more I use it, the more I like it. I am starting to understand why advanced users have it in such high regard.

Anyways, as I was trying to teach myself more about the command line, I tried to find documentation and tutorials, mostly by searching the web. For the most part, I found information that was segmented, obsolete or simply explained by an expert for other experts. However, I ended up finding a fabulous Book that has made a big difference for me. It's entitled The Linux Command Line, and was written by William E. Shotts Jr.

I very much recommend and encourage you to VISIT HIS SITE, DOWNLOAD HIS BOOK, and if you enjoy it as I did, HELP HIM continue this great project.

NOTE: William, the author of this great book, was kind enough to drop by! He brought to my attention that this book can also be purchased as a printed copy. They are of very good quality, so go ahead and GET YOURS, I just did!!

Thanks!!

Tuesday, January 12, 2010

Little USB trick!

I just thought I would drop here a quick trick I learn today, which is specially handy in case you have issues with the speed of your USB pen drive (somewhat of a known issue in Ubuntu).

All hail the great hdparm command!

Well, first off, you need to know which device name your USB drive was mounted under. There are a number of ways to do this, but I find the df command specially convenient. From the command line type:

df

You should see something like this:

/dev/sda1 230582768 7128296 211741484 4% /
udev 1799044 344 1798700 1% /dev
none 1799044 852 1798192 1% /dev/shm
none 1799044 308 1798736 1% /var/run
none 1799044 0 1799044 0% /var/lock
none 1799044 0 1799044 0% /lib/init/rw
/dev/sdc1 976283280 198640624 777642656 21% /media/IomegaHDD
/dev/sdd1 15070264 8 15070256 1% /media/MiniMetal


As you can see from the last line, my device "MiniMetal" was mounted under /dev/sdd1.

Now just type the following:

sudo hdparm -tT /dev/sdd1

After a few seconds, you will get some interesting results:

/dev/sdd1:
Timing cached reads: 6268 MB in 2.00 seconds = 3137.77 MB/sec
Timing buffered disk reads: 94 MB in 3.01 seconds = 31.22 MB/sec


It is recommended to run this command a few times (three at least), with your PC as idle as possible. An average of the three results will give you a very close estimation of your actual speed.

If you own a USB 2.0 drive and are getting timing cached reads below 1500 MB/sec, you probably have issues. As far as I know, there is no permanent fix for such problem, but a working workaround would go as follows (from the command line, sudo may be required):

rmmod ehci_hcd
rmmod uhci_hcd
modprobe ehci_hcd
modprobe uhci_hcd


Hope you found this interesting and useful!

Tuesday, January 5, 2010

Linux sucks!!!... or maybe not?

I have found some interesting sources lately (references listed at the bottom) related to Linux shortcomings and flaws. The sources I refer to are not the typical bashing forum posts we all read every now and then by your typical frustrated Linux newbie or Windows/Mac fanboy, but actual, well-documented articles and presentations. I have learned a lot from them, so I wanted to discuss about this matter in general, and hopefully draw some attention to other Linux lovers about it.

EDIT: I have found that some of the entries under http://www.whylinuxsucks.org/ are not that well documented. However, there are still many interesting topics one can learn from.

To begin with, I must say I had mixed feelings when I first started reading or watching these articles or videos. I am obviously a Linux fan, and I am convinced it rocks, so it is not easy to face the fact that it may actually suck. Moreover, this is especially difficult when the authors behind the videos and articles are people you know are Linux devotees as well, and they know what they are talking about.

I guess there are several main areas most of people agree are still weak in Linux: Segregated distributions, Hardware support, Audio and video managers, fragmented packaging and applications. Let me briefly talk a bit about each.

SEGREGATED DISTRIBUTIONS

Let's face it, there are tons of distros available in the Linux world, perhaps too many. That argument is difficult to defend, though, as the very nature of open source is that it is free for everyone to use and modify. The essence and perhaps the beauty of this concept is however making the Linux environment so complex that it is getting tangled in its own reins.

This excessive variety makes matters too complicated in many fronts. From packaging to application support, it is definitely not helping make things better for us Linux users. A good example of this issue is found within most of the most popular distributions and their makers. Canonical, Mandriva, Fedora, OpenSuSE... All of them release different versions of their distro using different desktop managers, which at the same time include different applications, etc. Ubuntu, Kubuntu, Xubuntu and Edubuntu are some examples of how far Canonical has pushed this concept forward.

Potential solution

I think that some common ground should be agreed upon by the biggest distro makers, the ones that hold most of the Linux user base. That common ground would quickly become a standard that most other distros would follow. Naturally, distros not following that standard would always be welcome (after all, freedom is at the core of the Linux culture), but they would be more specific and more of a niche concept. In addition, I believe the biggest distros should simplify themselves and concentrate all their power into a single, more solid and better tested outcome. For example, I believe Canonical should drop all its distros except for Ubuntu. If they concentrated all their man power into a single version, all aspects of it would benefit from such approach. It would be better planned, designed, developed and tested, and they would be able to implement more of their targets faster.

HARDWARE SUPPORT

In my opinion, this problem is twofold. On the one hand, we have the many hardware manufactures who are not interested in supporting the open source community, so they don't release their drivers. The community is then left alone trying to close the gap, and they surprisingly do many times, but ideally a more solid and complete support would definitely make sense. Having said so, to make matters worse, we have the problem discussed in the section before, which makes hardware support even more difficult. Even if a manufacturer is interested in supporting Linux, how should they go about it? Should they support Debian based distros? Red Hat based distros? Out of those, which ones exactly?

On the other hand, we have the Linux Kernel and the way it is compiled, including sections that would perhaps be better left alone. This results in strange issues, like an old version of the kernel supporting a piece of hardware which is no longer supported on the next compilation.

Potential solution

For the first problem, we can only keep pushing manufacturers so that we raise awareness about the user base in the Linux community. It is obvious that these companies will not likely support Linux unless they see a potential return of investment, but we can make them see that many people using their products would like to do so under Linux. Contact the people behind the hardware piece which is not supported for you (if any) and make sure you state your interest for Linux support.

Unifying efforts within the community would make life easier for manufacturers as well. In addition, Kernel upgrades should be managed differently, with only core components being upgraded, and others left alone for a continued period, until a meaningful update is worth the change and consequent risk.

AUDIO AND VIDEO MANAGERS

This is a specific case related to the previous two items. Xorg is a very old implementation. It attempts to be compatible with very old video devices, while at the same time trying to support the latest cutting edge hardware. Its developers are doing a phenomenal job at it, but it clearly has its shortcomings. In fact, when a new release comes from one of the main distros, we very often see people complaining about video issues. It would be unfair to say Xorg is to blame, as this matter is heavily related to the lack of hardware support and the way the Kernel is compiled, but still there is something to it.

When it comes to audio, we have way too many implementations, and it seems each distro goes a different path. This not only makes it difficult in terms of functionality, but also for users to get some kind of consistency from one distro to another.

Potential solution

Fortunately, it seems Xorg is being completely rebuilt from scratch. I anticipate a bumpy ride when it is released, as is the case with any new solution, but eventually it will shine, I am sure. I can only encourage developers with experience in this field to join forces with the Xorg team.

As for audio, I believe we could also benefit from unity. It is nice to have choice available, but there should be a standard and then choice available for users. As Brian from the video below proposes, GStreamer would be a good way to start.

FRAGMENTED PACKAGING

Also related to some of the topics already discussed is the packaging fragmentation plaguing the Linux world. This is always a subject of argument between RPM and DEB followers, each pointing at the weaknesses of the other.

The result is an extremely different environment for any application attempting to spread across the Linux universe. OpenOffice and Skype download sites are good examples of this problem, with many different packages available, almost one for each of the most popular distros out there. As Brian also mentions, this overly complicated approach forces developers to dedicate lots of time to packaging, when they should be improving the software they are packaging for.

Potential solution

I can hardly believe there will ever be a settlement between RPM and DEB followers. As a result, why not point the strengths of each and create a common package which benefits from them?

APPLICATIONS

On this subject, I disagree with Brian for the most part. I agree that the Linux community lacks certain applications that are commonly available for Windows and Mac users, but in turn we also have many they don't. I suppose this is a matter of one's experience. When I joined the Linux world, I found everything I needed and then some, so I never had anything that was frustrating for me. I don't play games on my PC (that's what consoles are built for, right?), nor I do much video editing. I don't care about the minimal edge MS Office has got over OpenOffice either.

As far as I am concerned, I got everything I need, and for the most part, it works leaps and bounds better than it did in Windows. Songbird, Tweetdeck, Firefox, Google Chrome, OpenOffice, Brasero, K3B, Ardour, Hydrogen, Sound Converter, Virtual Box, TuxGuitar... The list goes on and on!

Potential solution

Well, like I said, while I understand where Brian is coming from, I still think the application environment in the Linux world is very healthy. We have tons of applications which rock, and it just keeps getting better. Ardour, to cite an example Brian mentions, is now getting twice as much money in terms of donations, providing a fair salary to its main developer, Paul.

LONG STORY SHORT...

The main benefit from this critical thinking is that I see the Linux community is far from resting on their laurels. We have accomplished A LOT, but it is great to see we are eager to push the envelope further. I firmly believe one learns and improves more when there are problems left to be solved.

In my honest opinion, Linux is a very young operating system. It is slowly but surely improving year after year, and I am sure it will continue down that path. Just a few years ago we were all experiencing problems with modems and USB devices, and for the most part those issues are long gone now.

As long as we identify what is missing (which clearly we have by judging from these sources), there will be a target for the community moving forward. In other words, I believe there is a shiny future for the Linux desktop. We just have to be patient and keep adding our two cents.

SOURCES

Many interesting discussions about this matter HERE

Watch this GREAT VIDEO by Brian from Jupiter Broadcasting. Very clear explanations and interesting discussions!

Hope you liked this entry.

I'd like to know your thoughts about this subject!

Saturday, January 2, 2010

Alternative USB installation

(QUICK EDIT: I have been noticing a significant improvement in overall battery life with this approach!!! Also, make sure you buy a USB drive with optimum throughput. In most cases these devices only advertise storage space, but some brands (usually the cheaper ones), have poor throughput capabilities. In my experience, using a USB 2.0 with powerful throughput capabilities makes it a seamless experience, I can't tell the difference from my usual hard drive!)

On a previous blog entry I discussed how you could setup a liveUSB to take Linux with you and be able to run it anywhere, anytime. However, as I used this setup more and more, I started to find things I didn't like about it.

A LiveUSB setup is exactly that, it allows you to install your choice of Linux distro any time, logs in straight into your live desktop without asking questions, and makes it convenient and easy to take a quick glance. However, due to its core nature, it has disadvantages should you want to use it (as I do) as a portable Linux setup.

In my case, the company I work for uses Windows and they have a global policy to encrypt local hard drives. As a result, a Wubi installation would not work. I didn't want to mess around with partitions and risk losing any work data, so I needed a solution that would be as little intrusive as possible. In fact, the perfect scenario would be to have an implementation of Linux that would not modify in any way the corporate build in my computer.

Some might ask why go through all this trouble? Well, I personally don't like Windows much, and pretty much use Linux exclusively for anything other than work. Therefore, when I travel and have spare time at the airport or the hotel, I enjoy having my Linux setup with me. I also use it when I have my work laptop at home. In any case, the concept is that I can use my work laptop for personal stuff not having to worry about modifying anything that administrators at work might have setup. In addition, there is a performance component to my rationale. Even though there is an obvious performance drag when using a USB drive as your main hard drive, it still performs much better than my work machine using Windows. The corporate build is so full of security policies and nonsense applications at startup that it is so awfully slow it is painful. Add firewall and anti-virus on top of that and it is plain depressing.

Anyways, the LiveUSB thingy seemed to be a great solution to all this. I tried Ubuntu and Fedora, but was not very happy with the end result. The LiveUSB setup is a bit special in that there is a lot of tweaking to it. There is a generic user account setup to automatically boot to which has full admin rights, no questions asked. This feature is perfect for the LiveUSB or LiveCD functionality, but terrible if you want your USB drive to act as a standard drive, holding personal information.

Obviously, if you lost your USB drive with that setup, anybody could simply plug it in and boot to a root type account, having immediate access to all your contents. I tried many things to overcome this security flaw, but nothing worked out. I even tried to create my own account and disable automatic booting into that generic account, but with no luck. Even if I logged out of that generic account and logged in as myself, the generic account would still be in use somehow.

I decided I needed a different setup, one that behaved exactly as my own local hard drive would. Achieving such setup was extremely easy in the end, but required a bit of trial and error.

All you need to do is boot to a LiveCD of your choice and install on your USB drive. However, as you may realise, there is one catch. If you did so with your local hard drive available the installer would detect it and try to set up a dual installation, modifying GRUB on your local hard drive. You obviously don't want that to happen, so simply disconnect your local hard drive(s) before you boot from the LiveCD and you will be good to go.

Now, that may sound difficult or dangerous in case you have not done it before, but it is not like that at all. If you own a laptop, chances are it is very easy. Simply make sure you disconnect your battery and AC plugs before removing your hard drive. While you are installing on your USB drive, make sure you place your hard drive on a static-free environment. If you have a desktop, you may get away with just unplugging the data and power cables from it.

I can now enjoy a true Linux install (Ubuntu 9.10 in my case) any time, and it works great!!

PS: Just for your reference, since I installed all applications I normally would in a standard PC (it trully is a desktop experience), it took about 5GB of space out of my 8GB USB drive. Depending on your needs, you may want to use a 16GB or larger drive.

Friday, January 1, 2010

Happy 2010!!!

2009 was a tough year, let's hope 2010 gives us something to smile for.

Happy new year!