Notice:

This page is in perpetual change as I get valuable input from the community and bugs get fixed, new workarounds are found, etc...

You can follow discussions about my problems on ubuntuforums.

This text is about my disastrous experience with Ubuntu 14.04 LTS Trusty Thar using Unity 7 as the desktop environment. With this article, I hope to start a debate about the numerous bugs that together, seriously hampers the desktop experience in Ubuntu (and Linux in general).

Since in this day of ages we want to read quickly through articles, I will go straight to the point and keep the main story short. If you are curious about details, impacts and workarounds, just click on the numerous links. You can read about my setup (Lenovo W510 certified for Ubuntu 12.04) and FLOSS position.

Already in my first week of using Ubuntu 14.04, I had my share of bugs. I freshly installed Ubuntu 14.04 over my partition containing Ubuntu 12.04. I used XFCE (Unity was too buggy) with 12.04 but now use Unity 7 with 14.04. First, I tried to set the brightness of my screen, but that was not working anymore. It used to work well under Ubuntu 12.04.

I use my laptop in the bus and the subway everyday. Thus, I suspend and resume often. Lots of stuff breaks when suspending in Ubuntu. It used to work flawlessly before. Networking fails completely. No more wifi connections show up; the Network manager needs to be restarted from the CLI. Black borders show up around windows, double login is bothersome and disallow other users to login, bad redraw on some desktop elements, and the system crashes when using the Nouveau driver.

Wanting to transfer files in the bus between my Android smartphone and my Ubuntu laptop, I found out that the Bluetooth identity is hardcoded to 'ubuntu-0' and cannot be changed. What is one supposed to do if there are more than one Ubuntu computer in range? If I recall correctly, it used to be the hostname under Ubuntu 12.04 LTS. Well, not surprising, there was no conflict with another Ubuntu laptop in the bus, so I tried to transfer files anyhow, but that systematically failed. Turns out that Bluetooth file transfer is totally broken.

Which bring me to the following question. If Bluetooth is so broken in Ubuntu, how does it work in Ubuntu touch? I have not tried any Ubuntu phone, but I cannot imagine that Bluetooth is broken on these platform. Bluetooth is essential for the smartphone experience. And if Bluetooth works on Ubuntu smartphone, why isn't the working stack ported to the desktop?

To work around my Bluetooth problem, I connected my Android smartphone with a cable (lucky me, I had one in the bus) to work around the broken Bluetooth. I was performing operations on my Android and generating files, but they would never show up in Nautilus, the folder viewer. I found out that refresh would not work under MTP.

Another time I tried to used a USB stick. Pretty basic operation we all expect to work on any OS. Yet, Nautilus reported that my USB stick is read only when it is not.

As pretty much anybody else, I use Wifi all the time on my laptop. But alas, the network indicator is buggy and repeats about 50 times the same error in the selection window, making it hard to select a proper hot spot.

Once, after upgrading my Linux kernel and rebooting your computer (normal LTS maintenance), the graphical interface would not work anymore. This affects a lot of users with over 2500 reports.

Linux is supposed to be secure, at least more than other OSs. Yet, following are two important shortcomings: desktop contents displayed on resume, before lock screen is shown (I see this often) and why screen lockers on x11 cannot be secure (happens to me once in a while if a let my laptop open with a menu selected).

I use the static switcher plugin to be able to switch between windows the traditional way ([ALT][TAB]). But it is often hard to see clearly the selection. lso, One cannot call a new instance of an application and have its window brought to the foreground automatically

Here are a few other problems I encountered:
vlc hanging, spitting out in loop 'too many jobstotal jobs = 100,', caused by the upnp library, Drawers not working, Gthumb is slow and some features that existed before are missing

Recently (May 2015), a few times after I resume from suspend, the whole X11 stack crashes and restarts. Not sure if X11, the NVIDIA proprietary driver or gnome-session is too blame. Of course, Linux is stable and the OS itself did not come down, but a user would still loose all the work (but that is not my case because I save often; one has to under Ubuntu).

If the desktop environment stack does not crash upon resume, it freezes once in a while. The screen is black. Sometimes the mouse pointer shows up and you can move it, sometimes not. Trying to switch to a console does not work ([CTRL][ALT][Fx]). Nothing more can be done and the only way to get out of all this situation is to force a hardware shutdown.

A few times, my sound card stop being recognized. VNC viewer (Vinagre) is not showing the control bar when fullscreen (cannot easily get out of fullscreen).

Remember Clippy from Windows? Ubuntu has a buddy also, named Buggy... he is very friendly; he will visit you at least once a day.

Clippy Buggy

Clippy and Buggy

I must say, Clippy was a better companion than Buggy. When Buggy appears, he (actually named 'apport') takes 100% CPU on a core for minutes, killing my battery.

Some bugs I have simply not had the time yet to investigate and report. For one, I tried to share a folder with Nautilus, but I had to use the terminal to setup the Samba password. Overlay scrollbars are not working properly, often not showing when solicited. They are particularly a problem with Gthumb and Glade where often the scrollbar goes to the end, but the list of item is not; one must play with the scrollbar up and down to get to the last items or use the cursor keys to get to them.

Just recently, I had a problem with mediascanner-2.0. After reshuffling my music on my hard drive, started to crash, but not before using up 100% CPU for a while. Once it crashed, Buggy (apport) would kick in and use of 100% CPU for minutes. One completed, mediascanner-2.0 would respawn and use 100% CPU before craching again. You understand the cycle, and what it does to my battery's lifespan. I had to search the web and found instructions on how to disable mediascanner-2.0 from the CLI. No consumer would have been able to do this. No more mediascanner for me.

I had also the case where immediately after resuming, the system would go back to sleep. A month later I finally figured out why. My laptop was configured so that putting down the lid put the laptop to sleep. Not sure if this is the default behavior in Ubuntu 14.04 or I have set it and forgot about it. But when I was running Ubuntu 12.04, it was not configured this way, so I took the habit to [Fn][F4] (laptop sleep function) before closing the lid. Since in Ubuntu 14.04, I was not aware of the configuration, I would [Fn][F4] then close the lid. That sent two sleep signals to the operating system. The first one accomplished its work and the laptop went to sleep. When resuming, the second signal continued its course and put back the laptop to sleep. Obviously, the fix would be that the operating system ignore any sleep signal if one is currently being processed.

Also, if I suspend my laptop when my battery is critically low, then plug in the charger and fill the battery, next time I resume the laptop the operating system shuts down. It remembered that it was critically low and decide to proceed, despite having a full battery or even being directly powered. I simple line of code checking the actual state of the battery could avoid this.

Usability is a big issue. I dumped Fedora for Ubuntu around 2008 when Wifi became popular and ubiquitous, and Fedora required me to connect to hot spots using the CLI while Ubuntu had a nice, modern GUI based interface such as we are all used to now. Another reason I switch was the Long Term Support (LTS) version of Ubuntu; no need to reinstall my OS every 9 months anymore.

Some are simple usability issues. You want to associate a file extension with a particular application? Searching for "associate", "extension" or "mime" in the dash returns nothing. How can a consumer figure that out?

Sometimes, even after a fresh reboot, desktop icons do not show up. They return after a suspend/resume cycle.

When they show up, desktop icons are associates with the size of the icons used within Nautilus, the folder manager. Go to Nautilus preferences, set the icons to 200% and notice that the icons on the desktop are also now showing at 200%.

The letters are too small in Nautilus to read on your HD 15" laptop screen? Well if you zoom, only the icons get bigger; text size remains the same.

You want to have the latest desktop applications? You can reinstall your OS every 6 months or add a bazillion PPAs, one for each application. Most of the PPAs suggest to use CLI commands to install them; there are no easy, practical GUI solution. And upgrading to the latest, non LTS version is not an option knowing that too often, a non LTS release is at best, a testing platform for Canonical.

Most of the bugs I listed in this article occur 60% of the time or more. They are "in your face", occur often, many daily, and break the work flow. If at least they occurred once in a blue moon, I would not mind that much. But I hit at least 6 or 8 times per day one of these bugs (Buggy shows up for some of them), some of which are very annoying. I have to reboot or my system crashes about every other day.

Any non particular FLOSS advocate in there right might would have long time switched to Windows or Mac. The first condition for an OS to become successful is that it should stand up on its own. You should be able to get work going without any distractions and without fighting the operating system. Never mind hardware and Microsoft compatibility; Ubuntu 14.04 is a pain to use even if you have the proper hardware and work within the FLOSS world. It is definitely not ready for consumers. The list of problems I suffer from is probably the reason why so many Linux users migrated to other proprietary platforms in recent years.

If I wrote this blog, it is because I love Linux and I want it to succeed on the desktop. I do want it, yet, Canonical which is the premier company pushing Linux on the desktop and the most likely to succeed, has released a version which has far too many shortcomings to be taken seriously.

Of course, one can state that Canonical cannot be responsible for all the code that makes Ubuntu what it is, since it is built by many contributers and not by its own staff. But end users do not care about the reasons. They want an operating system that just works and get out of the way. They want resume from sleep to work, Wifi and Bluetooth working, no bugs breaking their work flow and a pleasant experience using their computers.

If Canonical or any other company wants to conquer the desktop, the will have to work with upstream projects to fix the most annoying issues and if the upstream projects refuse to cooperate (for any good or bad reasons), then fork the projects or create replacements like they did with Mir. Apple gain a notable market share by taking control of their desktop and all the default applications. To get things integrated and running well, sometimes you have no other choice than to take full control.

I use Windows 7 at work as a desktop, not by choice. But I must admit, Windows 7 is a great OS. It works flawlessly. I can run it for months without rebooting; Used as a desktop computer, it is stable. All its features are working. It is snappy. It reminds me of Ubuntu 10.04 with Gnome 2. The roles have been, alas, reversed. It is now Ubuntu that is buggy, requiring often reboots and has many features broken. Only the viruses are missing to put it on par with Windows XP. From what I am reading, Windows 10 might be a great OS too, copying the last features from Linux that made it distinct such as virtual desktops.

Can I recommend Ubuntu or more generally, Linux on the desktop for a consumer, a non techie? It depends. It used to be yes without hesitation, with the warning to choose your hardware wisely and to not expect good compatibility with the MS world. Now, I would say yes only for some specific cases, like running only a browser and a few applications on a desktop machine that does not need to be suspended nor require powerful graphics. Business that have an IT department can isolate some of the issues from the users. But within a medium to big size business, it is hard to imagine managers, VPs and presidents would tolerate working with a laptop suffering of all the problems I listed in this blog. Ubuntu is not a general purpose computing platform. There would be less bugs using an Intel graphic card and a lightweight desktop for example, but you have then to give up power and features. While with other platforms you can get it all with very few, very occasional bugs, this is not the case with Ubuntu.

I understand that Canonical needs to make money, and for now the best path to follow for the company is not the desktop. Now that Ubuntu touch is out, there are efforts to bring Mir and Unity 8 on the Linux desktop. But this is not enough if the rest is still buggy. After the 100 paper cuts initiative, what Ubuntu needs is a 100 axe chops initiative. An initiative where the 100 most annoying, in your face bugs get fixed even if they are hard and costly to fix.

I also understand that many graphical bugs might be in NVIDIA's court. Still, Canonical needs to put pressure on NVIDIA to get their act together if such is the case. Apple got NVIDIA onboard, so why not Canonical?

The saddest thing is that after over a decade of being a Windows free household, my family will soon force me to get a Windows machine. If Ubuntu would be solid, I could argue with my soon-to-be teenagers to stick with it. But once my kids will become power users, I will not be able to hide to them how bad Ubuntu is. Mac and Windows just work, but not Ubuntu. Heck, half the time they cannot even login by themselves on Ubuntu because of the double login bug and if they managed to login, chances are that networking would not work anymore.

Until that day arrives, one might ask why I have not tried another distribution. I doubt my experience will be much better. Many of the bugs are related to code shared across distributions. I know that a few bugs I listed in this article also exist in Fedora. Most bugs are upstream. Obviously, all Ubuntu based distributions suffer from most of the bugs I found except those specific to Unity/Compiz. And I do not want to compromise on features. My kids play Steam video games and want to avoid the CLI. They use Windows and Macs at school and have high expectations about operating systems. I read that Fedora is good, but there exist no LTS version and I do not want to reinstall an OS every 6 months. The other distributions probably do not fill my requirements of "having it all". A lightweight desktop environment might cut to much on features consumers such as myself expect from an OS.

Still, I would like to try Cinnamon with Mint. The main problem with that is that the major desktop environments are not really compatible with each other on the same system, thus if I add Cinnamon to a stock Ubuntu, it can screw up both Unity and Cinnamon. If I continue using Ubuntu, I can help out developers trying to debug some of the issues I suffer from, though currently, very, very few of the numerous bugs I reported or am tracking are being actively worked on.

Of course, Ubuntu is not all bad. If I want to stick with it so badly, it is because of some of its cool features such as the dash, the ability to resize a window to full screen, half screen or quarter of a screen by dragging it to one of the corners (really useful). The little compiz effects (good for marketing purposes when one is trying to demonstrate Ubuntu). And as a developer, I can easily customize some parts of the OS to fit my needs, by writing simple scripts. I do love having the code readily available. My FLOSS position explains a lot why I want to stick with Linux.

I hope Ubuntu 16.04 LTS will fix all the annoying bugs and finally we will have a Linux distribution that is can stand on its own, with all normal features expected to work without any compromise.

Here is an idea, maybe someone should take Android and just GNU/Linuxfy it to build a great GNU/Linux desktop...

Finally, here are some interesting reading. I do not agree with all the comments, but the readings shed light to the Linux Desktop experience.

If you have any suggestions to improve this article, know of bug reports that match some of the issues listed above, please write to me at hans@deragon.biz