Wednesday, February 27, 2013

Nautilus 3.6 Sucks

Wow, I was a little shocked to see the latest release of Nautilus! I now understand why people are calling it a catastrophe. The first thing that I noticed was the mess it made of my folders by not sorting directories first. This was easily fixed through dconf-editor (and probably correctable through the nearly hidden preferences menu entry). Then I found that list view is missing expandable folders. Tree view is gone. Split pane is gone. Compact view gone. Go menu gone. Computer gone from Places. File "accessed" column gone. It was really just cut to pieces, and is no longer useful for me. The arguments for these drastic changes are pretty weak: you can read through them here and here. This hearkens back to the mess Gnome made of GDM by cutting features, and other weird usability decisions of days gone by (remember when the default Nautilus behavior of opening every folder in a new window was popular?) Smaller is not always better, and less is not more. Sure feature creep is something to look out for (Emacs need not be repeated), but the reason I and many others have been attracted to Linux for so long is the customizability. If you want to be minimal you can, and if you want music playing on your X greeter login screens while xscreensaver runs in the root window -- so be it! It isn't a plus to restrict your user experience, and remove the capability for users to change their workspace to fit their needs.This debate is really about who your users are (high-tech end users), versus who you want your users to be (people with tablets.) You can't cut off your current user base chasing a market that doesn't exist yet.

So I played with a lot of other file managers tonight, and I found a nice clean replacement. It's called Nemo (after the captain of the Nautilus). It seems like a decent fork made by sane people, and I recommend it if you are simply fed up with Nautilus 3.6. Install and enjoy:

$ sudo yum install nemo

Fedora 18 Upgrade

People are really into Ubuntu these days, and I even have a few boxes around the house running it. The kids like it better than Windows 8. For my personal workstation however, I'm still loving Fedora. Maybe it is nostalgia from way back when I first switched from Slackware on floppies (and the joys of compiling my own monolithic kernels), to that sweet Red Hat CD I found taped to the back of a thousand plus page book. It "just worked" when I installed it. Heavy RHEL use at work doesn't hurt either. With Fedora, I get a preview of systemd and future RHEL innovations. Another thing I like is the smooth yum based upgrades. They seem to remove many of the nightmares I've experienced in the past with upgrading Linux.

That doesn't mean there are never problems tho. I found a few last night and I'll share how I resolved them.

Issue 1: The default ramdisk has the nouveau driver built-in, loading it into the system even if it is blacklisted in /etc/modprobe.d/blacklist.conf (or /etc/modprobe.d/nvidia-installer-disable-nouveau.conf). This prevents the NVIDIA binary drivers from compiling or loading.

Solution: First, you need to rebuild the initrd and explicitly disable nouveau:


# dracut --omit-drivers nouveau /boot/initramfs-$(uname -r).img $(uname -r)


and make sure it is blacklisted in one of the above mentioned /etc/modprobe.d/ files with some lines like:

blacklist nouveau
options nouveau modeset=0

Then reboot. If you used the easy rpmfusion drivers by following this link, then they probably have been updated on your fedup from Fedora 17 -- in which case you are already working now. If you install your drivers the stubborn old-man way, like I do, then it's time to go and download and compile them yourself. After Linux starts loading, hit ESC (if the graphical boot is running) and then Ctrl-Alt-F2 (after booting is finished) to go to a text console. Login and grab the latest NVIDIA drivers:

# wget http://us.download.nvidia.com/XFree86/Linux-x86_64/310.32/NVIDIA-Linux-x86_64-310.32.run
# chmod +x ./NVIDIA-Linux-x86_64-310.32.run
# ./NVIDIA-Linux-x86_64-310.32.run

...now wait for it...

Start cursing! Somehow your 3.7 kernel headers aren't there! Or, are they...

Since /lib/modules/3.7.9-201.fc18.x86_64/build/include/linux/ is on the box what could be missing? Looks like a sneaky kernel dev moved version.h somewhere. Fix it by:

# cd /lib/modules/$(uname -r)/build/include/linux/
# ln -s ../generated/uapi/linux/version.h .

Now, go back and run "./NVIDIA-Linux-x86_64-310.32.run", install the drivers and reboot.

Issue 2: My wonky "alien -r" converted version of Spotify 0.8.4 bit the dust. It seems symlinks and crossed fingers are no longer sufficient to make it scrape by.

Solution: I came accross a really kewl find here. Basically, someone created a spec file which will build a very nice (and working!) RPM of Spotify 0.8.8. To get this going yourself:

# yum install wget rpmdevtools rpm-build yum-utils
$ rpmdev-setuptree
$ cd $(rpm --eval %_sourcedir)
$ wget http://leamas.fedorapeople.org/spotify/0.8.8/spotify-client.spec
$ spectool -g spotify-client.spec
# yum-builddep spotify-client.spec
$ env QA_RPATHS=$((0x02|0x08)) rpmbuild -bb spotify-client.spec

When all is said and done you should have a RPM in your home which you can install with:

$ sudo yum install /home/$USER/rpmbuild/RPMS/x86_64/spotify-client-0.8.8.323.gd143501.250-3.fc18.x86_64.rpm

Before you run spotify, do a: 

$ rm -rf ~/.cache/spotify

then you should be good to go.

Another tip: In Gnome 3.6 the scrollbar behavior (among other things) is wonky. When you click the empty space above or below a scrollbar, you don't go up/down a page... you are moved to that absolute position. This can get ugly with a really large scroll area as you can't precisely scroll up by "pulling" the slider without going way too far. I decided to dig around and found a solution:

Add the following to ~/.config/gtk-3.0/settings.ini (create it if necessary):


[Settings]
gtk-primary-button-warps-slider = false

More settings can be found here.