博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
fcitx输入法在wps、wineqq中失灵问题的解决
阅读量:6570 次
发布时间:2019-06-24

本文共 2281 字,大约阅读时间需要 7 分钟。

最近由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. 为什么在相应文件中配置了环境变量,在终端之外却不好使?

转载于:https://www.cnblogs.com/wanghaitao/p/9440376.html

你可能感兴趣的文章
[Usaco2005 Open]Disease Manangement 疾病管理 BZOJ1688
查看>>
【Android视图效果】分组列表实现吸顶效果
查看>>
title: postGreSQL 插件 timescaleDB 安装使用 date: 2019-02-14 18:02:23
查看>>
并发容器与框架——并发容器(一)
查看>>
网络编程socket
查看>>
学界 | 伯克利最新研究:用算法解决算法偏差?公平机器学习的延迟影响
查看>>
多文件上传示例源码(默认支持各种类型,包括图片)
查看>>
JS 中如何判断 undefined 和 null
查看>>
9.2. CentOS 区域设置
查看>>
命令行基本操作学习笔记(一)
查看>>
「试着读读 Vue 源代码」工程目录及本地运行(断点调试)
查看>>
Oracle——16用户、角色和权限
查看>>
获得系统属性
查看>>
从0实现NavigationController
查看>>
A Visual Git Reference
查看>>
Tomcat 关于表单提交数据量过大导致数据丢失的问题
查看>>
gitlab hook declined错误
查看>>
金融数据库
查看>>
翻了100个程序员的朋友圈, 发现个个都是套路王
查看>>
取消从上一界面push过来后,左上角的back按钮
查看>>