Fedora and GNOME 3: A Tale of Frustration
I typically run Kubuntu with KDE, but I do give other distributions and desktops a try from time to time. One distribution I keep coming back to is Fedora.
I installed Fedora 16 with the GNOME 3 desktop a while back. I had fairly high hopes for it. Fedora has, traditionally, annoyed me. However, the last release I tried (11? 12? Something like that.) was considerably less annoying. I saw this as a sign that things were improving. Sadly, my hopes were quickly dashed.
Fedora (or, "Testing? What's that?")
The first problem I encountered with Fedora itself was that yum and RPM are still slow. Rather obnoxious, but at least it's not something that bites me every day. Also, the fact that I still have to specify a root password seems rather quaint. Again, a fairly minor quibble. The PackageKit-based software installation tool, though, has one quirk that really pisses me off. When you tell it to install some software, it sits around for a while as it figures out the software's dependencies. If it determines that additional software needs to be installed, it will pop up a dialog box to inform you of that. Accept the additional software, and it prompts you for your password. Now, I have a fairly complex password, and I tend to type it quickly, so sometimes, I make a mistake. If you mistype your password in the password prompt, it tells you that you got it wrong AND THEN DISAPPEARS. Yes, you have to start over from the point where you told it to install the software. PackageKit has to calculate the dependencies and tell you about them again before it lets you take a second stab at entering your password. Who the hell thought that was a good idea? Did nobody test it? Oh, and after my first software update, it told me I had to log out and log back in. It offered to log me out. I clicked the "Log Out" button. Nothing happened.
The real frustration started when I tried to upgrade to Fedora 17. I had assumed that Fedora would notice that there was a new release and offer to upgrade. Nope! So, I had to do a Google search for the answer. Apparently, there are three ways to do an upgrade in Fedora:
- Burn an install disc for the new version, boot from that, and do an upgrade installation.
- INSTALL A NEW PIECE OF SOFTWARE (preupgrade) and run it. After it downloads everything you need, restart and make sure to select the "upgrade" option in the boot menu.
- Do a bunch of housekeeping, tell yum to switch to the new repository, and then update. Oh, and pray that it works, because this method is not supported.
Don't believe me? It's all right here.
I decided that the first option had the lowest chance of failing miserably. So, I downloaded a Fedora 17 image and used a tool in Fedora to write it to a USB memory stick. I had to start the tool with a special flag because it didn't like some aspect of the memory stick's MBR. Also, I discovered that the tool can download the Fedora image for me, but it only offers Fedora 16 and earlier. NOT SO HELPFUL. I finally booted the memory stick. I was offered two choices: try Fedora or Install Fedora. OK. Install. It asks me for my disk encryption password, does a bit of poking around, and then it asks me to set my root password. What? I already have a root password! Why do I need to set one? Is it really doing an upgrade, or is it about to blow away my Fedora 16 installation? WTF?
OK, screw that. I decided to use Preupgrade. It didn't give me any BS aside from the part where the "perform upgrade" option in the boot menu wasn't the default. Thankfully, I was paying attention and was able to select it before the menu timed out and booted Fedora 16. After a long time, the upgrade finally finished, and I rebooted into Fedora 17. Yay! Unfortunately, my troubles were not over. The main problem was that the Fedora 17 kernel apparently wasn't installed (see the list of known Fedora 17 installation bugs). Since Fedora 17 consolidates the various binary directories under /usr, running a Fedora 16 kernel means that the system will crash hard when you try to shutdown, since important things like sh aren't where it expects them to be. Apparently, you need to manually enable the Fedora 17 updates repository. Well, I did that, and the Fedora 17 kernel is present, but it's not in the boot menu. On Ubuntu/Kubuntu/Debian, I would run update-grub, but that doesn't exist on Fedora, and I have no clue what the local equivalent is. Oh, and did I mention that I started from a nearly-pristine Fedora 16 install? Well, I did. I didn't install anything "weird". I installed Gwibber, the USB stick tool, and Preupgrade. That's it. Did anybody test this shit? Ever?
Lastly, when a piece of software crashed, I tried to report the crash. Since I'm fairly security-conscious, I tried to extract a stack trace from the core dump myself instead of sending the dump to some server somewhere for trace extraction. The Fedora crash reporter tool claims to do this for you. In reality, its attempt to download and install the debugging symbols failed with an error message that amounted to "It didn't work." Gee, thanks. I gave up on trying to report the crash.
GNOME 3 (or, "Do as you're told.")
So, Fedora itself pissed me off quite a bit. That's not the end, though. Oh, no, not at all. GNOME 3 is a...I don't even know what to call it. Instead, I'll just run through a list of baffling design decisions:
- If you use multiple desktops, you will find that they are all in a single column. NO GRID FOR YOU!
- Multiple desktops are created by opening at least one application window on the empty desktop. Want to statically define, say, four desktops so you can have an arrangement like "first desktop is for coding, second is for documentation, third is for communications, fourth is for entertainment"? Too bad!
- Closed the last window on a desktop other than the first one? GNOME will "helpfully" pop up the "start a new application" overlay...dashboard...thingy. Oh, you didn't want to start a new application? You finished what you were doing and wanted to go back to your other desktop? OK, just press the shortcut key or click on the desktop at the right. Will the overlay/dashboard/whatever now get out of your way now? Nope! You have to manually dismiss it!
- Want to shut down? No, you don't. The GNOME developers have decreed that you do not want to shut down. Unless you know the secret (open the menu in the upper right and hold down the ALT key; that will make "Suspend" turn into "Power Off".
- Want to change the visual style? Too bad! There's nothing in the control panel that does that. I hope you like digging through GConf! I don't know if this is GNOME's fault or Fedora's fault, but it's quite annoying.
- Have a Google account? Great! Just go to "Online Accounts" and log in; GNOME will set up your email, calendar, address book, and chat accounts for you. Neat! Unfortunately, it won't show your Google Calendar in Evolution, nor will it produce reminders for events on your Google Calendar. You have to enable that yourself. Oh, and after a while, Evolution decided that it really needed me to type my Google password in order to fetch email. Why? Because. Also, it won't make Empathy (the GNOME chat client) start at login. You have to do that yourself. Why? Because.
- Want to set up Empathy to start at login? Good luck.
- At one point, Evolution somehow managed to render the entire GNOME shell unresponsive. After about half an hour, I tried pressing Escape a few times. The greyed-out dialog (hint: greyed-out things generally don't respond to key-presses) disappeared, and all was well again. The event that triggered all this? I enabled reminders for my Google Calendar.
On top of that, I took a look at Planet Gnome today and found this and this. The former is essentially "Stop complaining; it's just a few rough edges." The latter is "I don't find it obnoxious. Therefore, there is nothing wrong with it. QED." Here's the real WTF: in the second one, the guy says that it makes little sense to have a menu entry for "shut down" when there's a hardware button to do that. Guess what happens when I press that button on my netbook? That's right. It goes into suspend mode. *FACEPALM*
It feels like GNOME's attitude is that you are an idiot who doesn't know how to use a computer properly, so you should just shut up and do as you're told. Well, this is what I think of that:
In Conclusion...
Fedora's developers don't seem to care, so why should I? GNOME's developers, on the other hand, seem to care too much. Fortunately, there is a solution. I find it quite effective.