尝鲜可能比 sunpinyin 好一点的新拼音输入法

大概很多人还不知道,在老K同学偷偷默默开发了很久后,新一代的 fcitx5 已经“能用”了。不过因为还处在早期开发阶段,现在只有拼音输入法能用,而且输入界面极挫,没有配置界面和任何命令行帮助信息等。

先来一段 demo:

下面简单介绍一下 Arch 里的安装及配置方法:

首先从 AUR 中安装相关的软件包:

yaourt -S fcitx5-git fcitx5-qt-git fcitx5-gtk-git fcitx5-chinese-addons-git

依赖中其他的相关包会被 yaourt 自动安装。如果你更喜欢手动安装,可以参考下面的顺序:

xcb-imdkit-git -> fcitx5-git -> libime-git -> fcitx5-chinese-addons-git -> fcitx5-gtk-git -> fcitx5-qt-git

注意原来的 fcitx 和这系列软件包冲突,可能会被提示卸载。

Continue reading 尝鲜可能比 sunpinyin 好一点的新拼音输入法

搜狗拼音 for Linux 新版发布

官网地址:
http://pinyin.sogou.com/linux/

本猫折腾了一下, 做了一个 PKGBUILD, Hack 了一下 curl 版本的问题, 目前自己测试可以用哈~
snapshot66

坑爹之处在于, 这次放出的版本必须用内置的 qimpanel 界面! 也就是说, 经典 UI 和 kimpanel (包括 gnome-shell 那个 kimpanel 插件之类的) 都不能用, 否则你会看到一条超坑的提示:

“请启用fcitx-qimpanel面板程序,以便更好的享受搜狗输入法!”

做好的包和完整的 src 包下载: http://pkgbuild.com/~fyan/staging/fcitx-sogoupinyin/

PKGBUILD: (偷懒的猫只做了 x86_64 的)

# Maintainer: Jove Yu <yushijun110[at]gmail.com>
# Contributor: csslayer <wengxt[at]gmail.com>

pkgname=fcitx-sogoupinyin
pkgver=1.0.0.0011
pkgrel=1
pkgdesc="Sogou Pinyin for Linux"
arch=('x86_64')
url="http://code.google.com/p/fcitx"
license=('custom')
depends=('fcitx')
source=("http://ime.sogou.com/dl/1397738329/sogou_pinyin_linux_${pkgver}_amd64.deb"
        fcitx-qimpanel
        libcurl.so.4)

if [ "${CARCH}" = "i686" ]; then
    _LIB_DIR=i386-linux-gnu
else
    _LIB_DIR=x86_64-linux-gnu
fi

package(){
  bsdtar -xf data.tar.xz -C "${pkgdir}"

  mv "$pkgdir"/usr/lib/{$_LIB_DIR/,}fcitx
  rmdir "$pkgdir/usr/lib/${_LIB_DIR}"
  
  # Workaround curl problem - install an old version and use LD_LIBRARY_PATH to use it
  mv "$pkgdir"/usr/bin/fcitx-qimpanel{,.real}
  install -Dm755 fcitx-qimpanel "$pkgdir/usr/bin/"
  install -Dm644 libcurl.so.4 "$pkgdir/usr/share/fcitx-sogoupinyin/"

  rm -r "$pkgdir"/etc/apt
  rm -r "$pkgdir"/usr/share/{keyrings,upstart}
}

sha512sums=('9ac4d67aa2dea979d39cd5d13965c5ca103a6f52b4e7db53d1d9402efec0641aaf30ebc64d99a690692d45d4b6ebb742da56cb0d175eb36d194b1d45ed11e53f'
            '4d49b346cd1fb1279865b1c6df774ad393816f709c91c80702adce6926d32a45641d26943597d152a5c7b57dd4c2e23799e005cc1d959645025218a5ce5bfd41'
            '8b64e7489443d59a6ceebc7cf66697c16826502f0bb4f64c5c1a475ffc45cf000794339d95acdada849e85bc99183112a6887525aa00a13c1234d0dc7fa676dc')

其中那个 libcurl.so.4 是从一个很老版本的 curl 包里提出来的.

workaround curl 用的那个启动脚本:
/usr/bin/fcitx-qimpanel

#!/bin/sh
LD_LIBRARY_PATH="/usr/share/fcitx-sogoupinyin:$LD_LIBRARY_PATH" /usr/bin/fcitx-qimpanel.real "$@"

使用方法:
重载 fcitx, 开启 qimpanel:

fcitx -r --enable fcitx-qimpanel

然后启动 fcitx-qimpanel:

fcitx-qimpanel

然后切换到搜狗拼音输入法, 可以开始玩了!

[Arch] 今日更新的 fcitx(-gtk2) 在 gtk2 应用中无法使用问题的解决与启示

今日更新了 fcitx, 许多用户反馈在部分应用程序中无法激活/使用, 虽然这类问题已经并不新鲜, 但是我觉得还是有必要说明一下.

首先, 这个问题从根本上是pacman的错(升级顺序混乱).

升级的时候你应该看到 fcitx-gtk2/fcitx-gtk3 的 installing 后面跟着个 error, 那就是因为, 存在下面的依赖链(以 fcitx-gtk2 为例):

fcitx-gtk2 -> gtk2 -> pango -> harfbuzz -> icu

最后的两个都在升级列表里, 而按照逻辑, fcitx-gtk2 需要在他们之后升级才是正常的, 但是 pacman 没有考虑这个问题(依赖链中间有两个未参与此次升级的包).

我今天中午收到反馈就 bump 了版本(在基友 yuyichao 的建议下更新了 fcitx-gtk2.install, 简单的 hack 了一下使得以后类似情况时不出现此问题), 现在你看到(或者装了)的应该是 -3 结尾的版本号. 但是即使升级后, 所有使用 gtk2 相关库的应用程序仍需重启才能生效.

因为类似情况并不是第一次出现了(以前有数次大规模 rebuild 后某些包不正常的情况), 基本上如果你在升级过程中看到有库链接错误/segfault/参数错误之类的提示, 在此次升级指令完成后把这些出错的包重新安装, 如果还有错, 继续安装有错的包直到没有错为止. 这样基本上可以解决大部分的此类问题.

另附此次我机子上 fcitx-gtk* 升级出错的 log 以便大家参考前文的分析 (无关包已去掉)

[2012-11-17 10:58] upgraded icu (49.1.2-2 -> 50.1-2)
[2012-11-17 10:58] upgraded fcitx (4.2.6.1-1 -> 4.2.6.1-2)
[2012-11-17 10:58] usr/bin/gtk-query-immodules-2.0: error while loading shared libraries: libicule.so.49: cannot open shared object file: No such file or directory
[2012-11-17 10:58] upgraded fcitx-gtk2 (4.2.6.1-1 -> 4.2.6.1-2)
[2012-11-17 10:58] usr/bin/gtk-query-immodules-3.0: error while loading shared libraries: libicule.so.49: cannot open shared object file: No such file or directory
[2012-11-17 10:58] upgraded fcitx-gtk3 (4.2.6.1-1 -> 4.2.6.1-2)
[2012-11-17 10:58] upgraded qt (4.8.3-5 -> 4.8.3-6)
[2012-11-17 10:58] upgraded fcitx-qt (4.2.6.1-1 -> 4.2.6.1-2)
[2012-11-17 10:58] upgraded harfbuzz (0.9.5-1 -> 0.9.5-2)
QR Code Business Card