Mendeley Fcitx Problem

There are two problems when using mendeley in linux:

  1. Can not use fcitx input method(but ibus works well)
  2. Can not open pdf file externally

Here is my working environment:

  1. Manjaro(based on arch)
  2. KDE plasma
  3. menedelay install from AUR(version: 1.17.11/1.17.12)

So what is cause of such two problems? This should be blamed on built-in qt5, it missing a qt fcitx plugin named libfcitxplatforminputcontextplugin.so under the directory mendeleydesktop/lib/mendeleydesktop/plugins/platforminputcontexts/.

So, is there any way to solve it? Of course, there are two ways.

1. Way One

One way is to use system’s qt envrionment instead of private:

$ export LD_LIBRARY_PATH=/usr/lib   #/usr/lib contains system's qt5 libraries
$ /opt/mendeleydesktop/lib/mendeleydesktop/libexec/mendeleydesktop.x86_64

If some error remind you that the system’s qt lack of some necessary module, just find the package name and install it.

The menedeley works well expect connecting to the network, it means that it is not the perfect way to solve the problem, here is the solution:

# Exchange the qt directory of mendeley
$ cd /opt/mendeleydesktop/lib
$ sudo mv qt qt_bk
# You should make sure the system's qt library under this directory
$ sudo ln -s /usr/lib qt
# copy fcitx library plugin
# Of course, you should check system's libfcitxplatforminputcontextplugin.so directory
$ cd /opt/mendeleydesktop/lib/mendeleydesktop/plugins/platforminputcontexts
$ sudo ln -s /usr/lib/qt/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so

And you could startup mendeley in normal way. And the two problems above have been solved[and become faster than before].

2. Way two

Another way is to compile libfcitxplatforminputcontexplugin.so under qt5.5, and then put it under proper directory. Of course, it is a troublesome method.

2.1 Build qt5.5

First you should download the qt source from here and then decompress it:

Download Address: QT 5.5.1 source

And Then comfigure and compile it

$ sudo mkdir /opt/qt5.5.1
$ cd ./qt-everywhere-opensource-src-5.5.1
$ ./configure --prefix=/opt/qt5.5.1 -no-openssl
# this would make compile faster, the number follow "j" depend on the number of core.
$ make -j4
$ sudo make install

And Then you would find that qt have been installed under /opt/qt5.5.1 directory.

2.2 Build fcitx-qt5

The next step is to build fcitx-qt5, which provides libfcitxplatformminputcontextplugin.so. The fcitx-qt5 source could clone from github.Here are the detailed process:

$ git clone https://github.com/fcitx/fcitx-qt5.git
$ cd fcitx-qt5
# Specify the qmake path of qt5.5.1
$ export PATH="/opt/qt5.5.1/bin/:$PATH"
$ cmake ./
$ make

And then you would find the so file under fctix-qt5/platforminputcontext,just copy it to corresponding directory of mendeley.

$ cp libfcitxplatformminputcontextplugin.so /opt/mendeleydesktop/lib/mendeleydesktop/plugins/platforminputcontexts

2.3 Quick way

Here I would provide the libfcitxplatformminputcontextplugin.so which compiles with qt5.5.1/x86_64, just copy it!

DownLoad Address: libfcitxplatformminputcontextplugin.so

Of course, it can not solve the problem 2 that opening pdf file externally failed. However if you do not have the problem, it is the best and fast way.

此条目发表在LINUX, 软件安装分类目录,贴了标签。将固定链接加入收藏夹。

4 则回应给 Mendeley Fcitx Problem

  1. fef说: 2017年10月25日 上午8:04
    Firefox 56 Firefox 56 Ubuntu Ubuntu

    Hello,

    I found this article to be only useful one online about Mendeley. But, I use Ubuntu and wasn’t able to build PyQt5.5.1. Can you please help me the steps?

    • yinflying说: 2017年10月26日 上午11:35
      Firefox 55 Firefox 55 GNU/Linux GNU/Linux

      I dont know what happened to you ? Why should you build pyqt? I am sorry for my muddy thinking of the relationship between pyqt,ubuntu and mendeley…

  2. 匿名说: 2017年11月9日 上午1:03
    Vivaldi 1 Vivaldi 1 GNU/Linux GNU/Linux

    I had same input problem too, but solved with the way one.
    thanks!

  3. FindHao说: 2017年11月21日 下午4:05
    Google Chrome 62 Google Chrome 62 GNU/Linux GNU/Linux

    Debian 9 qt5.7
    无法使用系统的lib,博主提供的lib也无法使用。不准备手动编译,防止系统的qt被搞乱。。
    已经提交ticket给mendelay,希望他们能看到这个问题。。。

发表评论

电子邮件地址不会被公开。