LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2319|回复: 8

求助:在gtk以外的程序中scim使用不能(已解决)

[复制链接]
发表于 2008-1-21 22:42:01 | 显示全部楼层 |阅读模式
无论是qt程序还是java,都不能使用scim,快捷键无法呼出。依照网上的方法改来改去也没弄好。
.xinitrc如下:

  1. #!/bin/sh
  2. export XMODIFIERS=@im=SCIM
  3. export XIM="scim"
  4. export XINPUT="xim"
  5. export XIM_PROGRAM="scim -d"
  6. export GTK_IM_MODULE="xim"
  7. export QT_IM_MODULE="xim"

  8. exec /usr/bin/xfce4-session
复制代码

$ps ax | grep 'scim'结果:

  1. 8736 ?        Ss     0:00 /usr/lib/scim-1.0/scim-launcher -d -c simple -e all -f socket --no-stay
  2. 8739 ?        Ss     0:00 /usr/lib/scim-1.0/scim-helper-manager
  3. 8740 ?        Ssl    0:01 /usr/lib/scim-1.0/scim-panel-gtk --display :0.0 -c socket -d --no-stay
复制代码

$export结果:

  1. declare -x CLASSPATH=":/opt/java/jre/lib"
  2. declare -x COLORTERM="Terminal"
  3. declare -x COLUMNS="140"
  4. declare -x DISPLAY=":0.0"
  5. [color=blue]"eclare -x GTK_IM_MODULE="xim[/color]
  6. declare -x G_BROKEN_FILENAMES="1"
  7. declare -x HUSHLOGIN="FALSE"
  8. declare -x INPUTRC="/etc/inputrc"
  9. declare -x J2REDIR="/opt/java/jre"
  10. declare -x JAVA_HOME="/opt/java/jre"
  11. declare -x LADSPA_PATH="/usr/lib/ladspa/"
  12. declare -x LANG="en_US.utf8"
  13. declare -x LC_COLLATE="C"
  14. declare -x LESS="-R"
  15. declare -x LESSCHARSET="latin1"
  16. declare -x LIBXCB_ALLOW_SLOPPY_LOCK="true"
  17. declare -x LINES="40"
  18. declare -x MANPATH="/usr/man:/usr/X11R6/man:/opt/java/jre/man:/opt/qt/man"
  19. declare -x MOZ_PLUGIN_PATH="/opt/mozilla/lib/plugins:/usr/lib/mozilla/plugins"
  20. declare -x OLDPWD
  21. declare -x PATH="/bin:/usr/bin:/sbin:/usr/sbin:/usr/X11R6/bin:/opt/bin:/opt/java/jre/bin:/opt/mozilla/bin:/opt/qt/bin"
  22. declare -x PKG_CONFIG_PATH=":/opt/mozilla/lib/pkgconfig:/opt/qt/lib/pkgconfig"
  23. declare -x PWD="/etc"
  24. declare -x QTDIR="/opt/qt"
  25. [color=blue]"eclare -x QT_IM_MODULE="xim[/color]
  26. declare -x QT_XFT="true"
  27. declare -x SESSION_MANAGER="local/Jugdral:/tmp/.ICE-unix/8640"
  28. declare -x SHELL="/bin/bash"
  29. declare -x SHLVL="4"
  30. declare -x TERM="xterm"
  31. declare -x WINDOWID="29360159"
  32. declare -x WINDOWPATH="4"
  33. declare -x XDG_CONFIG_DIRS="/etc/xdg"
  34. declare -x XDG_DATA_DIRS="/usr/share:/usr/local/share"
  35. [color=blue]"eclare -x XIM="scim
  36. "eclare -x XIM_PROGRAM="scim -d
  37. "eclare -x XINPUT="xim
  38. "eclare -x XMODIFIERS="@im=SCIM
  39. [/color]
复制代码

非常奇怪,引号全都错位了

any ideas?
发表于 2008-1-22 02:44:09 | 显示全部楼层
  1. ...
  2. export XMODIFIERS='@im=SCIM'
  3. ...
  4. export XINPUT="scim"
  5. ...
  6. export GTK_IM_MODULE="scim"
  7. ...
复制代码
回复 支持 反对

使用道具 举报

发表于 2008-1-22 16:36:18 | 显示全部楼层

  1. # 20080121 updated

  2. pkgname=scim-bridge
  3. pkgver=0.4.14
  4. pkgrel=2
  5. pkgdesc="Yet another gtk/qt-immodule for SCIM"
  6. arch=('i686')
  7. url="http://www.scim-im.org"
  8. license=('GPL')
  9. depends=(scim gtk2 qt)

  10. source=(http://nchc.dl.sourceforge.net/sourceforge/scim/$pkgname-$pkgver.tar.gz)
  11. md5sums=('')

  12. build() {
  13. cd "$startdir/src/$pkgname-$pkgver"
  14. QT4_LIBS=/usr/lib/qt/ ./configure --prefix=/usr --enable-qt4-immodule --enable-gtk2-immodule --disable-qt3-immodule
  15. make || return 1
  16. make DESTDIR="$startdir/pkg" install
  17. mkdir -p $startdir/pkg/usr/lib/qt
  18. mv $startdir/pkg/usr/plugins $startdir/pkg/usr/lib/qt/
  19. }
复制代码


安装完了以后把 .xinitrc 里面的改成
QT_IM_MODULE="scim-bridge"
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-1-22 20:51:07 | 显示全部楼层
Post by jarryson;1809799
...
export XMODIFIERS='@im=SCIM'
...
export XINPUT="scim"
...
export GTK_IM_MODULE="scim"
...


不管用。。。

感谢number5提供的PKGBUILD,然而我只有qt3程序。qt3的scim-bridge在我这里又编译不过去。。。

引号的问题解决了,原来.xinitrc每行的未尾都有一个看不见的^M,又或者只是RPWT,总之正常了就好^^

现在我最关心的是JAVA程序里怎么使用scim
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-1-23 20:51:22 | 显示全部楼层
弄好了,在.xinitrc里加一行
scim -d
无论scim还是xim全都OK
但是有个新的问题,java的中文显示不完整,scim打出来都是方块。
下面是截图,注意第一张图右侧的方块。有谁遇到过类似的情况吗?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2008-1-23 22:42:24 | 显示全部楼层
我就遇到过,后来一气之下,改用fcitx,这叫不叫逃避问题?

中文Java 支持:
$JAVA_HOME/jre/lib/fonts/  下建一个fallback 的目录,然后建一个中文字体的软链接过去。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-1-23 22:59:34 | 显示全部楼层
链过去了。。。fonts.dir都做了,就是不认。。。
唉,我都无语了
回复 支持 反对

使用道具 举报

发表于 2008-1-23 23:10:33 | 显示全部楼层
参考一下这里试试:
http://www.linuxsir.cn/bbs/showthread.php?t=158384

不像是SCIM的问题,而是Java的中文支持问题。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-1-24 18:34:37 | 显示全部楼层
已解决
需要在程序中设置中文字体。
比如Mercury
Options>>Global settings>>Appearance>>Fonts
改成支持中文的字体就好了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表