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. 🙂

Fix Google Play Store issues on my Ainol NOVO10 Hero MID

20130125 Update article contents

My new MID (Mobile Internet Device) is Ainol NOVO10 Hero. It is good but there is an issue of Google Play Store: some apps cannot be searched, installed, or updated. For example: Google Maps, Google+, Angy birds, Twitter, LINE and so on. After search and try-and-error, I found that features and framework are missing in their ROM. 1) the location features in /etc/system/permissions. 2) the Google Mobile Service (GMS) framework.

To solve this issue, we need the GMS patchs that we can obtain from For Android version 4.1.x, we can use the Because my rooted devices is using a custom ROM that is not feasible with the auto-upgrading script contained in the zip file, I need to extract the packages and move the files manually. Note that the file permissions may need to be correct: files are 644 and directories are 755.

Then the fix steps are:

  1. The device should be a root one.
  2. Use file browser which support root devices (e.g., Root Explorer), or the official adb tool for copying the files into appropriate directories.
  3. Clean up cache and data of Google Play Store (even Google Play Services).
  4. Reboot your device. Then you will see an upgrading process.
  5. Log in into Play Store and everything is fine.

Moreover, Twitter and LINE are still invisible when searching in Play Store. After take a deep look into their permissions, I found that my device still lost some permission files:

  • android.hardware.location: A lost file compared to the tablet_core_hardware.xml of my ROM.
  • android.hardware.location.gps: Twitter ONLY guarantee fine location from GPS. This file contains contents above.
  • android.hardware.telephony.gsm: LINE need phone call permissions.

After flashing these files, clean up data and cache of store, and reboot device, Twitter and LINE are back. If you encounter problem like this. Try it and enjoy it. 🙂

“Error: Failed to mount Windows share” after upgrading to Ubuntu 12.10

It is a tragedy after upgrading to Ubuntu 12.10 that settings are changed. Today when I want to connect to some samba share with my existing Bookmark, I got “Error: Failed to mount Windows share” in Nautilus. After surveying Q&A and doing check, I found:

  1. The mounting point changed from ~/.gvfs (or /media?) to /run/user/{username}.
  2. The existing bookmark in Nautilus had been altered to add duplicated folder string, e.g.
    smb:// -> smb://

where the second point is the real cause. Maybe it is an individual case and mine only. However, if you encounter the same error, maybe this can help. Enjoy it. 🙂

NAT dns failed of VirtualBox 4.1 on Ubuntu 12

After upgrade to Ubuntu 12.10, the NAT settings failed of VirtualBox VMs. Resources from Internet shown that it caused by Ubuntu changes the way the resolv.conf works. However in my desktop, it ONLY happened since this upgrading. From this reference, they said the local dns resolver switch to rather the old one,

There are much more feasible solutions on the Net: install dnsmasq, alter the interface settings of Ubuntu, etc. In my opinion, the problem only affected to VirtualBox and it is patched in the next release (4.2) that I use the simplest way: change per VM settings if it need of which is not shown in GUI settings. Steps are simple:

  1. Shutdown the VM you want to alter
  2. Open terminal and use the following command to enable resolver
    VBoxManage modifyvm "{the vm's name}" --natdnshostresolver1 on

. This command will alter the vbox’s XML settings and it works fine. Enjoy it. 🙂