我也剛剛測試完,產生的問題現象,還有問題的解法,就如你和 Y.L Zhou 一樣。都是在 execution permission
上。我已經將這解法先寫進 FAQ,希望可以盡快將這個解法整合進程式裡。一些問題我先回答如下,
2009/3/31 eric zhao <ericzha...@gmail.com>:
>
> 问题已解决。
> mat 可能没考虑过用普通用户身份来执行安装,建议 FAQ 中加上。
>
> 用 普通用户 test 安装 fbterm 时,其自动设置有 suid,有:
> $ ll ${HOME}/local/bin/fbterm
> -rwsr-xr-x 1 test test 76248 03-30 23:57 /home/test/local/bin/fbterm
>
> 修改 fbterm 为 root 所有 并且 设置 suid,之后 root 和 普通用户 test 可以激活输入法。
> chown 0.0 ${HOME}/local/bin/fbterm
> chmod u+s ${HOME}/local/bin/fbterm
>
> 这里有点问题:
> 普通用户 test 属于 vedio 组,可以正常访问 /dev/fb0,fbterm 去掉 suid,仍可正常运行;
> 要使用 ucimf,确必须设置 fbterm suid;ucimf 背后做了什么需要 root 权限?
> 能不能去掉对 root 权限依赖,相信有相当多的人不喜欢 suid?
"Ctrl_Space, Ctrl_Shift,.." 這些鍵是原本 console 下沒有的,因此 fbterm+ucimf 及
jfbterm+ucimf 需要 root setuid 以註冊新的鍵盤熱鍵。新版的 FbTerm 增加透過 setcap
'cap_sys_tty_config+ep' [4]的方式來允許普通用戶的鍵盤註冊,我這裡也一直嘗試用 chmod, chown,
的方式來避過。不過在這次的安裝方式中,似乎還存在著這個未根絕的問題。
這的確帶給許多普通用戶在安裝使用上的疑慮與困擾。感謝你的建議。我們一定會盡全力克服這個權限問題的!
[4]. http://code.google.com/p/fbterm/issues/detail?id=8&can=1
>
> 再有,激活输入法后,屏幕上左上角有一个 微型蓝色"口",输入法状态条下方两行也有 微型蓝色"口",输入时覆盖一部分,正常吗?
>
這個目前確實還存在的缺點。主要原因是窗口的邊界程式條件沒設定準確,我會盡快修正它 :-)
> 还有,openvanilla-modules-0.8.0_9 --enable-zh_CN 的输入法好像默认无法切换到,--enable-
> alsa 也无法配置为 disable。
目前的切換方式是 --with-zh_CN 及 --without-asia 可以作到。
不過我想可能很多人也會跟你一樣直覺用 --enable-zh_CN 為主,我盡快加上這個調整的 :-)
我先將這些問題先備註進網頁裡[1][2][3],盡快一步一步修正它。希望可以再提出更方便的新版本。
非常感謝你的回報與建議及你提供的 script tips。
很抱歉因為程式上的一些缺點,造成許多的問題及不便。
不過,最後太好了! 很高興你可以用了。
UCIMF 會再持續改進努力的。
sincerely, Mat.
[1]. http://code.google.com/p/ucimf/issues/detail?id=49
[2]. http://code.google.com/p/ucimf/issues/detail?id=50
[3]. http://code.google.com/p/ucimf/issues/detail?id=51
[4]. http://code.google.com/p/fbterm/issues/detail?id=8&can=1
> "Ctrl_Space, Ctrl_Shift,.." 這些鍵是原本 console 下沒有的,因此 fbterm+ucimf 及
> jfbterm+ucimf 需要 root setuid 以註冊新的鍵盤熱鍵。新版的 FbTerm 增加透過 setcap
> 'cap_sys_tty_config+ep' [4]的方式來允許普通用戶的鍵盤註冊,我這裡也一直嘗試用 chmod, chown,
> 的方式來避過。不過在這次的安裝方式中,似乎還存在著這個未根絕的問題。
>
> 這的確帶給許多普通用戶在安裝使用上的疑慮與困擾。感謝你的建議。我們一定會盡全力克服這個權限問題的!
>
> [4].http://code.google.com/p/fbterm/issues/detail?id=8&can=1
这个是不是和
loadkeys /lib/kbd/keymaps/i386/dvorak/dvorak.map.gz
loadkeys /lib/kbd/keymaps/i386/qwerty/defkeymap.map.gz
类似。
这个工作 setkeycodes 是否可以完成,如果对其他程序没影响,可以考虑用开机的 rc.local 脚本做统一设置,则普通用户不用关心发
生什么。
loadkeys setkeycodes showkey 均来自 kbd 软件包。
> > 再有,激活输入法后,屏幕上左上角有一个 微型蓝色"口",输入法状态条下方两行也有 微型蓝色"口",输入时覆盖一部分,正常吗?
>
> 這個目前確實還存在的缺點。主要原因是窗口的邊界程式條件沒設定準確,我會盡快修正它 :-)
zhcon 在这方面做的可能要好些,可惜已停止维护,您可以参考一下其实现。
gcc-4.3.x 下手工安装 zhcon
#----------------------------
wget -c http://prdownloads.dl.sourceforge.net/sourceforge/zhcon/zhcon-0.2.5.tar.gz
wget -c http://prdownloads.dl.sourceforge.net/sourceforge/zhcon/zhcon-0.2.5-to-0.2.6.diff.gz
tar -xvf zhcon-0.2.5.tar.gz
zcat zhcon-0.2.5-to-0.2.6.diff.gz | patch -p0
cd zhcon-0.2.5
echo "#include <string.h>" >> src/display/fblinear4.h
echo "#include <string.h>" >> src/display/fblinear8.h
echo "#include <string.h>" >> src/basefont.h
echo "#include <stdlib.h>" >> src/graphdev.h
sed -i 's@PREFIX "/etc/zhcon.conf"@"/etc/zhcon.conf"@' src/zhcon.cpp
./configure --prefix=/usr --sysconfdir=/etc
make
make install
#============================
最后非常感谢您的工作。
BTW,ucimf 是否可用于 directfb 环境,其输入输出实现很好,甚至可以在 X sdl 下模拟。
2009/3/31 eric zhao <ericzha...@gmail.com>:
> Dear Mat,
>
>> "Ctrl_Space, Ctrl_Shift,.." 這些鍵是原本 console 下沒有的,因此 fbterm+ucimf 及
>> jfbterm+ucimf 需要 root setuid 以註冊新的鍵盤熱鍵。新版的 FbTerm 增加透過 setcap
>> 'cap_sys_tty_config+ep' [4]的方式來允許普通用戶的鍵盤註冊,我這裡也一直嘗試用 chmod, chown,
>> 的方式來避過。不過在這次的安裝方式中,似乎還存在著這個未根絕的問題。
>>
>> 這的確帶給許多普通用戶在安裝使用上的疑慮與困擾。感謝你的建議。我們一定會盡全力克服這個權限問題的!
>>
>> [4].http://code.google.com/p/fbterm/issues/detail?id=8&can=1
>
> 这个是不是和
> loadkeys /lib/kbd/keymaps/i386/dvorak/dvorak.map.gz
> loadkeys /lib/kbd/keymaps/i386/qwerty/defkeymap.map.gz
> 类似。
> 这个工作 setkeycodes 是否可以完成,如果对其他程序没影响,可以考虑用开机的 rc.local 脚本做统一设置,则普通用户不用关心发
> 生什么。
> loadkeys setkeycodes showkey 均来自 kbd 软件包。
這個部分用 loadkeys 可以達到同樣的功效,不過我不確定各機器上的 keymap 會不會有所區別?不過我剛剛取出來的 dumpkeys
的 diff 如附檔[1],不知道以什麼形式來提供給使用者為好?
setkeycodes 主要是設定 scancode <--> keycode 的對映,和 keycode <--> key event
buffer 的 keymaps 不太一樣,所以 setkeycodes 沒辦法解決這個問題,可惜。
[1]. attachment://diff.keys
>
>
>> > 再有,激活输入法后,屏幕上左上角有一个 微型蓝色"口",输入法状态条下方两行也有 微型蓝色"口",输入时覆盖一部分,正常吗?
>>
>> 這個目前確實還存在的缺點。主要原因是窗口的邊界程式條件沒設定準確,我會盡快修正它 :-)
>
> zhcon 在这方面做的可能要好些,可惜已停止维护,您可以参考一下其实现。
zhcon 的程式碼,真的提供我很大的靈感與幫助,謝謝你 :-)
>
> gcc-4.3.x 下手工安装 zhcon
> #----------------------------
> wget -c http://prdownloads.dl.sourceforge.net/sourceforge/zhcon/zhcon-0.2.5.tar.gz
> wget -c http://prdownloads.dl.sourceforge.net/sourceforge/zhcon/zhcon-0.2.5-to-0.2.6.diff.gz
>
> tar -xvf zhcon-0.2.5.tar.gz
> zcat zhcon-0.2.5-to-0.2.6.diff.gz | patch -p0
>
> cd zhcon-0.2.5
>
> echo "#include <string.h>" >> src/display/fblinear4.h
> echo "#include <string.h>" >> src/display/fblinear8.h
> echo "#include <string.h>" >> src/basefont.h
> echo "#include <stdlib.h>" >> src/graphdev.h
> sed -i 's@PREFIX "/etc/zhcon.conf"@"/etc/zhcon.conf"@' src/zhcon.cpp
>
> ./configure --prefix=/usr --sysconfdir=/etc
> make
> make install
> #============================
>
> 最后非常感谢您的工作。
不客氣,非常感謝你的回報,還用心寫了好用的 scripts ,我將前幾封信的 script
稍作點修改,也加進程式工具裡[2],相信對之後許多想嘗試安裝的朋友非常有用!
sincerely, Mat.
[2]. http://ucimf.googlecode.com/svn/scripts/download_build.sh
> >
>
> 這個部分用 loadkeys 可以達到同樣的功效,不過我不確定各機器上的 keymap 會不會有所區別?不過我剛剛取出來的 dumpkeys
> 的 diff 如附檔[1],不知道以什麼形式來提供給使用者為好?
>
> setkeycodes 主要是設定 scancode <--> keycode 的對映,和 keycode <--> key event
> buffer 的 keymaps 不太一樣,所以 setkeycodes 沒辦法解決這個問題,可惜。
>
> [1]. attachment://diff.keys
抽空我试试。
> [2]. http://ucimf.googlecode.com/svn/scripts/download_build.sh
最初给出的东西是 history -w a 并简单编辑的结果,当脚本用有点不合适。
下面这个会稍好些,适当修改下应当也能用于测试 svn 版本。
此外,我執行時,發現 wget -c 似乎還是會重複下載,我再多試其他參數試試,或許是 googlecode 的下載問題。另外
/opt/fbterminal 這個目錄在我的 distro (Gentoo) 需要 > users 的寫入權限,或許可以設定
${HOME}/opt/fbterminal 。
autobuild 的這個 function 很好用,很有彈性。希望我也能盡快將這個用法也優化到其他類似的 scripts 裡。
謝謝你!
sincerely, Mat.
2009/4/3 eric zhao <ericzha...@gmail.com>: