cht電腦資訊gcin
adm Find login register

只有在teminal中可以使用gcin

guest
1 只有在teminal中可以使用gcin
Promote 0 Bookmark 02009-01-09quote  

我用的是 XO OLPC (fedora 9 + sugar build 767)

gcin 只能在terminal中使用,在其他application中都不能用。

----------------------------------

在 ~olpc/.xsession

export XMODIFIERS=@im=gcin

export GTK_IM_MODULE=gcin

export QT_IM_MODULE=gcin

export LC_CTYPE=en_AU.uft8

 ---------------------------------

以Write這個application為例

$ pgrep write

1354

sudo less -f /porc/1354/environ

這個file入面沒有 XMODIFIERS 這個變數

caleb
2 只有在teminal中可以使用gcin
Promote 0 Bookmark 02009-01-09quote  

guest
sudo less -f /porc/1354/environ

是 typo 嗎?應該是 proc 才對。

guest
這個file入面沒有 XMODIFIERS 這個變數

sugar 是 python 寫的,python 的東西要用輸入法只能用 XIM,所以一定要有 locale (LC_CTYPE / LANG / LC_ALL) 及 XMODIFIERS 設定。

在 terminal 中可用,有兩種可能:

1. terminal 有正確設定 locale 及 XMODIFIERS

2. terminal 使用了 GTK+ / Qt immodule

建議檢查一下 terminal 的 /proc/$PID/environ 看看是哪一種情況。

不知道 OLPC 的個人設定放哪裡,可考慮惡搞全域設定,把 locale 及 XMODIFIERS 寫到 /etc/X11/ 裡面。

guest
3 只有在teminal中可以使用gcin
Promote 0 Bookmark 02009-01-10quote  

caleb

是 typo 嗎?應該是 proc 才對。

打錯字了 XD"

caleb

建議檢查一下 terminal 的 /proc/$PID/environ 看看是哪一種情況。

以下是兩個application的environ。

terminal

LC_CTYPE=en_AU.utf8^@
QT_IM_MODULE=gcin^@
LOGNAME=olpc^@
PATH=/home/olpc/Activities/Terminal.activity/bin:/usr/bin:/bin^@
HOME=/home/olpc^@
DISPLAY=:0^@
LANG=en_AU.utf8^@
SHELL=/bin/bash^@
TZ=Asia/Hong_Kong^@
XDG_SESSION_COOKIE=d5fcb1dcf6114e6896557ee9495a86bc-1231551851.620992-1595561288^@
SESSION_MANAGER=local/unix:@
/tmp/.ICE-unix/1247,unix/unix:/tmp/.ICE-unix/1247^@
SHLVL=1^@
ICEAUTHORITY=/var/tmp/olpc-auth/.ICEauthority^@
WINDOWPATH=3^@
XMODIFIERS=@
im=gcin^@
SUGAR_BUNDLE_PATH=/home/olpc/Activities/Terminal.activity^@
SUGAR_LOCALEDIR=/home/olpc/Activities/Terminal.activity/locale^@SUGAR_THEME=sugar-xo^@
SUGAR_ACTIVITY_ROOT=/home/olpc/.sugar/default/org.laptop.Terminal^@
GTK2_RC_FILES=/usr/share/sugar/data/sugar-xo.gtkrc^@
SUGAR_BUNDLE_ID=org.laptop.Terminal^@
DBUS_SESSION_BUS_ADDRESS=unix:path=/tmp/olpc-session-bus,guid=51d9788530f384d545ede4524967fd6b^@
XAUTHORITY=/var/tmp/olpc-auth/.Xauthority^@
GTK_IM_MODULE=gcin^@XSERVERAUTH=/var/tmp/olpc-auth/.Xserverauth^@
PWD=/home/olpc^@

 

Write

PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin^@
TERM=linux^@
UPSTART_JOB_ID=3^@
UPSTART_JOB=rainbow^@
UPSTART_EVENT=started^@

看來是,情況1,terminal 有正確設定 locale 及 XMODIFIERS

caleb

不知道 OLPC 的個人設定放哪裡,可考慮惡搞全域設定,把 locale 及 XMODIFIERS 寫到 /etc/X11/ 裡面。

我試過在 /etc/X11/xinit/Xsession 加上 locale 及 XMODIFIERS,

結果都是一樣。

還是...全域設定 是另一個file ?

cht電腦資訊gcin
adm Find login register
views:6938