Integrade IBus 1.5 and gnome-shell 3.6 on Gentoo

IBus becomes to a choice of universal input method platform on GNOME 3. In this post, I’ll introduce how to set up IBus with ibus-chewing properly on Gentoo with gnome-shell 3.6. This is also a note for the trail-and-error procedures for these days.

1.Unmask the restriction of IBus and related resources

# vim /etc/portage/package.accept_keywords

Then add the following sequences to unmask required packages:

=app-i18n/ibus-chewing-1.4.3 ~x86
=app-i18n/ibus-1.5.2 ~x86

NOTE: The version of packages and its related resources may vary with time. You should check the ebuilds in your portages and unmask them manually. Also, with their build-dependent packages and the input methods you want to install.

2. Install IBus and related input methods

# emerge ibus ibus-chewing

NOTE: The post-installation messages of IBus will encourage you to add some environment setting in your X-related settings. However, in my opinion, you can ignore them if you are using gnome-shell.

3. Integrate IBus with gnome-shell

$ gnome-control-center

In the opened “System Settings” window. Select the icon named “Region & Language“. In the “Input Sources” tab:
a. Add the input sources you want to use. E.g., Chinese(Chewing)
b. Set up the shortcut for switch input methods. E.g., Ctrl+Space

Finally, re-login into your session and everything should works. Enjoy it. 🙂

Install gnome-shell 3.8 in Ubuntu with GDM as default login manager

The default shipping of gnome-shell in Ubuntu 13.04 is a mix of version 3.6 and version 3.8. We can upgrade to a general (and maybe clean) Ubuntu/GNOME system via ppa. Reference: How To Upgrade to GNOME 3.8 in Ubuntu 13.04.

# add-apt-repository ppa:gnome3-team/gnome3
# apt-get update && apt-get install gnome-shell ubuntu-gnome-desktop
# apt-get dist-upgrade
# apt-get autoremove && apt-get autoclean

After installation and reboot your system, you can login into the Ubuntu/GNOME environment.

However, the default login manager may be use the lightdm rather than GDM. You should reconfigure it manually if you want to use GDM and the configuration prompt is not shown while installation. The command is:

# dpkg-reconfigure gdm

When the prompt shown which is similar as the reference page one, select GDM. Reboot your system then you can use the default login manager.

Then we encounter another problem. In previous use of lightdm, Ubuntu will connect to network as possible. However in GDM that it will not do that procedure. If we want to let Ubuntu/GNOME/GDM connect to network for access like SSH, we can add a autostart symlink for it. Reference page: How can I use NetworkManager in GDM?.

# cp /etc/xdg/autostart/nm-applet.desktop /usr/share/gdm/autostart/LoginWindow/

And everything works as usual.

Enjoy it. 😉

Change default theme font settings of gnome-shell

Although I’ve post how to make the DROID font as the default font family in Ubuntu, the works have no 100% work in default gnome-shell theme. In summary the steps to set DROID font globally are:

  1. Make sure the font priority is the highest one. Ref: Use droid font as default on Ubuntu 12.04
  2. Install the gnome-tweak-tool and use it to make all the FONT family settings are Sans and Monospace.
  3. Re-login and it works.

However, the top panel and some UI still use the cantarell as default font (since version 3.6, I guess). We should substitute them to make an uniform UI. I’ll introduce two ways as follows:

1. Alter the gnome-shell CSS directly. It is simplest and perfect. However, the settings will be OVERWRITE after upgrading gnome-shell. The steps are:

$ sudo vim /usr/share/gnome-shell/theme/gnome-shell.css

You will see the stage block (in my system, it is at Line 24) as:

/* default text style */
stage {
font-family: cantarell, sans-serif;

Then delete the cantarell font family setting as:

/* default text style */
stage {
font-family: sans-serif;

Then it works when you re-login.

2. Use a local .fonts.conf to override font settings. It is a per-user work but still a feasible solution.

$ vim ~/.config/fontconfig/fonts.conf

Then copy the following settings, paste and save.

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">

        <match target="pattern" name="family">
                <test name="family" qual="any">
                <edit name="family" mode="assign" binding="same">


After re-login or restart gnome-shell, it works.

The above two are for top-panel/UI font family that the gnome-tweak-tool cannot alter to. Moreover, the font-size of top panel is also controlled by the theme CSS. If you want to alter the default top panel font size, please alter the css file manually. Enjoy it. 🙂

No wallpaper after upgrade to Ubuntu 13.04 with gnome-shell

After upgrading to Ubuntu 13.04, the desktop wallpaper is gone in gnome-shell (however, the issue is occurred in Unity for some user). The issue seems occurs in the default setting of Ubuntu because my Gentoo box has no such problem with gnome-shell 3.6 installed. There are several ways to fix the issues with this reference: Desktop shows a white or black background instead of wallpapers.

  1. Use gnome-tweak-tool. In the Desktop category > Turn ON the Have file manager handle the desktop option.
    However, it will cause the icons shown on desktop. If you do not want the icons, rollback option 1 and try the next option.
  2. Use gsettings to turn on/off specify feature. Try
    $ gsettings set org.gnome.settings-daemon.plugins.background active true

    . And it should display the wallpapaer with no desktop icon after re-login.

  3. Just install the latest gnome and gnome-shell through ppa. As reference: Fix – Ubuntu 13.04 background is white and no wallpaper.
    # add-apt-repository  ppa:gnome3-team/gnome3
    # apt-get update
    # apt-get install gnome-shell

Now I’m done with option 2. Maybe on day I’ll try option 3 for the latest version of gnome-shell. Enjoy it. 🙂

GNOME Shell on Ubuntu 12.04

An updated instruction from Replace Unity with gnome-shell on Ubuntu 11.10. In Ubuntu 12.04, there are better support for Unity and GNOME Shell coexists.

1. Install gnome-shell related packages:

$ sudo apt-get install gnome-shell \
gnome-themes-standard \
gnome-sushi \
gnome-contacts \

2. Disable strange overlay-scrollbar

$ export 'export LIBOVERLAY_SCROLLBAR=0' \
> ~/.xprofile

3. Use native notification of GNOME

$ sudo apt-get install notification-daemon

However, we should check the support of DBus to prevent other issues. Just check if there is ONLY contain notify-osd in the notification service file.

# vim /usr/share/dbus-1/services/org.freedesktop.Notifications.service

If the exec parameter in you file only contains notify-osd, such as: Exec=/usr/lib/…/notify-osd, you should alter it as Exec=/usr/lib/notification-daemon/notification-daemon.

4. Restart Ubuntu and change login session with GNOME. Then enjoy it. 🙂

Replace Unity with gnome-shell on Ubuntu 11.10

This article is about how to remove Unity (and its dependency packages) and launch the Gnome Shell by default.

Note: Some of the packages we want to remove may not installed in your system. Just remove the package name in the remove list.

1. Remove Unity and its dependency packages:
$ sudo apt-get remove unity unity-2d-places unity-2d unity-2d-panel unity-2d-spread unity-asset-pool unity-services unity-lens-files unity-lens-music unity-lens-applications gir1.2-unity-4.0 unity-common indicator-sound indicator-power indicator-appmenu libindicator6 indicator-application evolution-indicator indicator-datetime indicator-messages
This will also remove the tomboy and transmission. If you need them, just install back:
$ sudo apt-get install tomboy transmission

2. Install GNOME-shell and some BEST extra packages:
$ sudo apt-get install gnome-shell gnome-themes-standard gnome-sushi gnome-contacts gnome-tweak-tool

3. Remove scrollbar and appmenu of unity:
$ sudo apt-get remove appmenu-gtk indicator-applet-appmenu indicator-appmenu overlay-scrollbar

4. Use the native notification daemon (Or some notify may use ubuntu’s daemon and make us confuse):
$ sudo apt-get install notification-daemon
$ sudo apt-get remove notify-osd
This also remove gnome-power-manager but we need it.
$ sudo apt-get install gnome-power-manager

5. Clean up the system:

$ sudo apt-get autoremove
$ sudo apt-get autoclean
$ sudo dpkg --list |grep "^rc" | awk '{print $2}' | xargs sudo dpkg --purge

The first line is to clean up dependency packages while the second one is for the unused packages downloaded in system. The third one is to find the records which had been installed but remove and make a purge step.

6. Logout. And now you can log into GNOME Shell via click the ‘gear’ icon in login window and select GNOME Shell. Enjoy it. 🙂

The references are:
Ubuntu 11.10 GNOME Shell Guide
How can you remove Unity?
Ubuntu 11.10 Oneiric: Remove Unity and use Gnome Classic by Default