November 9, 2011

Unfuck GNOME 3 on Debian Testing

Filed under: Uncategorized — aspensmonster @ 1:50 am

Flattr this!

So I’m on the rolling updates… and I notice that the latest batch wants to upgrade to Gnome 3. I figured it couldn’t possibly be the nightmare that it was hyped up to be by the various tech circles. Yeah. I was wrong. Here’s my list of problems and solutions to get me back to a Desktop that’s actually functional:

Can’t log in

When I first attempted to log in using Gnome 3, it failed. Presumably, this is because I run compiz and Gnome 3 with “Gnome Shell” only uses “Mutter” as the window manager and nothing else. Sadly, I needed to reboot to even get to a functioning login screen. From here, I chose Gnome 3 Fallback mode, which is apparently Gnome 3 with “Gnome Panel” and a GTK+ 3.x engine powering its themes (more on that in a minute).

Where the fuck are all my Desktop icons?

In Gnome’s infinite wisdom, apparently NOT showing Desktop items is a default setting now. Yes, you read that correctly: Desktop icons are hidden by default. Execute the following at a terminal to fix this:

$ gsettings set org.gnome.desktop.background show-desktop-icons true

Where the fuck are all my shorcuts in the top bar?

As far as the quick-launch shortcuts you can place on the top bar go (synonymous to the “quick-launch” concept in a Windows environment), they were just gone. If I were using Gnome 3 with “Gnome Shell” I would presumably have the Dash, but I’m a fan of compiz and am not moving anywhere. So I had to recreate my shortcuts. Nothing too drastic right? So I go the Applications menu in the top-left corner and attempt to right click and do the “customer launcher” dance. Nothing. I have to click and drag the menu item into the top bar.

Where the fuck did my background go?

I run a Dual Monitor setup, 1920×1080 in each screen, powered by an NVIDIA GTX 280. I use the NVIDIA X Server Settings to create a single X screen (no TwinView) with 3840×1080 resolution. Thankfully, getting the background screen back wasn’t too difficult:

$ gnome-control-center

This loads up a spot where you can choose wallpapers. I chose one I have that is 3840×1080 and chose “Span”. However, all it did was shrink it in both monitors. It didn’t actually “span” anything. I’m not sure if this was just a hickup or what, but I changed a setting and logged out. I don’t know whether this setting change had anything to do with it, or the logout did, but I’ll add it here just in case:

$ gconf-editor

This loads up what amounts to a registry editor of sorts for Gnome. navigate to desktop > gnome > shell > windows and disable the “workspaces_only_on_primary” option. I suspect it was a hiccup though, because this edited a “Gnome shell” value and I don’t believe it would have any effect.

Why is mplayer loading when I click on a folder inside the “Places” menu in the top bar?

This one drove me up the wall. Whenever I tried to use the “Places” menu on the top bar, it would instead load mplayer. Other users have reported it opening dolphin, and other media players. The fix was to:

  1. Create a new folder on the desktop.
  2. Right-click open with other application.
  3. In my case, there was a “Recommended Application” of either “MPlayer” or “Files”.
  4. Choose “Files”
  5. Confirm that you can select folders from the “Places” menu in the top bar.

Why isn’t firefox loading a folder when I right-click a download and select “Open containing folder”?

This one is similar to the above. Only, I didn’t have a “Recommended” option. I had to:

  1. Right-click the download in the Downloads window
  2. Select “Open Containing Folder”
  3. I was prompted to select a program.
  4. I then had to manually navigate to /usr/bin and select “nautilus”
  5. I then chose to always use the application

Why aren’t my GTK+ 2.0 themes working?

Apparently, even in fallback mode my GTK+ 2.x themes didn’t work. I’m assuming my GTK+ was upgraded to 3.x and as such only themes for GTK 3.x would work. Also, apparently something like “Themes” isn’t even available in the usual Gnome 3 with “Gnome Shell” setup either. You have to download a tool called gnome-tweak-tool :

$ su
# apt-get install gnome-tweak-tool
# exit
$ gnome-tweak-tool

The key thing here is that I use Compiz for Window Management, Emerald for Window Decorating, and Gnome for the leftover bits in the interface (colors in system panels and system icons and the like). The problem is my favorite Matrix theme hasn’t been ported to 3.x. So I was left with a rather sparse selection in this gnome-tweak-tool under the “Interface” section. I settled on greybird, as it was relatively dark but still smooth.

As it turns out, you CAN download and run other GTK+ 3.x themes (you can get GTK+ 3.x themes here). Once you’ve downloaded and extracted your theme, there should be a folder like “ThemeName” that has other folders such as “gtk-3.0″ inside of it. You want to copy the root directory ( “ThemeName” ) into /usr/share/themes in order for gnome-tweak-tool > Interface > Gtk+ theme to pick up on it. Example:

$ cd ~/Downloads 
$ wget
$ tar -xzvf sometheme.tar.gz
$ su
# cp -R ./sometheme/ /usr/share/themes 

Why isn’t sound playback and recording operational?

Turns out that PulseAudio is now tightly integrated into Gnome 3. Maybe PulseAudio has come a long way from when it was first introduced into Ubuntu, but I remember nothing but pain from those early days. Regardless, in order for me to get sound working I had to first unmute the volume, and the raise it, using the speaker icon on the right-hand side of the top panel. Or run the command “gnome-control-center” in a shell and then click the “Sound” button.

Once here, there is a “Hardware” tab that contains the devices themselves and “Input” and “Output” tabs that control the device. I had to first select my “SB X-fi” card under the “Hardware” tab and choose an appropriate “Profile”. I ran into a problem where this crashed every time I attempted to “Test Speakers”. At one point, it didn’t even show my card and only had the “Internal Audio” option (presumably my Intel HDA setup on my motherboard). My only resolution was to log out, log back in, and perform the following:

[open a terminal]
$ killall pulseaudio
$ pulse audio
$ Ctrl+C [kill the pulseaudio instance]
[close the terminal] [this should again reload the pulseaudio daemon]

I was then able to select the card in “Hardware”. It’s very important that you select an appropriate profile. I originally only show “Analog Stereo Output” and my mic wouldn’t work even when unmuted. I then selected “Analog Stereo Output + Analog Mono Input”. At this point, I then had to navigate to the “Input” tab to once again unmute my mic (which then picked up the test noises I made), and then selected my SB X-fi card from the list in the “Output” tab.

Final Considerations

I suppose I can say –after the above tweaks– that I enjoy my Desktop setup again and can work. I feel like I have the best of both worlds: Compiz+Emerald for Window Management and Decoration, and Gnome 3 with GTK+ 3.x for the various desktop programs (like Brasero and Rhythmbox and the like) and desktop stylings (like icons and the like). If anyone from the Gnome or Debian dev teams is reading: sorry for the outbursts and please, for the love of god, leave “Fallback Mode” in place indefinitely.