Bugzilla – Bug 331614
Cannot input Chinese chars in all OOo components
Last modified: 2007-10-23 12:35:32 UTC
Fresh installation of openSUSE 10.3 x86_64. With one OOo component(e.g. Writer) open, ctrl + space shortcut does not call out scim input method. Even specifying the pinyin IM by mouse, it does not input Chinese chars. suspected buggy component: scim-bridge.
Are you using KDE or Gnome? In case you are using KDE, does it work if you do QT_IM_MODULE=scim oowriter (I assume that you have QT_IM_MODULE=scim-bridge by default).
I'm using KDE and my QT_IM_MODULE=scim-bridge is by default. Tried export QT_IM_MODULE=scim oowriter But it did not work. :(
The issue seems more serious than I previously thought. Actually, x86_64 10.3 users cannot input Chinese by SCIM in some/(all?) YaST modules. Other Apps with this issue (from community feedbacks) - KDE, QT_IM_MODULE=scim-bridge: skype qutaus plus YaST2 -> sysconfig YaST2 -> sw_single YaST2 -> inst_source
I found that there is a problem with the scim-bridge-qt and the scim-bridge-qt-32bit packages: They conflict: /usr/lib/qt3/plugins/inputmethods /usr/lib/qt3/plugins/inputmethods/im-scim-bridge.so mfabian@magellan:~$ rpm -ql scim-bridge-qt-32bit /usr/lib/qt3 /usr/lib/qt3/plugins /usr/lib/qt3/plugins/inputmethods /usr/lib/qt3/plugins/inputmethods/im-scim-bridge.so mfabian@magellan:~$ Therefore, if both are installed input will not work either in 32bit applications (e.g. OpenOffice, skype, ...) or in 64bit applications (KDE and most other qt based applications). Which of these work depends on whether scim-bridge-qt or scim-bridge-qt-32bit has been installed last. If scim-bridge-qt-32bit has been installed last, input in the 32bit applications will work but not in the 64bit applications. If scim-bridge-qt has been installed last it is the other way round.
1. 32bit has the issue also. But some users claimed that configuring scim once from the GUI then reboot could sove the issue. 2. A workaround found is >scim -d >oowriter
Actually, scim-bridge-qt-32bit is not installed by default in a 64bit version 10.3. So I think the conflict btween 2 packages you mentioned is another problem. With this: >rpm -q scim-bridge-qt-32bit package scim-bridge-qt-32bit is not installed >scim -d >./skype I can still input Chinese in the 32bit Skype. And please note that OpenOffice packages shiped with 64bit 10.3 are 64bit ones. btw. I guess scim XIM support module(or some other modules?) is not loaded automatically. 'cause before scim -d, >ps aux | grep "scim-launcher.*-f x11" | grep -v grep | wc -l returns 0
Please paste the result of the following commands, Thanks: ps awx | grep scim and rpm -q scim-bridge-qt If possible, please report which input method module your qt application is using. 1. Open kwrite, try to choose a file, 2. In the Open file dialog, right click on Location entry; 3. In the popup menu, pop up select input method submenu; 4. Please report which input method has been checked, scim-bridge or xim.
Just updated from the M17N >rpm -q scim-bridge-qt scim-bridge-qt-0.4.13-34.4 > ps awx | grep scim 3671 ? Ss 0:00 /usr/lib64/scim-1.0/scim-launcher -d -c simple -e all -f socket --no-stay -d 3691 ? Ssl 0:00 /usr/lib64/scim-1.0/scim-panel-gtk --no-stay --display :0 -c socket -d 3693 ? S 0:00 scim-bridge 4439 pts/2 R+ 0:00 grep scim I went through your steps. And as expected, the checked item is scim-bridge
tried another gtk app - gobby >rpm -q scim-bridge-gtk scim-bridge-gtk-0.4.13-34.4 and right-clicked to see the Input Method submenu, The Checked one is still the 'SCIM Bridge Input Method'.
Truth Wang> Actually, scim-bridge-qt-32bit is not installed by default Truth Wang> in a 64bit version 10.3. That is a bug as well, see bug #225749.
Truth Wang> btw. I guess scim XIM support module(or some other Truth Wang> modules?) is not loaded automatically. Strange, because this works for me. Did you change something in the default start procedure of scim? /etc/sysconfig/language contains a variable INPUT_METHOD="" which should be empty by default. Do you have a ~/.xim file in your home directory? If you want to use the default, you don’t need such a file. If you want to specify the commands to start the input method yourself, you may create such a file and put the necessary commands in there. For example ~/.xim could contain: export XMODIFIERS="@im=SCIM" export GTK_IM_MODULE=scim export QT_IM_SWITCHER=imsw-multi export QT_IM_MODULE=scim scim -d But doing this should not be necessary unless you want to do something different from the default. And if I understand you correctly you didn’t do any such changes, is that right? Which desktop are you using? KDE or Gnome?
cat /etc/sysconfig/language | grep INPUT_METHOD INPUT_METHOD="" I'm using KDE. And I don't have a .xim file under my home folder. >cat /etc/sysconfig/language | grep INPUT_METHOD INPUT_METHOD="" >>And if I understand you correctly you didn’t do any such changes, is that right? Well, almost yes. I didn't change anything but disabling some input methods in scim-setup. It is another strange thing, right click the scim icon shows no "Configure", but "Reload settings, Sticky Window, Hide toolbar, help..| Exit". So I had to start scim-setup from shell.
Created attachment 179150 [details] A patch for scim-bridge This bug happens with a new kde 64bit installation. The scim-bridge forgets to launch the x11 frontend. So I add this patch to launch it. Hi, Thruth. If possible, please test this patch.
I’ve submitted scim-bridge with Peng Wu’s patch from comment #13 to the openSUSE build service and STABLE/Factory to make it easier for Thruth Wang to test it. You can get the new packages from http://download.opensuse.org/repositories/M17N/openSUSE_10.3/
There are a few things I don’t understand though. The script /etc/X11/xim.d/scim-bridge, which is used to init the input method when scim-bridge is used, contains: export XMODIFIERS=@im=SCIM export GTK_IM_MODULE=scim-bridge export QT_IM_SWITCHER=imsw-multi export QT_IM_MODULE=scim-bridge case "$WINDOWMANAGER" in *kde) if ! type -p skim > /dev/null 2>&1 \ || grep -i -q "^[[:space:]]*Autostart.*=.*false" $HOME/.kde/share/config/skimrc then scim -d else # skim will be used. But we don't start it here, # we rely on the KDE autostart # mechanism used in the skim package instead. # skim -d : fi ;; *) scim -d ;; esac I.e. in the non-KDE case it already executes "scim -d". In case of KDE, it executes "scim -d" only if the automatic start of skim has been disabled in the setup dialog of skim, then it assumes that the user wants to use scim instead of skim and therefore it starts "scim -d" in this case. If skim is not disabled, the autostart mechanism of KDE will start skim, which should be the same as calling "skim -d" from the command line. So why doesn’t this work for Truth and why does it work for me? I am using KDE on a 64bit system as well and I don’t run into that problem. And what does this have to do with 64bit? Nothing in the /etc/X11/xim.d/scim-bridge is 64bit specific and Peng Wu’s patch doesnt’t seem to be 64bit specific either.
Hi. I just finished building a new package myself (scim-bridge scim-bridge-qt scim-bridge-gtk) locally. btw. the build service is not stable recently, too many 500 errors. The new package solves the problem. >ps aux | grep "scim-launcher.*-f x11" | grep -v grep | wc -l now returns 1 Chinese input in OOo/skype/YaST works out of box. Thank you for the package in M17N, Mike. And many thanks to Peng Wu for the patch. I'll tell the Chinese community to update from M17N. Will there be an online-update for this?
NEEDINFO → Anja Stock <ast@novell.com> Anja, can we make an online-update for this? It is a rather serious problem if inputmethods don’t work in OpenOffice.
Thank you! Updated package submitted to 10.3. Patchinfo file submitted as well: mfabian@magellan:/work/src/done/10.3/scim-bridge$ cat /work/src/done/PATCHINFO/scim-bridge.patch.box DISTRIBUTION: 10.3-i386,10.3-ppc,10.3-x86_64 PACKAGE: scim-bridge,scim-bridge-qt,scim-bridge-qt-32bit,scim-bridge-gtk,scim-bridge-gtk-32bit PACKAGER: mfabian@suse.de BUGZILLA: 331614 SWAMPID: 14208 CATEGORY: recommended SUMMARY: fixes CJK input problems in applications using scim-bridge via XIM SUMMARY_DE: löst CJK Inputprobleme in Programmen, die scim-bridge über XIM benutzen DESCRIPTION: When using scim-bridge on KDE, the X11 frontend of scim was sometimes not started automatically which made CJK input impossible in applications using scim-bridge via XIM, for example OpenOffice. This patch fixes the problem. DESCRIPTION_DE: Bei Benutzung von scim-bridge unter KDE wurde das X11 Frontend von scim manchmal nicht automatisch gestartet, was zur Folge hatte, daß CJK input in Programmen, die scim-bridge über XIM benutzen, nicht funktionierte. Dieser Patch behebt dieses Problem. mfabian@magellan:/work/src/done/10.3/scim-bridge$ Online update will showup soon, closing bug as FIXED.
released