Linux下Telegram的中文输入问题

五 24 2015 Published by under Linux/Ubuntu

update: 2015-08-17

Telegram更新到版本 0.8.51,解决了Fcitx和IBus输入问题,以下内容作废。

--------------------------------------------------------------------

 

Telegram使用了QT5,而作者未链接platforminputcontexts库,因此无法使用输入法。

根据最新回复,先编译libfcitxplatforminputcontextplugin再编译Telegram应该可以解决fcitx输入问题(我也尝试过编译但没成功),目前作者没有回应。

Arch用户AUR能解决问题。

那么在问题解决之前只能通过一些间接方式使用Telegram(gedit复制粘贴就算了):

 

1,参照MC中输入中文的解决方法:

安装xclip和xdotool,

#!/bin/bash
gdialog --inputbox ' ' 2>&1 | xclip -i -selection clipboard
xdotool key "ctrl+v"
sleep 0.1
xdotool key Return

将这些代码绑定到某个快捷键,在Telegram界面按下快捷键会弹出一个对话框,输入文字后回车,会自动将内容复制到Telegram会回车回复(如果使用的是默认的回车回复的话)。

KDE用户将第二行替换成

kdialog --inputbox ' ' | xclip -i -selection clipboard

我目前使用的是这种方案,虽然弹出对话框会有一定时延。

Awesome用户:

    if c.class and c.class:match('Telegram') then
        local keys = c:keys()
        local mykey = awful.key({}, 'Tab', function(c)
            awful.util.spawn_with_shell("gdialog --inputbox ' ' 2>&1 | xclip -i -selection clipboard && sleep 0.1 && xdotool key ctrl+v && xdotool key Return")
        end)
        keys = awful.util.table.join(keys, mykey)
        c:keys(keys)
    elseif c.name == 'Add a new entry' then
        awful.util.spawn_with_shell('sleep 0.05 && fcitx-remote -T', false)
    end

详细内容可参考Nyaa Wiki依云

 

2,使用Cutegram:

虽然Cutegram也无法直接输入中文,但是因为不像Telegram那样直接编译成二进制文件,因此我们只需要将相应的库文件添加到Cutegram目录就能正常使用。

(我使用的是fcitx,就以fcitx为例吧)首先安装fcitx-frontend-qt5,那么在/usr/lib/i386-linux-gnu/qt5/plugins/platforminputcontexts/(32位)或usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/(64位)目录下会有个libfcitxplatforminputcontextplugin.so(还有个libibusplatforminputcontextplugin.so,应该是给ibus用的,我没测试,都复制过来吧)文件,将其复制到/opt/cutegram/qtplugins/platforminputcontexts目录下(创建软链接会更好),重启Cutegram就可以使用输入法了。

Cutegram使用起来会有各种小问题,偶尔会崩溃。

详细内容参考薄荷

3,剩下的就是:

本文链接地址: Linux下Telegram的中文输入问题



2 responses so far

发表评论