SCIM Configuration for QT4/KDE4 application support

All,

I have been working for a while now to add dual language support on my openSUSE 11.4 install. I tried ibus and while it worked I found that it froze up plasma frequently and even caused plasma to crash. I also currently have a problem with some missing files that somehow were removed that is preventing ibus from starting.

I tried UIM and I was not able to get it to work with QT4 and when it would occasionally turn on it caused plasma crashes.

I am currently testing SKIM/SCIM. I am able to use it in GTK, (Seamonkey) and QT3 applications but it is not working with QT4 applications.

General SCIM other is configured for Panel Program: scim-panel-kde and Config_module is configured for kconfig.

Xwindow from end is: On the Spot enabled and Start skim auto enabled. Shortcuts are configured and work as well as

The main toolbar and system icon work as well.

Is their a preferred method to configure KDE4.7 > Configure Desktop > Input Devices > Layouts > Configure Layouts to work properly with a specific Input Manager that supports Korean. I have tried to configure this as well with no luck at all.

Here are the RPM’s I have installed:
libhangul 0.0.12-10.1
mlterm-scim 3.0.3-20.3
scim 1.4.7-361.1
scim-bridge 0.4.15-142.1
scim-bridge-gtk 0.4.15-142.1
scim-bridge-qt 0.4.15-142.1
scim-devel 1.4.7-361.1
scim-hangul 0.3.2-132.2
scim-input-pad 0.1.1-289.1
scim-m17n 0.2.2-470.1
scim-qtimm 0.9.4-291.1
scim-tables 0.5.8-260.1
scim-tables-ko 0.5.8-265.1
skim 1.4.5-263.1

I also have the following packages installed:
gtk2-immodule-xim and gtk3-immodule-xim

I see from a Google search that other distributions, Ubuntu refrence a scim-bridge-client-qt4 package that fixes this problem. I do not see it available in openSUSE 11.4

Does anyone know what IM openSUSE 11.4, installed with by default, and KDE4.7 config use natively?

I am also using the M17n and M17n-Tumbleweed repo’s.

I also see there are new releases for scim:
scim Version 1.4.11
scim-tables Version 0.5.10
scim-input-pad Version 0.1.3
scim-bridge Version 0.4.16

Here is my current $HOME/.bashrc and $HOME/.profile settings:

skim/scim Input Settings

Note’s: Currently works with GTK and QT3, QT4 not working.

export XMODIFIERS="@im=scim"
export GTK_IM_MODULE=scim
export QT_IM_MODULE=scim
export QT4_IM_MODULE=scim
export QT_IM_SWITCHER=scim
export QT4_IM_SWITCHER=scim

ibus Input Settings

Note’s: Currently a missing GO_Object file for GTK prevents this from starting, Hangs periodically

#export XMODIFIERS="@im=ibus"
#export GTK_IM_MODULE=ibus
#export QT_IM_MODULE=ibus
#export QT4_IM_MODULE=ibus
#export QT_IM_SWITCHER=ibus
#export QT4_IM_SWITCHER=ibus

uim Input Settings

Note’s: Causes QT4 apps to crash possible issue with XIM being installed

#export XMODIFIERS="@im=uim"
#export GTK_IM_MODULE=uim
#export GTK3_IM_MODULE=uim
#export QT_IM_MODULE=uim
#export QT4_IM_MODULE=uim
#export QT_IM_SWITCHER=uim
#export QT4_IM_SWITCHER=uim

Language Settings

English US

export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8

Korean

#export LANG=ko_KR.utf8
#export LANGUAGE=ko_KR.utf8

I want to have this computer setup with two accounts one that use’s Korean display and one that uses English display. The font display is currently not a problem and working correctly.

If scim can not support QT4/GTK3 is their a way to install UIM for QT4 and using the scim-uim, uim, uim-qt4, uim-gtk3 Input module plugins?

It would likely require adding these env settings:
#export GTK3_IM_MODULE=uim
#export QT4_IM_SWITCHER=uim
#export QT4_IM_MODULE=uim

And then ensuring that SCIM can monitor uim to implement the change? I am not sure if this is what scim-uim is for but that is what it looks like.

scim / skim will really cause you all sorts of problems and you will spend a lot of time tryng to work out those problems.
As I understand it, it receives very few updates and very little support these days.
I stopped using it a couple of years ago now.

When you say ibus freezes plasma - are you using ibus with kimpanel or ibus as a standalone?

My suggestion would be to use it as a standalone.
Try removing all traces of ibus from your system and then install from this repository

Index of /repositories/home:/swyear:/ibus/openSUSE_11.4

I have ibus running on several systems now - and it just works.

Thank you I will tryout ibus again from this repo. If this repo has updates or has additional packages can they be uploaded to tumbleweed M17n or Tumbleweed standard?

Thanks again.

the fact that you are using tumbleweed may account for some of the problems you have struck thus far.
I’d highly recommend avoiding tumbleweed until you have things running as you expect.

I am not seeing an ibus-qt4 RPM is their one required?

Also are their any other env settings that I should add?

ibus Input Settings

export XMODIFIERS="@im=ibus"
export GTK_IM_MODULE=ibus
export QT_IM_MODULE=ibus
export QT4_IM_MODULE=ibus
export QT_IM_SWITCHER=ibus
export QT4_IM_SWITCHER=ibus

Language Settings

English US

export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8

Note for others:
The command ibus-setup will start the ibus configuration utility the env variables must first be added.

Google Code ibus site:
ibus - IBus - Intelligent Input Bus - Google Project Hosting

Install Section:
Install - ibus - Installation related topics, including building and testing. - IBus - Intelligent Input Bus - Google Project Hosting

Hangul Project:
KLDP.net:환영합니다.: 열린 한글 프로젝트 (libhangul): 프로젝트 정보

ibus Wikipedia:
Intelligent Input Bus - Wikipedia, the free encyclopedia

input methods im Wikipedia:
Input method - Wikipedia, the free encyclopedia

*NIX input method im support list:
List of input methods for UNIX platforms - Wikipedia, the free encyclopedia

uim Wikipedia:
Uim - Wikipedia, the free encyclopedia

uim home Google code:
uim - A multilingual input method framework - Google Project Hosting

Smart Common Input Method scim wikipedia:
Smart Common Input Method - Wikipedia, the free encyclopedia

Timothy

env settings updated: $HOME/.bashrc and $HOME/.profile settings:

env settings updated to be added to:

XModifier

export XMODIFIERS="@im=ibus"
#QT
export QT_IM_MODULE=ibus
export QT_IM_SWITCHER=ibus
#QT4
export QT4_IM_MODULE=ibus
export QT4_IM_SWITCHER=ibus

GTK

export GTK_IM_MODULE=ibus
export GTK_IM_SWITCHER=ibus

GTK3

export GTK3_IM_MODULE=ibus
export GTK3_IM_SWITCHER=ibus

Will someone please provide me with the list of dependencies for ibus? I am missing some files for gtk as you can see from the following error message: If you happen to know what RPM provides this file please let me know.

korean@thedreamcity1:~> ibus-setup

Traceback (most recent call last):
File “/usr/share/ibus/setup/main.py”, line 28, in <module>
import gtk

File “/usr/lib/python2.7/site-packages/gtk-2.0/gtk/init.py”, line 40, in <module>
from gtk import _gtk

ImportError: could not import gobject (could not find _PyGObject_API object)

Thanks

Timothy

I think you have a little too much going on with your setting variables here.
for example - here is a copy of my .profile and bashrc. Neither contains any reference to any kid of input method.

.profile

Sample .profile for SuSE Linux

rewritten by Christian Steinruecken <cstein@suse.de>

This file is read each time a login shell is started.

All other interactive shells will only read .bashrc; this is particularly

important for language settings, see below.

test -z “$PROFILEREAD” && . /etc/profile || true

Most applications support several languages for their output.

To make use of this feature, simply uncomment one of the lines below or

add your own one (see /usr/share/locale/locale.alias for more codes)

This overwrites the system default set in /etc/sysconfig/language

in the variable RC_LANG.

#export LANG=de_DE.UTF-8 # uncomment this line for German output
#export LANG=fr_FR.UTF-8 # uncomment this line for French output
#export LANG=es_ES.UTF-8 # uncomment this line for Spanish output

Some people don’t like fortune. If you uncomment the following lines,

you will have a fortune each time you log in :wink:

#if -x /usr/bin/fortune ] ; then

echo

/usr/bin/fortune

echo

#fi

.bashrc

Sample .bashrc for SuSE Linux

Copyright (c) SuSE GmbH Nuernberg

There are 3 different types of shells in bash: the login shell, normal shell

and interactive shell. Login shells read ~/.profile and interactive shells

read ~/.bashrc; in our setup, /etc/profile sources ~/.bashrc - thus all

settings made here will also take effect in a login shell.

NOTE: It is recommended to make language settings in ~/.profile rather than

here, since multilingual X sessions would not work properly if LANG is over-

ridden in every subshell.

Some applications read the EDITOR variable to determine your favourite text

editor. So uncomment the line below and enter the editor of your choice :slight_smile:

#export EDITOR=/usr/bin/vim
#export EDITOR=/usr/bin/mcedit

For some news readers it makes sense to specify the NEWSSERVER variable here

#export NEWSSERVER=your.news.server

If you want to use a Palm device with Linux, uncomment the two lines below.

For some (older) Palm Pilots, you might need to set a lower baud rate

e.g. 57600 or 38400; lowest is 9600 (very slow!)

#export PILOTPORT=/dev/pilot
#export PILOTRATE=115200

test -s ~/.alias && . ~/.alias || true

The files required to have ibus work in all apps - gtk, qt 3 & 4, X11

ibus
ibus-gtk
ibus-qt
libibus2

in addition - you will need the files specific for the language you want to input.
In my case for Japanese
ibus-anthy

For every clean install I simply install these files and some Japanese fonts.
I launch ibus
Configure it to use anthy and set up a shortcut to turn it on and off and it simply works.

I have set this up on multiple systems now (32 & 64 bit) and never struck any problem getting it to work.
I am using Opensuse 11.4
Language settings via yast
Local settings for user root > ctype only
Use UTF-8 Encoding
Detailed Locale setting > en_US

I know with scim that changing the Detailed Locale setting to anything other than en_US causes it to stop working but I do not believe this is the case with ibus.

I have just been having a bit of a play.
The version of ibus I have installed is from the Opensuse 11.4 update repo.

I just tried installing from swyear’s repo (I used this repo for 11.3 as it was always well maintained) but it wanted to drag in a lot of dependencies not required from the opensuse installed version.

The version included with Opensuse is not the latest but works very well. It might be worth backtracking and installing ibus from the opensuse update repo

this is the list of dependencies

prerequires
/bin/sh
/bin/sh
coreutils
diffutils
/usr/bin/gconftool-2
/usr/bin/touch

requires
/bin/sh
/bin/sh
libc.so.6()(64bit)
libc.so.6(GLIBC_2.2.5)(64bit)
libc.so.6(GLIBC_2.4)(64bit)
libc.so.6(GLIBC_2.3.4)(64bit)
libpthread.so.0()(64bit)
libpthread.so.0(GLIBC_2.2.5)(64bit)
libglib-2.0.so.0()(64bit)
libgobject-2.0.so.0()(64bit)
libX11.so.6()(64bit)
libdbus-1.so.3()(64bit)
libgtk-x11-2.0.so.0()(64bit)
libgdk-x11-2.0.so.0()(64bit)
libgthread-2.0.so.0()(64bit)
glib2
libgconf-2.so.4()(64bit)
gconf2
dbus-1-python
notification-daemon
gobject-introspection
iso-codes
python-gtk
python-notify
python-xdg
libibus.so.2()(64bit)
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadIsLzma) <= 4.4.6-1
python(abi) = 2.7
/bin/sh
/bin/sh
coreutils
diffutils
/usr/bin/gconftool-2
/usr/bin/touch

The error message you received appears to be related to python.
If you can, I’d backtrack everything you have updated from tumbleweed to the update repos and try that.

All,

I have ibus working. The software problem I had was likely due to adding the GNOME 3.0 repo. The specific file that was missing I solved by installing a different version of python-gtk. After words I removed the GNOME 3.0 Repo and performed a zypper dup ibus has been working well ever since.

According to the ibus configuration utility there are some env settings that are required. A message displays this when you run ibus-setup for the first time requesting certain env variables be added to .bashrc to select the language properly.

The Language settings are required on the system I am using because I have both English and Korean user profiles. These are necessary for changing the display language across almost all programs, KDE4 requires it’s localization settings and some third party have to be setup manually, as the language settings in YaST2 change the entire system but do not support a per user profile setting and the KDE sysconfig localization does not change a number of GNOME/third party GTK2/3 applications. For example Firefox.

Does anyone know of a KDE4 Plasma/plasmoid/widget or other KDE4/QT4 based control interface for ibus. I would like to do away with the ibus GTK2 language bar and icon as they do not look good in KDE 4.7. They are working of course but they do not match at all.

The repo you provide has:

**plasma-addons-ibus **- Additional Plasmoids Depending on IBus - Generic input method panel for Plasma, for ibus
/usr/lib/ibus
/usr/lib/ibus/dbus
/usr/lib/ibus/dbus/README
/usr/lib/ibus/dbus/kimpanel-ibus
/usr/lib/ibus/dbus/panel.py
/usr/lib/ibus/dbus/qtpanel.xml

plasma-addons-kimpanel - Kimpanel, generic input method panel for Plasma - Generic input method panel for Plasma, support scim and ibus
/usr/bin/kimpanel
/usr/lib/kde4/plasma_applet_kimpanel.so
/usr/lib/libkimpanelruntime.so.0
/usr/share/dbus-1/interfaces/org.kde.impanel.xml
/usr/share/doc/packages/plasma-addons-kimpanel
/usr/share/doc/packages/plasma-addons-kimpanel/COPYING
/usr/share/doc/packages/plasma-addons-kimpanel/README
/usr/share/kde4/config.kcfg/kimpanelconfig.kcfg
/usr/share/kde4/services/plasma-applet-kimpanel.desktop

I installed these but they are not currently showing up under the add widgets.

I have not read the readme file for kimpanel yet. Sorry to ask before reading the directions I will hopefully have a chance to take a look at it shortly.

kimpanel is the plasma frontend for both ibus and scim - whichever you use.
I don’t use it but did have a play wiht it about six months ago.
I don’t recall having any problems setting it up. It should be pretty straight forward.

just add plasma-addons-kimpanel & plasma-addons-ibus

then add the kimpanel widget to your system tray and configure from there.

I installed both of the RPM packages.

The widget does not show up in the add widgets. when I try to manually start kimpanel it crashes with the following output.

korean@thedreamcity1:~> /usr/bin/kimpanel
QSocketNotifier: Invalid socket 12 and type ‘Read’, disabling…
KCrash: Application ‘kimpanel’ crashing…
KCrash: Attempting to start /usr/lib/kde4/libexec/drkonqi from kdeinit
sock_file=/home/korean/.kde4/socket-thedreamcity1/kdeinit4__0

[1]+ Stopped /usr/bin/kimpanel

kimpanel file list:
/usr/bin/kimpanel
/usr/lib/kde4/plasma_applet_kimpanel.so
/usr/lib/libkimpanelruntime.so.0
/usr/share/dbus-1/interfaces/org.kde.impanel.xml
/usr/share/doc/packages/plasma-addons-kimpanel
/usr/share/doc/packages/plasma-addons-kimpanel/COPYING
/usr/share/kde4/config.kcfg/kimpanelconfig.kcfg
/usr/share/kde4/services/plasma-applet-kimpanel.desktop

Readme information
/usr/share/doc/packages/plasma-addons-kimpanel/README

Build & Install:
cmakekde

RUN:
You may need build scim or ibus backend to get it running functionally, see scim/README or ibus/README for install instructions.

type: kimpanel to launch the standalone version or add the plasma applet to your panel

Is it necessary to run the cmakekde command against this and if so what file do you run this command against? I apologize I typically do not compile KDE software so the read me was not that intuitive.

Is there any compilation necessary for the tools RPM?

Thanks

Timothy

Also what RPM provide cmakekde? I currently do not have this available.

Thanks