Do you run the fglrx driver on Debian Wheezy? I sure do, and if you’re like me I feel your pain.
About a month ago, the fglrx packages were added back into Debian Testing so the previous workaround is no longer required. Unfortunately not long after things appeared working, the Debian guys decided it would be a good time to upgrade to GNOME 3, which caused all kinds of graphical corruption and made Debian all but unusable for me. I actually found myself booting into my Windows install for a while.
A newer fglrx driver was then released which fixed most graphical glitches, however things were still far from perfect. As an example the alt tag pop-up text in Firefox was rendered incorrectly and barely readable, but for the most part things were okay… until I tried to play a video. Hello bug #649346 – “fglrx-driver: using xv extension crashes Xorg”. At the time of writing, this still isn’t fixed. Naturally this is all terribly frustrating.
I generally use mplayer whenever I need to watch a video, so the work-around for me was adding “vo=gl” under the [default] section in my ~/.mplayer/config file, and being extra careful mplayer is the default video player for everything!
There’s one other interesting thing that happened to me over the weekend – I ditched GNOME. I’ve been a GNOME fan-boy since the pre-1.0 releases back around 1998, so you might imagine the significance of this. Certainly some of the lead GNOME guys have previously upset me by encouraging some further development to be in Mono, but my real reason for doing this is simply because modern GNOME 3.x versions just don’t seem to cater to me any more. After using it for a few weeks, I just feel too constrained.
For example, I wanted to find a way to select an appropriate font size. I couldn’t – I could choose “Small”, “Medium” “Large” etc. I know I like font size 8, but there was no way to select it – all the options gave something too big or small for my liking.
Another thing I use all the time is virtual desktops. Right now, I’m using 3, but sometimes I find myself using 10 or more depending on my workload. Because GNOME has always defaulted to two horizontal panels along the top and bottom of the screen, my virtual desktops have also always been aligned horizontally. GNOME 3 changes this – you have to get used to managing them vertically. Further, I can’t assign e-mail to virtual desktop 7 – GNOME only creates them as you need them. This may seem like nit-picking, but it’s too difficult to get used to, and it just feels inefficient.
Then there’s the Alt+Tab functionality. How could they screw that up? Well, if you have 10 Terminator (xterm) windows open for example, GNOME considers them all to be a single application. So when you Alt+Tab to switch through them, they all appear as a single item. Instead, you must Alt+tab to Terminator, and then Alt+` to switch between the individual terminals. I’m sure they were aiming for efficiency here (for a change), but it all feels very tedious and breaks conventions everyone is already used to.
Opening a new program is also annoying in GNOME 3. You need to move the mouse over to the top-left corner of the screen, then click an Applications icon that appears a few centimetres away (probably further away on larger screens). An large (huge?) icon for every application will appear after a few seconds of loading time – which is impractical for most people since the list is so big, so you need to narrow down the results by category. So now move the mouse way over to the right side of the screen to what looks a bit like the traditional GNOME 2.x menu options. These limit the giant application icons to only those that fit within that category.
What happens if the application you have has been installed manually and does not have a GNOME launch icon? Well, you need to create one manually, of course! Fire up your favourite text editor and create one under ~/.local/share/applications/ or some such. What a pain in the ass! Unlike the good old days of creating a custom application launcher through the GUI, in GNOME 3 you need to do it all through text editors.
You can add commonly used application launch icons to a dock on the left-hand side of the screen, but if you’re like me and use a bunch of different applications depending on the task at hand, that’s not particularly helpful. In fact, quite frequently I find myself hitting ALT+F2 to just type the name of the application I want to launch. This functionality is still there in GNOME 3, however it’s far less useful than it used to be. Auto-complete functionality seemed to be missing, however it’s still the best option for launching applications when you don’t want to bother with creating launch icons.
Some of the GNOME 3 options simply aren’t even implemented. For example, telling GNOME you want your user to automatically log in doesn’t work – you need to edit configuration files. How a major release ever made it out in such a state I’ll never know.
Another thing I wanted to do was tell GNOME that my default terminal should be Terminator, since it was clearly ignoring my /etc/alternatives/x-terminal-emulator setting. Unfortunately, that’s a matter of firing up gconf-editor and hunting down the option. What used to be a simple drop-down menu in GNOME 2.x no longer exists!
Some of the above issues are able to be worked around via Shell Extensions, and GnomeTweakTool, but it seems stupid to be forced to waste time with hacks just to get basic functionality going. Firefox provides everything needed for efficient web browsing out of the box, and if you want extra uncommon functionality the extensions are there to help you out – but it’s still a perfectly good web browser without them. GNOME 3 on the other hand just feels useless as a desktop without them. It’s a disaster.
So what have I switched to? I wanted something Debian was likely to have good support for, so I started poking around the available packages:
$ for i in $(apt-cache show task-desktop | grep ^Recommends: | cut -d ' ' -f 2- | tr -d ',|') ; do [[ ${i} = *desktop ]] && echo ${i} ; done
task-gnome-desktop
task-kde-desktop
task-lxde-desktop
task-xfce-desktop
$
I’ve given KDE a number of chances over the years, but have always switched back to GNOME due to its complexity. When you get frustrated trying to hunt down an option you know should exist, something has to be wrong. However, my N900 does run LXDE in a chroot and it seemes okay, so I gave it a spin. Ouch was it buggy! Trying to configure options would spit out random errors which had been fixed in newer releases which made it into Ubuntu over a month ago, but were still an issue in Debian Testing? Seemed to me like the Debian guys haven’t given LXDE much love, so that leaves me with Xfce. Linus Torvalds switched to it a while ago… how bad can it be? Well, I did try it years ago, and my memories of it were not good… but given the lack of options I thought I’d give it a try anyway. And boy was I impressed!
GNOME 2.x users will feel right at home. Imagine GNOME 2.x… except with more options for configuration out-of-the-box! I was able to make my Xfce desktop look and behave almost identically to GNOME 2.x, and it feels quicker to boot! I don’t know why the Mate project (aiming to fork GNOME 2) is bothering – Xfce just feels so right. :)
I did have one issue with Xfce sound however. I have basically two sound cards – an Intel HD Audio Controller located on my motherboard, and my Logitech G35 USB headset. Stock Xfce did not seem to provide any option for switching between these on the fly, however audio was one thing that GNOME (both 2 and 3) got right.. which gave me an idea. Under Settings -> ‘Session and Startup’ -> ‘Application Autostart’, I added /usr/bin/gnome-sound-applet (which comes from the gnome-control-center package). Now, audio works just as well under Xfce via this applet as it does under GNOME. Beautiful!
There’s a few other little things I’ve found in Xfce where I’ve thought “wow that’s a nice touch”. Eg. I regularly Alt+drag windows around, but with Xfce you can actually drag them to neighbouring virtual desktops! It might not sound that amazing, but it feels nice. Also, when you want to move an applet around on the panels, you get a square appear that makes it very clear what the panel will look like if you left-click to confirm – as opposed to the GNOME way where you see the results as you have already made the change by dragging. Lastly, say I click on a launcher for a program that is already open in another virtual desktop which I forgot about, instead of getting a flashing icon in the task panel and having to click it to jump to a different virtual desktop (as would be the case in GNOME 2.x), you just have the application instantly move from whichever virtual desktop it was on to the current one. These are all minor details, but have made me pleasantly surprised.
As for the Xfce panel applets, some are better than those in GNOME 2.x, and some aren’t quite as good. Overall, I didn’t feel any worse off. I did think the Directory Menu applet will be really useful, but I haven’t relied on it much yet (perhaps out of habit of not having it). If you like GNOME 2 and hate GNOME 3, definitely do yourself a favour and give Xfce 4.8 a try for a few days and see what you think.
“Unlike the good old days of creating a custom application launcher through the GUI, in GNOME 3 you need to do it all through text editors.”
You can use Desktop Entry Editor https://github.com/Quixotix/desktop-entry-editor to create your application launchers via GUI. It drops them into ~/.local/share/applications and includes icon preview and a validator.
Thanks Micah. It’s nice to know something like this exists. I’m sure I’ll be taking a look at it at some point.