fcitx输入法在wps、wineqq中失灵问题的解决


最近由Mint转到了Open SUSE下,各种折腾。

眼看着已经折腾差不多了,今天又遇到个问题:

在Wineqq以及wps下,fcitx输入法打不开,没法输入中文。

这就非常坑了,这两个软件输入不了中文,基本就相当于没安装。于是乎上网各种查。网上查到的教程上大部分都是说这是因为有几个环境变量没有配置正确造成的。按照网上的方法,分别在~/.bashrc ~/.xprofile /etc/profile 文件中添加了如下代码:

export XIM="fcitx"
export XIM_PROGRAM="fcitx"
export XMODIFIERS="@im=fcitx"
export GTK_IM_MODULE="fcitx"

export QT_IM_MODULE="fcitx"


重启,发现还是不好使。

偶然发现,如果在命令行中运行wps等命令,fcitx就好使。初步怀疑是上面配置的环境变量在双击运行的时候未生效造成的。

写一脚本,测试,代码如下:

#!/usr/bin/sh
export XMODIFIERS="@im=fcitx"
export GTK_IM_MODULE="fcitx"
export QT_IM_MODULE="fcitx"
/usr/bin/wpp
保存为wpp.sh,将桌面上的wps-office-wpp.desktop目标地址改成该脚本之后,运行,好使了。
确定是环境变量的问题了。

接下来,就可以对wps、wineqq做一下小改动。

Wine QQ

wineqq的运行脚本是/opt/longene/tm2013/tm2013.sh (我安装的是tm2013,qq2013同理)。编辑此脚本,在最开始加入

export XMODIFIERS="@im=fcitx"
export GTK_IM_MODULE="fcitx"
export QT_IM_MODULE="fcitx"
保存

WPS

对于wps,双击桌面图标运行的是/usr/bin/wps(wpp,et),所以需要用一个脚本,在执行程序之前,配置一下环境变量。实际脚本跟上面的测试脚本有一点点区别:

#!/usr/bin/sh
export XMODIFIERS="@im=fcitx"
export GTK_IM_MODULE="fcitx"
export QT_IM_MODULE="fcitx"
/usr/bin/wpp $1
之所以将可执行文件后面加了个参数,是因为.desktop文件调用可执行文件的时候会传一个%f参数给可执行文件,我们现在让它传给我们的脚本,再由我们的脚本调用

将调用wps、wpp、et的脚本都写好后,放到/opt/kingsoft/wps-office/office6/目录中,然后分别修改/usr/share/applications/目录中的wps-office-wps.desktop wps-office-wpp.desktop wps-office-et.desktop做如下修改(以wpp为例,其余类似):

#!/usr/bin/env xdg-open
[Desktop Entry]
Comment=Use Kingsoft Presentation to edit and play presentations.
Comment[zh_CN]=使用 WPS 演示编辑、播放演示文稿
#Exec=/usr/bin/wpp %f
Exec=/opt/kingsoft/wps-office/office6/wpp.sh %f ####将上一行代码注释掉,增加本行
GenericName=Kingsoft Presentation
GenericName[zh_CN]=WPS 演示
MimeType=application/wps-office.dps;application/wps-office.dpt;application/wps-office.ppt;application/wps-office.pot;application/vnd.ms-powerpoint;application/vnd.mspowerpoint;application/mspowerpoint;application/powerpoint;application/x-mspowerpoint;application/wps-office.pptx;application/wps-office.potx;
Name=Kingsoft Presentation
Name[zh_CN]=WPS 演示
StartupNotify=false
Terminal=false
Type=Application
Categories=Office;Presentation;Qt;
X-DBUS-ServiceName=
X-DBUS-StartupType=
X-KDE-SubstituteUID=false
X-KDE-Username=
Icon=wps-office-wppmain
InitialPreference=3
运行wps,成功

虽然问题是解决了,但现在还是有几个问题,求高手指点:

  1. 在.desktop脚本中 %f 参数是什么意思
  2. 为什么在相应文件中配置了环境变量,在终端之外却不好使?
优质内容筛选与推荐>>
1、【Leetcode】最长回文子串
2、如何在SQL Server 2005中修复损坏的数据库
3、[转帖]SSH命令总结
4、结果提前、自我退后,锁定目标、专注重复
5、20135310陈巧然 20135305姚歌 实验四:外设驱动程序设计


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号