Sunday, 26 May 2013

Xubuntu 13.04 - Tips and Troubleshooting

I recently switched to Xubuntu 13.04 after using Linux Mint for nearly a year. While Linux Mint with Cinnamon desktop is a very good system, the Xubuntu desktop is more lightweight. The fonts look prettier with better anti-aliasing, the startup is much faster and the system somehow feels more powerful. Here's how you can make the most of your new Xubuntu system.

Enable Dropdown Terminal

The latest Xfce Terminal v0.6 features a drop-down terminal mode similar to other drop-down consoles like Guake and Terra. The terminal will appear when you press a key on your keyboard and hide when it loses focus. You can run a command and leave it running while you switch to another window. It supports multiple tabs which allows you to run multiple commands at once.

In order to start the terminal in drop-down mode, you need to pass the parameter "--drop-down" when the terminal is launched.

  • Go to Settings Manager > Keyboard > Application shortcuts.
  • Click Add and add the command "xfce4-terminal --drop-down".
  • Click OK and press any key to assign a keyboard shortcut for opening the drop-down terminal (I'm using F1).
  • Click OK and close the keyboard settings window.

Now press the keyboard shortcut (F1) to launch the terminal. It hides immediately when it loses focus. Click anywhere outside to close it. If you open the Preferences dialog from the Edit menu, a new tab called "Dropdown" will be visible for changing window position, opacity, and other options.

Reduce Panel Autohide Delay

The taskbar panel at the top of the Xfce desktop takes a long time to show and hide when the auto-hide option is enabled. You can reduce the delay so that the panel appears and disappears immediately.

Run the following in a terminal window:

echo '
style "xfce-panel-window-style"
   # Time in miliseconds before the panel will unhide on an enter event
   XfcePanelWindow::popup-delay = 10

   # Time in miliseconds before the panel will hide on a leave event
   XfcePanelWindow::popdown-delay = 10
 class "XfcePanelWindow" style "xfce-panel-window-style"
' >> ~/.gtkrc-2.0

Hotcorners, Scale and more

There's an application called brightside which can be used to setup hot corners in Gnome and other desktops. Sadly it does not work with Xfce. The only option is to install Compiz and use the Commands plugin.

Install Compiz by running the following in a terminal window:

sudo apt-get install compiz compiz-plugins compizconfig-settings-manager dconf-tools

Before starting Compiz we need to change the default theme. The default theme is Adwaita which is not installed by default in Xubuntu.

  • Run dconf-editor from the Application menu or by presssing ALT+F2
  • Navigate to /org/gnome/desktop/wm/preferences
  • Edit the key theme. Change the value from Adwaita to Greybird.

Press ALT+F2 and run the following command to start Compiz:

compiz --replace ccp

Your desktop will still look the same. Open a window and minimize it. You will see an animation effect which shows that compiz is working.

Press ALT+F2 and run the following command to start CompizConfig Settings Manager:


Most of the important plugins will be enabled by default. You can enable the following for some extra eye candy.

Wobbly Windows

Makes all windows wobble like jelly. Un-check the Snapping Windows plugin and check Wobbly Windows.

Scale Windows

The Scale plugin is already enabled by default. You can bind it to a screen corner from the bindings tab as shown below.

Moving the mouse to the bottom-left corner of the screen will scale all open windows.

Coverflow ALT+TAB

Enable the ShiftSwitcher plugin and change the binding for action Next Window to ALT+TAB.

Press ALT+TAB to chose between open windows.


A hot corner is a corner of the desktop that has a command associated with it. For example, you can minimize all open windows by moving the mouse to the bottom-right corner. Use the Commands plugin to execute commands when the mouse pointer moves to a corner of the screen.

Setting Compiz as the default window manager

Once everything is set up and Compiz seems to be running fine, you can set Compiz to start automatically at system startup. Compiz will replace the default window manager for Xfce (xfwm4).

Run the following commands in a terminal window:

cp /etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml
mousepad ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml

Modify the tag 'Client0_Command' as shown below. Change 'xfwm4' to 'compiz' and add an entry for 'ccp'.

<property name="Client0_Command" type="array">
    <value type="string" value="compiz"/>
    <value type="string" value="ccp"/>

In order to go back to the 'xfwm4' window manager, simply edit the file again and undo the above changes.


Compiz: Windows borders disappear

Press ALT+F2 and run the following command:

compiz-decorator --replace

If the window borders keep disappearing repeatedly, it indicates that there is an issue with plugin configuration. Open the CompizConfig Settings Manager (ccsm), reset the settings to default, and try to configure the plugins again.

Compiz: Hot-corner does not work for scale plugin

Sometimes the hot corner may not work due to other Compiz plugins which take focus away from the Scale plugin. It case it doesn't work, please try the following:

  • Run dconf-editor from the Application menu or by presssing ALT+F2
  • Navigate to /org/compiz/profiles/Default/plugins/core
  • Edit the key active-plugins. Move 'scale' to the end of the list.

Compiz: Windows buttons stop responding

There is an open bug in Ubuntu 13.04 which can cause the window border buttons to stop responding when an application is started in a maximized state. The issue occurs only with maximized windows and affects both the gtk-window-decorator and kde-window-decorator. The only work-around currently known is to turn off the Metacity themes for the gtk-window-decorator.

To turn off Metacity theme do the following:

  • Run dconf-editor from the Application menu or by presssing ALT+F2
  • Navigate to /org/compiz/gwd
  • Edit the key use-metacity-theme and set it to False

Please note that this will result in blue window borders and there is NO way to change the default theme. Hopefully this bug will be fixed soon.

Compiz: Settings are not saved

Sometimes the changes are not saved when you exit the CompizConfig Settings Manager. If you face this issue, go to Preferences and change the Backend to GSettings Configuration Backend.

Xfce Panel: Auto-hide stops working for top panel

There's an open bug in Xfce 4.10 in which the auto-hide stops working for the top panel. If you have set the top panel to auto-hide, the auto-hide will stop working sometimes and the panel will overlap the title bar of the maximixed windows. If you face this issue run the following command with ALT+F2. It will re-load the Xfce panels.

xfce4-panel -r

Vala Compiler Errors

Compiling a Vala program which uses any math function like Floor(), Round(), etc will result in a linker error similar to the one shown below:

/usr/bin/ld: /tmp/ccCvDHTZ.o: undefined reference to symbol 'floor@@GLIBC_2.0'
/usr/bin/ld: note: 'floor@@GLIBC_2.0' is defined in DSO /lib/i386-linux-gnu/ so
try adding it to the linker command line
/lib/i386-linux-gnu/ could not read symbols: Invalid operation

The math library libm was linked automatically in previous Ubuntu releases. But from now onwards the math library needs to be linked explicitly. Add the extra option --Xcc="-lm" when you compile your Vala programs.


valac --Xcc="-lm" main.vala

Network Issues - Disable IPv6

If your network manager keeps disconnecting or if you are unable to open any pages in your browser, then try the following:

  • Press ALT+F2 and run the command:
    gksu gedit /etc/sysctl.conf
  • Append the following lines at the end of the file. Save and Close the file.
    # IPv6
    net.ipv6.conf.all.disable_ipv6 = 1
    net.ipv6.conf.default.disable_ipv6 = 1
    net.ipv6.conf.lo.disable_ipv6 = 1
  • Press ALT+F2 and run the command:
    sudo sysctl -p

This will disable IPv6 on your system. Please don't do this if your system is working fine. It is only required in some countries where the ISPs don't yet support IPv6 fully. When IPv6 is enabled the system first sends a request using IPv6 (thinking that the ISP supports it). The ISP does not relay the request and the request times-out. The system then sends an IPv4 request which succeeds. This causes the web browser to lag whenever it tries to access any page. Visit the site to test the IPv6 support of your ISP.

Article Updates

2013-05-27 Added work-around for top panel auto-hide issue