写于:2014-01-08		最近一次更新:2017-02-20

Trouble:

Slackware安装中文输入法,中文输入法异常,中文输入法不起作用,无法进行输入法切换,只能打英文 [ 注意:Slackware14.2 ISO 镜像中自带的SCIM有问题,启用输入法后无法输入数字, 需要 slackpkg upgrade scim 升级到最新版本的SCIM并重启电脑后解决 ]

Oneway:

Slackware默认自带的scim输入法早期是由中国清华大学的一名学生发起并维护的。 使用full模式安装的Slackware在输入法这一环节上,问题经常出在调用智能拼音输入法无反应, 常见原因有 2 种, 一是未设置本土语系为中文环境, 二是未赋予/etc/profile.d/scim.sh或csh可执行权限,系统启动时scim.sh文件内的环境变量没有生效。 针对语系问题解决办法是在/etc/profile.d/lang.sh中设置LC_CTYPE为zh_CN.UTF-8,并source这个sh文件使其生效; 针对权限问题,执行chmod +x /etc/profile.d/scim.*sh即可。 然后对SCIM进行设置(一般激活智能拼音引擎,其他引擎禁用), 注销桌面环境再登录(或重启电脑)就可以正常使用了。 下面是具体步骤:

Details:

对于下面各命令的具体用法现在不必知道,本站后面的文章会详细介绍, 在这里只要原封不动的复制粘贴到Terminal命令终端中执行就可以了 (前4个步骤需要root权限,用root帐户登录系统即可) 第一步,设置语系 点击桌面左上角Menu菜单,点击Terminal Emulator,在打开的Terminal里粘贴输入下面这 2 条命令 sed -i '19a\export LC_CTYPE=zh_CN.UTF-8' /etc/profile.d/lang.sh source /etc/profile.d/lang.sh 第一条命令的意思是在/etc/profile.d/lang.sh文件的第19行的后面加入 export LC_CTYPE=zh_CN.UTF-8 这一行 第二条命令的作用是使改动立即生效 注意:.UTF-8不能写作.utf8和.utf-8等其他形式,否则会导致scim使用异常。 第二步,删除用不上的输入法,只保留智能拼音, 在Terminal里粘贴输入下面这 3 条命令 removepkg scim-anthy 删除日语输入法 removepkg scim-hangul 删除韩语输入法 removepkg scim-tables 删除码表 第三步,配置SCIM 首先,对组合键进行清理,避免过多的组合键对其他程序的快捷键造成冲突 在Terminal里粘贴输入下面这一条长命令 sed -i '/Hotkeys/ {s/^/#&/};14a\ /Hotkeys/FrontEnd/Trigger = Control+space\ /Hotkeys/FrontEnd/Off = Escape+KeyRelease ' /etc/scim/config 这条长命令的效果有两个,效果一是将/etc/scim/config文件中包含Hotkeys的行全部注释掉, 效果二是在/etc/scim/config文件中加入下面这两行 /Hotkeys/FrontEnd/Trigger = Control+space /Hotkeys/FrontEnd/Off = Escape+KeyRelease 这两行中的第一行是设置输入法开关的快捷键 第二行是 为vim专门设置的 ,作用是当按Esc键退到vim的普通模式时关闭输入法, 以便无障碍操作vim的快捷键 第四步,最重要的一个步骤,赋予/etc/profile.d/scim.sh可执行权限 在Terminal里输入下面这条命令 chmod +x /etc/profile.d/scim.sh [拓展:其他Linux发行版在使用SCIM时,遇到在某个程序里无法正常使用SCIM进行输入时, 可以参考scim.sh文件里的内容解决问题,scim.sh文件内容贴在文章末尾处] 第五步,选择输入法引擎 在Terminal里输入命令 scim-setup,会弹出配置界面 点击 IMEngine 中的 Global Setup, 接着点击 DisableAll,然后向下拉滚动条,找到 Chinese(simplified), 点开,只选中 智能拼音,点击Apply 点击 IMEngine 中的 Smart Pinyin, 进入input, 调整Smart match level为100,将智能匹配能力调到最高 调整Dynamic sensitivity为16,将智能调整常用词组的能力调到最高 进入Keyboard, 只保留PageUp的快捷键为Page_Up 只保留PageDown的快捷键为Page_Down 删除这里其它的所有组合键, 点击Apply 点击 Panel 中的 GTK,将Toolbar的Show选项设置为Never 然后,点击OK,退出配置界面 第六步,重启系统 (按下组合键Ctrl + space,即可激活智能拼音;注意,智能拼音激活后, 若遇到只能输入英文,不能输入中文的情况,按Shift键切换中英文状态即可) 到此,scim输入法就可以使用了 scim.sh文件原始内容如下: #!/bin/sh # SCIM (Smart Common Input Method platform). This is used to support the # entering of text in non-US-English languages. # For SCIM to work, you need to use a UTF-8 locale. Make sure it ends on # ".UTF-8", not "utf-8"! As an example, you would need to use en_US.UTF-8 # for a US locale (export LANG=en_US.UTF-8), not en_US. # # The locale (LANG variable) is set in /etc/profile.d/lang.sh. if [ -x /usr/bin/scim ]; then # Enable legacy X applications to use scim: export XMODIFIERS="@im=SCIM" # Let GTK applications like Firefox/Thunderbird use scim as # default immodule: export GTK_IM_MODULE="scim" # Enable Qt/KDE applications to use scim: export QT_IM_MODULE="scim" # Make scim start automatically if the "magic key" Ctrl-Space is pressed: export XIM_PROGRAM="/usr/bin/scim -d" fi # This ensures scim starts when you logon. # This will only work if you login through runlevel 4 (graphical login)!!! # Better is to have it start through Ctrl-Space like configured higher up ^^. #if [ ! `ls /tmp/scim-socket*` ]; then # /usr/bin/scim -d #fi